Bagaimana cara menghentikan layar dari blanking / blacking out?

13

Saya telah menginstal ulang Debian 7 (Wheezy) setelah beberapa saat. Untuk pertama kalinya, saya menggunakan driver Nvidia bebas-terbuka (bukan nouveau) dan vesafb untuk konsol virtual.

Selama hidup saya, saya tidak bisa menghentikan pengosongan layar. Tidak ada screensaver, tidak ada, hanya kosong, hanya setelah beberapa menit tidak aktif. Ini bukan hanya selama VLC (yang memiliki masalah seperti itu di masa lalu) tetapi selama apa pun.

Untuk membuatnya lebih buruk, itu tampaknya terjadi secara acak. Terkadang layar tidak akan kosong selama berjam-jam, dan terkadang akan kosong.

Langkah-langkah yang telah saya ambil sejauh ini:

  1. Menambahkan beberapa baris /etc/X11/xorg.confuntuk menghentikan dpms:

    Section "ServerLayout"
         Option         "BlankTime"     "0"
         Option         "StandbyTime"   "0"
         Option         "SuspendTime"   "0"
         Option         "OffTime"       "0"
         ...
    Section "Monitor"
      ...
         Option          "DPMS" "false"
    
  2. Ditambahkan dalam .xinitrcfile saya :

    xset s off         # don't activate screensaver
    xset -dpms         # disable DPMS (Energy Star) features.
    xset s noblank     # don't blank the video device
    
  3. Nonaktifkan SEMUA screensaver dan mode hemat daya di bawah pengaturan KDE.

  4. Menambahkan loop berikut di my /etc/init.d/rc.local:

    for index in $(seq 1 6)
    do
            setterm -blank 0 -powerdown 0 -powersave off > /dev/tty${index}
    done
    
  5. Menambal screensaver xdg saya dengan patch yang saya temukan yang memaksa VLC untuk menelurkan screensaver. (Sejak itu saya berhenti menggunakan VLC dan kembali ke Dragon player.)

Ini berubah menjadi mimpi buruk, dan benar-benar sangat menjengkelkan. Sebelum saya nuke vesafb dan setterm (yang menurut saya bertanggung jawab atas hal ini), saya ingin tahu apakah ada yang pernah mengalami masalah ini, dan bagaimana mereka berhasil menyelesaikannya.

Alex
sumber
Cobalah untuk memindahkan semua file * daya dari ~ / .kde / share / config / dan kemudian aktifkan semua manajemen daya pada semua tab (menerapkannya saat Anda menjalaninya), kemudian nonaktifkan lagi.
kirill-a
1
Untuk mempersempit masalah, jalankan xscreensaver-command -watchdi xterm di suatu tempat. Setelah kejadian kosong yang tidak diinginkan di layar, lihat apakah itu menghasilkan peristiwa BLANK. Jika itu terjadi, maka itu pasti sedang dikosongkan oleh tindakan server X. Jika tidak, ini lebih rendah di tumpukan dan Anda dapat fokus pada driver video.
aecolley
@ aecolley terima kasih atas saran Anda. Tidak ada output di terminal setelah layar kosong yang tidak diinginkan. Saya menjalankan driver video berpemilik nvidia, saya tidak melihat pengaturan tentang penghematan daya pada alat pengaturan grafis. By the way, pengosongan terjadi ketika hanya ada sekelompok jendela browser dan Mendeley terbuka, bukan VLC.
rumtscho
Lihat pembaruan saya: unix.stackexchange.com/a/440648/3285
Evan Carroll

Jawaban:

4

DPMS bisa sangat tahan!

Coba perintah ini:

xset dpms 0 0 0 && xset s noblank  && xset s off

Jika berhasil, tambahkan ke file autostart apa pun yang digunakan KDE.

Omong-omong, VLC memiliki opsi Preferensi >> Video >> Nonaktifkan screensaver . Jika opsi itu dicentang, layar tidak akan kosong saat VLC memutar video tetapi DPMS akan dihidupkan sesudahnya (terlepas dari apakah itu diaktifkan sebelum memulai VLC). Karena itu biarkan opsi itu tidak dicentang, dan VLC seharusnya tidak menyebabkan masalah dengan pengosongan.

MajorBriggs
sumber
Saya tidak yakin ini menyelesaikan seluruh masalah (layar saya kosong pada interval yang tidak teratur, jadi saya harus membiarkan komputer saya tidak tersentuh selama 2 jam per tes). Tetapi bagian tentang VLC menyalakan DPMS dengan sendirinya adalah petunjuk yang sangat menarik, jadi saya memutuskan untuk memberi Anda hadiah.
rumtscho
1
Pastikan untuk memberi tahu kami jika ternyata gigih. Saya menggunakan Debian dengan openbox, dan ini adalah satu-satunya cara saya berhasil mendapatkan DPMS dari punggungku. Btw DPMS hanya aktif ketika tidak ada screensaver lain yang diinstal, jadi jika semuanya gagal, Anda dapat mencoba (kembali) menginstal xscreensaver dan mengonfigurasinya untuk menonaktifkan blanking.
MajorBriggs
@MajorBriggs: Saya juga menggunakan Debian dengan Openbox. Apakah Anda merekomendasikan untuk menambahkan baris ini ke ~ / .xinitrc sebelumnya exec openbox-session? Terima kasih.
user001
Saya baru saja menambahkan perintah ke autostart Openbox: ~/.config/openbox/autostart.shdan itu berfungsi dengan baik.
MajorBriggs
Untuk LXDE, saya menambahkan perintah ini di~/.config/lxsession/LXDE/autostart
Monica For CEO
1

Coba jalankan skrip ini heartbeat.shyang akan mengatur ulang waktu idle X setiap 55sec.

#!/bin/bash

while sleep 55
do
    #xscreensaver-command -deactivate
    #xdg-screensaver reset
    xset s reset
done
user.dz
sumber
1

Saya memposting jawaban, karena saya agak berhasil menyelesaikan masalah ini. Saya katakan agak karena saya masih punya masalah.

Wheezy tampaknya memiliki kebutuhan untuk menggunakan screensaver. Saya menonaktifkan semua opsi yang dapat saya temukan, bahkan menambal xscreensaver, tetapi tidak berhasil. Perbaikan di atas saya coba dalam pertanyaan saya, kadang-kadang menghasilkan masalah ketika saya masuk, beberapa kali tidak!

Namun apa yang tampaknya telah menyelesaikan masalah ini adalah dua hal:

  1. Saya berhenti menggunakan VLC. Saya menyukainya, menggunakannya selama bertahun-tahun, tetapi pelakunya yang memunculkan sesi xscreensaver tersebut. Saya sekarang menggunakan dragon-player, dan saya bisa menonton video tanpa xscreensaver datang.

  2. Saya memaksa KDE untuk menggunakan screen saver yang saya pilih. Ini kadang-kadang tampaknya menggantikan xscreensaver default .

Terkadang layar menjadi kosong sendiri, tanpa menampilkan screensaver yang saya pilih. Ini bukan monitor saya (saya menggunakan pengaturan ganda sehingga akan aneh bagi keduanya untuk mematikan). Ini tampaknya acak, karena kadang-kadang layar menyala selama berjam-jam tanpa mematikan.

Saya bahkan mencoba menambal xscreensaver, tetapi tidak ada yang berhasil. Saya harap ini diperbaiki di Debian stabil berikutnya.

Alex
sumber
1

Untuk mereproduksi masalah ini, kita perlu tahu apa xdg-screensaveryang dilakukan.

Mendapatkan id jendela root

  1. Perbarui xdg-screensaverlagi.
  2. Buka terminal
  3. Lari xwininfo -root
  4. Salin id jendela, dalam hal ini 0x131

    xwininfo: Window id: 0x131 (the root window) (has no name)
    

Menonaktifkan screen saver

Sekarang jalankan

    xdg-screensaver suspend <window id>

Anda dapat mengonfirmasi bahwa berhasil dengan menjalankan xdg-screensaver status

Renable

Untuk menjalankan runable

    xdg-screensaver resume <window id>

Anda dapat mengonfirmasi bahwa berhasil dengan menjalankan xdg-screensaver status

Apakah screen saver kosong / padam saat Anda suspend(menghambat) screen saver? Jika demikian, itu adalah bug xdg-screensaver.

Catatan lain

Jika Anda ingin mematikan DPMS, meskipun saya tidak akan pernah melakukan ini - kecuali monitor gagal membangunkan sesuatu yang tidak menentu dengan hardward - Anda hanya dapat menjalankan

xset -dpms;

Itu akan menghentikannya dari kekosongan dengan power-down. Secara umum Anda tidak ingin menonaktifkan blanking (membersihkan layar) atau menonaktifkan manajemen daya. Anda ingin mengetahui apa yang menyebabkannya kosong atau mati saat Anda tidak menginginkannya, dan Anda ingin memperbaikinya.

Evan Carroll
sumber
0

Bagian tersebut harus "ServerFlags", bukan "ServerLayout".

Section "ServerFlags"
     Option         "BlankTime"     "0"
     Option         "StandbyTime"   "0"
     Option         "SuspendTime"   "0"
     Option         "OffTime"       "0"
     ...

Informasi lebih lanjut dapat ditemukan di File Konfigurasi untuk Xorg

chelahmy
sumber