Sementara memiliki dua atau lebih monitor yang bekerja bersama-sama, Apakah ada cara untuk menempatkan satu pun dari mereka pada standby / suspend dengan mengeluarkan perintah seperti: xset dpms force suspend
? atau memiliki waktu yang ditetapkan untuk tujuan itu seperti: xset dpms 100 0 0
yang bekerja pada monitor ini secara terpisah?
Saya punya dua monitor yang saling bekerja sama, eDP1 (My Laptop) dan VGA1 (An External monitor).
Saya ingin mereka masing-masing masuk ke mode suspend / standby secara terpisah jika saya tidak berinteraksi langsung dengan mereka, misalkan saya menonton film di VGA1, dan selama satu setengah jam eDP1 tidak melakukan apa-apa.
Saya tidak tertarik menggunakan xrandor --off --output eDP1
karena tidak cukup cepat untuk digunakan.
Saya ingin monitor saya siap bekerja, dengan gerakan mouse sederhana sehingga saya dapat beralih di antara mereka dengan cepat.
- Berjalan: Ubuntu 18.04
- Manajer Jendela: OpenBox
Jawaban:
Mengontrol masing-masing monitor tidak dimungkinkan dengan xset (dan X11 sebenarnya)
Seperti judulnya, tidak mungkin untuk alasan bagaimana
xset
dibangun dan karena fungsi X11 yang digunakannya. Jika kita melihat kode sumber,xset
panggilanDPMSForceLevel(dpy,DPMSModeSuspend)
( jalur 557 ), dan variabel tampilandpy
berasal dariXOpenDisplay()
fungsi ( jalur 203 ), dan itu adalah dengan definisi :Dengan kata lain,
xset
terapkan pengaturan secara global ke seluruh tampilan, bukan Layar individual. Ini perlu untuk mengubahxset
kode sumber agar bisa berfungsi. Ekstensi DPMS sendiri sebagian besar tampaknya hanya memanggil seluruh tampilan, bukan layar individual, sehingga bahkan tidak mungkin untuk menulis kode khusus dengan pustaka X11.Mengontrol pengaturan secara manual melalui
/sys
subsistem juga tampaknya tidak berfungsiLayar juga dikeluarkan dari mode DPMS saat peristiwa tombol atau mouse terjadi, jadi mengingat Anda mungkin ingin menggerakkan mouse atau menggunakan keyboard, salah satu tindakan tersebut akan menyebabkan monitor meninggalkan mode DPMS.
Penanganan alternatif
Alternatif terbaik (dan solusi yang secara fisik berfungsi) adalah
xrandr
- ini dapat digunakan untuk mengontrol "output" individual. Khususnya,akan menonaktifkan output itu. Ya, Anda telah menyebutkan bahwa Anda tidak ingin menggunakan solusi ini karena tidak cukup cepat, namun sejauh ini yang terbaik tersedia. Ini memiliki beberapa keunggulan:
xset
The
xrandr --output VGA-1 --brightness 0.1
akan mewarnai layar sedemikian rupa sehingga muncul off, meskipun--brightness
adalah solusi perangkat lunak, sehingga layar tidak benar-benar redup di tingkat hardware, juga itu adalah dari pada tingkat hardware. Namun, itu berfungsi mengosongkan layar dan juga tahan terhadap peristiwa tombol / mouse.Saya telah melihat kode sumber screensaver Mate dan Budgie, yang keduanya adalah garpu screensaver GNOME, namun dalam kedua kasus mereka tampaknya menjadi solusi perangkat lunak, karena tidak ada penyebutan DPMS dalam kode sumber.
sumber
xrandr --off
untuk sekarangxrandr -off
bahkan mematikan monitor. Mungkin sama denganbrightness
set ke nol? Yang merupakan masalah lain saya memiliki program yang menjalankan 24/7 yang mengatur kecerahan dan gamma secara individual untuk 3 monitor yang bahkan Windows tidak dapat melakukannya. Tidak yakin apakah lampu malam, shift merah atau fluks melakukannya. Pokoknya program-program itu mungkin kacau oleh xrandr. Maaf untuk membajak jawaban Anda dengan berspekulasi :)Selama bertahun-tahun saya memiliki pengaturan laptop saya sehingga ketika tutup laptop ditutup akan ditangguhkan dan monitor eksternal akan kosong.
Untuk alasan Anda ingin menonton video selama 90 menit pada monitor eksternal dan membiarkan layar laptop kosong, saya mengubah tutup tutup opsi menjadi "Do Nothing":
Saya tidak menggunakan DPMS untuk monitor eksternal tetapi Anda dapat memeriksa pengaturan Anda dengan
xset q
perintah:Perhatikan baris-baris ini:
prefer blanking: no
Perhatikan juga baris-baris ini:
DPMS is enabled
mengatur monitorStandby
ketika diinginkan.Semoga pengguna lain telah menggunakan opsi ini dan memposting jawaban terperinci untuk Anda.
sumber
Bagaimana kalau hanya menutup laptop?
Mengapa?
Kedua monitor ini adalah satu area tampilan sehingga mematikan satu akan membuat sejumlah masalah seperti redrawing layar, aplikasi pindah ke monitor utama, ...
(Saya pergi ke jalan itu beberapa tahun yang lalu dan satu-satunya cara yang dapat diandalkan yang saya temukan untuk melakukan apa yang ingin Anda lakukan adalah dengan menekan tombol pada monitor eksternal atau menutup laptop)
Pastikan Anda mengatur pengaturan daya ini dengan
gsettings set
:sumber
Komentar sementara
xrandr
. Pada tes yang lebih lama, ini berhasil dengan sangat buruk. Tidak begitu banyak mematikan gagal, tetapi saat mengaktifkan kembali layar, tata letak layar benar-benar kacau. Saya akan senang mempostingnya untuk melihat apakah itu berfungsi dalam kasus Anda, tetapi saran saya adalah jangan menggunakannya.Dalam skrip, saya kembali ke pengaturan kecerahan ke nol.
Lalu apa yang saya ubah di versi ini?
Waktu idle sekarang ditentukan oleh aktivitas keyboard dan mouse secara default. Bangun juga dilakukan oleh salah satu dari mereka.
Layar aktif tidak aktif redup
Seperti yang dikatakan oleh sesama penjawab saya, mematikan layar dari cli secara terpisah adalah tantangan yang terbaik, dan saya juga tidak menemukan pilihan.
Apa yang saya temukan adalah cara untuk meredupkan semua layar secara otomatis , kecuali di mana mouse berada, setelah x waktu.
Kita mulai
Cara mengatur
Pengaturannya mudah:
Pastikan Anda memiliki kedua
python3-gi
danxprintidle
diinstalSalin skrip di atas ke dalam file kosong, simpan sebagai
dim_inactive
, dan buat agar dapat dieksekusiJalankan dengan perintah:
sebuah contoh:
akan meredupkan semua layar di mana mouse tidak setelah dua menit
Informasi / penjelasan tambahan
sumber
xrandr --off
saya kira.xrandr --off
itulah yang saya lebih suka dalam hal ini. Terutama karena lampu latar VGA tidak dapat dikendalikan oleh perangkat lunak.1
keadaan apa pun. Ketika saya berinteraksi dengan layar eksternal menggunakan keyboard dan saat mouse berada di layar utama, layar eksternal akan hitam setelah waktu idle. Ketika saya tidak memiliki interaksi dengan tampilan utama tetapi mouse ada di sana tidak melakukan apa-apa di sana dan ketika saya memindahkan mouse ke tampilan utama yang lain segera menjadi hitam.