Menonaktifkan konfigurasi ulang monitor saat menutup penutup

8

Saya sering harus memindahkan laptop dari satu tempat kerja ke tempat kerja yang lain. Ketika saya melakukan ini, ada dua peristiwa yang direspons Ubuntu dengan mengubah pengaturan monitor:

  • Melepas / memasang kabel VGA
  • Menutup / membuka tutup laptop

Sambil melepas kabel VGA memberi saya apa yang saya butuhkan (layar tunggal, resolusi asli tertinggi pada layar eksternal jika terhubung; jika tidak, resolusi tertinggi pada laptop), respons tutup tutup laptop tidak sebaik.

Setiap kali saya menutup atau membuka tutupnya, Ubuntu mengkonfigurasi ulang pengaturan monitor. Ketika saya menutup tutupnya sekarang ... layar menjadi gelap selama beberapa detik dan itu beralih ke clone, dengan layar laptop saya dinonaktifkan. Membuka kembali hasil dalam ... sebentar layar hitam, maka monitor eksternal digunakan sebagai ekstensi desktop.

Perbarui: Hal-hal berubah sedikit baru-baru ini, perilaku lebih dapat diprediksi sekarang. Menutup penutup akan beralih ke tampilan tunggal, membuka ke layar ganda (bukan tiruan). Pertanyaan saya masih akurat: lihat di bawah.

Ubuntu berpikir terlalu banyak. Pertanyaan pertama dan terpenting saya: Apakah ada cara untuk membiarkan Ubuntu mengabaikan acara tutup tutup?

Idealnya (atau ketika tidak ada cara untuk menyelesaikan pertanyaan di atas) Saya ingin mengubah cara berurusan dengan konfigurasi ulang layar. Mengapa Ubuntu mengubah konfigurasi layar antara tampilan eksternal, klon dan tunggal? Tidak bisakah saya mengonfigurasinya untuk selalu menggunakan monitor eksternal, jika ada, dalam mode satu layar?

Perhatikan bahwa pertanyaan serupa telah diajukan sebelumnya (terutama yang ini ), tetapi ini telah ditutup mungkin salah.

Ada ide yang disambut, saya tidak keberatan bermain-main sedikit untuk melihat apakah sesuatu berhasil.

Tomas
sumber
Bagi mereka yang masih tertarik, pertanyaan muncul dari orang lain yang memiliki masalah serupa: askubuntu.com/questions/161649/…
Tomas
Saya perhatikan pertanyaan ini masih mendapatkan beberapa pandangan per minggu. Saya telah beralih ke Arch Linux beberapa waktu lalu dan memperhatikan bahwa tutup tutup acara sepenuhnya diabaikan secara default, bahkan layar berkedip pun tidak terlihat. Mungkin kernel Linux yang lebih baru memperbaiki masalah yang dijelaskan dalam pertanyaan ini (kedua lingkungan desktop yang saya gunakan sepenuhnya mengabaikan tutupnya jika saya katakan). Jika demikian, sangat mungkin bahwa rilis Ubuntu yang lebih baru menyertakan / akan menyertakan perbaikan ini.
Tomas

Jawaban:

7

Apakah ada cara untuk membiarkan Ubuntu mengabaikan acara tutup tutup?

Acara tutup dipicu oleh lidbtnfile dalam /etc/acpi/events/, yang berisi dua baris aktif:

event = tombol tutup [/]
action = / etc / acpi / lid.sh - komentar ini dengan # di awal

Anda dapat mengabaikan tutup buka / tutup acara dengan mengomentari baris kedua dengan a #dan kemudian reboot.

Saya ingin mengubah cara menangani konfigurasi ulang layar.

Anda dapat melihat dan mencoba untuk memodifikasi file /etc/acpi/lid.shdan fungsi / perintah referensi itu.

TAPI (CAVEAT BESAR): Jika BIOS laptop Anda menggunakan tutup tutup / buka untuk mengaktifkan / menonaktifkan port video keluar / internal, maka ini berada di luar kekuatan pengendali event OS ACPI.

ish
sumber
Terlihat menarik tetapi mengomentari baris ke-2 tidak menyelesaikan masalah saya. Menyelam ke dalam lid.shfile yang menunjukkan hal itu menangani mematikan layar (perintah seperti xscreensaver-command -unthrottle, xscreensaver-command -deactivate, /usr/share/acpi-support/screenblankdan xset dpms force on). Tidak ada yang disebutkan tentang beralih atau mendeteksi layar (saya mengharapkan xrandratau sesuatu untuk ini). Ada lagi tips?
Tomas
Untuk sementara pindah lidbtndari /etc/acpi/eventske tempat lain, katakanlah ~/. Apakah itu membantu?
ish
Tidak mengubah apa pun, sejauh yang saya tahu ini memiliki efek yang sama persis seperti meninggalkan file di sana. Sudah mencoba me-reboot untuk memastikan perubahan diterapkan, tentu saja.
Tomas
@ Thomas: lihat edit di bagian bawah jawaban.
ish
1
Pada Ubuntu 14.04 saya, saya tidak memiliki lid.shatau lidbtnpada sistem saya (dicari dengan locate) Dapatkah saya membuat salah satu dari ini untuk menambahkan beberapa fungsionalitas (saya ingin menonaktifkan layar sentuh saya pada penutupan tutup laptop )?
rubo77
0

Perilaku ini adalah fitur Gnome, dan dikendalikan oleh pengaturan dconf. Anda dapat mengubahnya melalui dconf-editoratau langsung menggunakan baris perintah:

gsettings set org.gnome.settings-daemon.plugins.xrandr default-monitors-setup <value>

Deskripsi mengatakan sebagai berikut:

Ringkasan: Apakah akan mematikan monitor tertentu setelah boot

'clone' akan menampilkan hal yang sama pada semua monitor, 'dock' akan mematikan monitor internal, 'do-nothing' akan menggunakan perilaku Xorg default (memperpanjang desktop dalam versi terbaru). Defaultnya, 'follow-lid', akan memilih antara 'do-nothing' dan 'dock' tergantung pada apakah tutupnya terbuka atau tertutup.

Jadi, jika Anda hanya ingin menggunakan monitor eksternal ketika terhubung, gunakan docksebagai <value>.

Jika Anda ingin kedua monitor selalu berfungsi, tidak masalah apakah tutupnya tertutup atau tidak, gunakan do-nothing. (Saya sering menutup sungkup sementara agar tidak menyinari kamar saya yang gelap, saya tidak ingin semua jendela berpindah ke monitor eksternal.)

Dan akhirnya, jika Anda ingin menggunakan layar laptop tetapi hanya ketika terbuka, gunakan follow-lid. (Gunakan case: jumlah ruang kosong di meja Anda bervariasi, dan kadang-kadang Anda harus meletakkan laptop di belakang monitor alih-alih di sampingnya.)

EvgEnZh
sumber
0

Tidak bisakah saya mengonfigurasinya untuk selalu menggunakan monitor eksternal, jika ada, dalam mode satu layar?

Saya dapat menjawab bagian ini. Saya menjalankan ubuntu 17.10 di wayland. Di gnome-control-center -> device -> display, Anda dapat memilih single displayhanya dengan yang $external_monitordiaktifkan, lalu klik "terapkan". Itu menghasilkan $HOME/.confg/monitors.xmlfile. File memperbaiki pengaturan tampilan ketika hal yang sama $external_monitorterhubung, dan beralih pada monitor internal setelah terputus. Apa yang lebih baik, Anda dapat menempatkan sama monitors.xmldi /var/lib/gdm3/.config/, dalam kasus hal yang sama berlaku untuk GDM juga.

funicorn
sumber