Bagaimana cara saya menonaktifkan screen saver Linux secara permanen, di seluruh sistem?

42

Saya punya server Ubuntu yang melakukan booting dalam mode teks. Ini jarang memiliki layar atau keyboard yang terpasang padanya, tetapi ketika saya memasang layar, saya biasanya harus memasang keyboard juga, karena screen saver mode konsol darn akan menyala dan saya harus menekan tombol untuk melihat apa yang sedang terjadi.

Saya sadar bahwa perintah setterm dapat menonaktifkan ini, tapi itu per sesi. Bagaimana saya bisa membuatnya sehingga mesin tidak pernah mengosongkan layar dalam mode teks, bahkan ketika pertama kali boot dan duduk di prompt login?

raldi
sumber
Tampaknya dijawab dengan baik di askubuntu: askubuntu.com/questions/138918/…
Roy
Saya menulis dua pendekatan berbeda yang saya perlukan untuk berbagai distribusi RHEL. Salah satunya dapat membantu Anda dengan Ubuntu: superuser.com/a/1004931/197972
David C.

Jawaban:

23

Di Ubuntu 12.10 dan sebelumnya paket konsol-alat memungkinkan opsi konsol dikendalikan.

Untuk mematikan blanking layar dan powerdown, set BLANK_TIMEdan POWERDOWN_TIMEuntuk 0di /etc/console-tools/config. Jika Anda memilih untuk tidak mengubah file konfigurasi, efek yang sama dapat dicapai dengan membuat file baru yang /etc/console-tools/config.dberisi yang berikut:

BLANK_TIME=0
POWERDOWN_TIME=0

Nama file dalam config.d harus seluruhnya terdiri dari huruf besar dan kecil, digit, garis bawah, dan tanda hubung.

Phil Ross
sumber
Bagaimana kamu tahu itu? Saya telah menjelajahi Internet sepanjang pagi mencari dokumentasi untuk / etc / console-tools dan belum dapat menemukannya.
raldi
10
Kata peringatan dengan ini: Saya menginstal konsol-alat di server ubuntu 12.04, melakukan konfigurasi di atas dan benar-benar meminumnya ... Tidak yakin apa yang saya lakukan salah, tetapi jika itu terjadi pada orang lain (dan Anda omong kosong di server seperti saya!), boot ke recovery -> root prompt -> mount -o remount, rw / -> apt-get remove console-tools -> reboot
BaronVonKaneHoffen
Ini tidak ada di ubuntu 18.04 :( - ada alternatif?
Roman Gaufman
17

Atau Anda menggunakan / etc / kbd / config untuk mengatur (tergantung pada sistem Anda, apa yang diinstal)

BLANK_TIME=0
BLANK_DPMS=off
Thomas Creutz
sumber
Apa yang harus saya mulai ulang ketika memiliki perubahan konfigurasi KBD?
Frodik
1
Tampaknya /etc/init.d/kbd reload
Vincent
2
Saya mencoba ini di instalasi baru Ubuntu Server 10.04.4 dan 12.04.1, dan tidak berhasil di salah satu.
Prof. Moriarty
Untuk distribusi apa ini berlaku?
Michael Hampton
Ini berfungsi pada Debian 6 dan 7. File config ini diset BLANK_TIME=30secara default.
basic6
15

Parameter dikontrol melalui baris perintah kernel, menggunakan setterm hanya mengubah pengaturan runtime. Untuk menonaktifkannya dengan lebar sistem, Anda dapat mengubah baris perintah boot kernel dengan menambahkannya dengan "consoleblank = 0" di konfigurasi boot Anda (grub / lilo).

Jika sesuatu selama boot setterm itu maka akan menimpa nilainya.

Matthew Ife
sumber
3
Seperti yang terlihat di superuser.com/questions/152347/… !
codehead
Menggunakan grub2 dapat ditambahkan di / etc / default / grub GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0"dan kemudian memperbarui konfigurasi grub dengan grub[2]-mkconfig -o /boot/grub/grub.cfg. Atau bisa juga tertanam dalam baris perintah kernel built-in sambil mengkonfigurasi dan mengkompilasi kernel secara manual.
user3132194
7

Jika Anda menambahkan settermperintah /etc/rc.local, itu akan berlaku untuk semua konsol virtual, apakah pengguna masuk atau tidak. Misalnya:

setterm -blank 0
James Sneeringer
sumber
Tampaknya tidak benar-benar berfungsi di rc.local.
raldi
Ini bekerja untuk saya di masa lalu pada sistem tipe RedHat. Bisa jadi Debian / Ubuntu memuat rc.localpada waktu yang sedikit berbeda dari RH. Maaf soal itu.
James Sneeringer
Tidak bekerja pada CentOS 6.3. Layar terus kosong setelah 10 menit.
Michael Hampton
1
Saya menemukan bahwa ini bekerja untuk RHEL 5 dan 6 ( /bin/setterm -blank 0 -powerdown 0 -powersave off), tetapi tidak untuk 7. Keberhasilan atau kegagalan mungkin tergantung pada distribusi Anda dan lingkungan konsol pada saat rc.local dijalankan.
David C.
Saya mendapatkan ini <~ $ sudo setterm -blank 0 setterm: terminal xterm-256color tidak mendukung --blank
Roman Gaufman
4

Jika Anda menjalankan Ubuntu yang lebih baru yang menggunakan pemula, Anda dapat menggunakan:

for file in /etc/init/tty*.conf; do tty="/dev/`basename $file .conf`"; echo "post-start exec setterm -blank 0 -powersave off >$tty <$tty" | sudo tee -a "$file"; done

Sedikit penjelasan tentang apa yang terjadi di sini:

Versi Ubuntu yang lebih baru menggunakan pemula untuk startup sistem. Dengan pemula, konsol Linux disiapkan dengan file konfigurasi yang disimpan dalam / etc / init. Perintah di atas dimulai dengan mengulangi masing-masing file konfigurasi:

for file in /etc/init/tty*.conf;

Nama file konfigurasi pemula tty di $ file digunakan untuk membangun nama perangkat tty:

tty="/dev/`basename $file .conf`";

Perintah "pasca-mulai" pemula dibangun yang menjalankan "setterm" untuk menonaktifkan pengosongan layar dan penghematan daya setelah tty dimulai:

echo "post-start exec setterm -blank 0 -powersave off >$tty <$tty"

Dan akhirnya perintah itu ditambahkan ke file konfigurasi pemula:

| sudo tee -a "$file";
Chris Pick
sumber
Jawaban Anda akan jauh lebih baik jika Anda benar-benar menggambarkan apa yang terjadi di sini. Hanya memberikan perintah besar seperti itu tanpa penjelasan tidak terlalu berguna.
Zoredache
@Zoredache Anda benar, saya telah menambahkan penjelasan. Terima kasih untuk umpan baliknya.
Chris Pick
2
daxroc
sumber