Come posso disabilitare permanentemente lo screen saver della console di Linux, a livello di sistema?


42

Ho un server Ubuntu che si avvia in modalità testo. Raramente ha uno schermo o una tastiera collegati, ma quando collego uno schermo, di solito devo collegare anche una tastiera, perché lo screen saver in modalità console dannata sarà attivo e dovrò premere un tasto per vedere cosa c'è sta succedendo.

Sono consapevole che il comando setterm può disabilitare questo, ma è una cosa per sessione. Come posso farlo in modo che la macchina non oscuri mai lo schermo in modalità testo, anche quando viene avviato per la prima volta e seduto al prompt di accesso?


Sembra essere ben risposto a askubuntu: askubuntu.com/questions/138918/…
Roy

Ho scritto di due diversi approcci di cui avevo bisogno per varie distribuzioni RHEL. Uno di questi potrebbe aiutarti con Ubuntu: superuser.com/a/1004931/197972
David C.

Risposte:


23

In Ubuntu 12.10 e precedenti il pacchetto console-tools consente di controllare le opzioni della console.

Per disattivare la cancellazione dello schermo e lo spegnimento, impostare BLANK_TIMEe POWERDOWN_TIMEsu 0in /etc/console-tools/config. Se preferisci non modificare il file di configurazione, puoi ottenere lo stesso effetto creando un nuovo file /etc/console-tools/config.dcontenente quanto segue:

BLANK_TIME=0
POWERDOWN_TIME=0

Il nome del file in config.d deve essere composto interamente da lettere maiuscole e minuscole, cifre, caratteri di sottolineatura e trattini.


Come lo sai? Ho cercato su Internet tutta la mattina cercando la documentazione per / etc / console-tools e non sono riuscito a trovarne.
raldi,

10
Un avvertimento con questo: ho installato gli strumenti console sul server Ubuntu 12.04, ho fatto la configurazione sopra e l'ha riempito completamente ... Non sono sicuro di cosa ho fatto di sbagliato, ma se succede a qualcun altro (e sei una schifezza con i server come me!), avvia il ripristino -> prompt di root -> mount -o remount, rw / -> apt-get remove console-tools -> riavvio
BaronVonKaneHoffen

Questo non esiste su Ubuntu 18.04 :( - qualche alternativa?
Roman Gaufman,

17

Oppure usi / etc / kbd / config per configurare (dipende dal tuo sistema, cosa è installato)

BLANK_TIME=0
BLANK_DPMS=off

Cosa riavvio quando si modifica la configurazione di KBD?
Frodik,

1
Sembra essere /etc/init.d/kbd ricaricare
Vincent

2
Ho provato questo in una nuova installazione di Ubuntu Server 10.04.4 e 12.04.1, e non ha funzionato in nessuno dei due.
Prof. Moriarty,

A quali distribuzioni si applica?
Michael Hampton

Funziona su Debian 6 e 7. Questo file di configurazione viene impostato BLANK_TIME=30di default.
basic6

15

Il parametro è controllato dalla riga di comando del kernel, usando setterm modifica semplicemente le impostazioni di runtime. Per disabilitarlo a livello di sistema è possibile modificare la riga di comando di avvio del kernel accodandolo con "consoleblank = 0" nella configurazione di avvio (grub / lilo).

Se qualcosa durante l'avvio setterm lo è, allora sovrascriverà il valore.



Usando grub2 potrebbe essere aggiunto in / etc / default / grub GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0"e quindi aggiornare grub config con grub[2]-mkconfig -o /boot/grub/grub.cfg. Oppure potrebbe essere incorporato nella riga di comando del kernel integrata durante la configurazione e la compilazione manuale del kernel.
user3132194

7

Se aggiungi il settermcomando a /etc/rc.local, dovrebbe avere effetto per tutte le console virtuali, indipendentemente dal fatto che un utente abbia effettuato o meno l'accesso. Per esempio:

setterm -blank 0

Ciò non sembra funzionare effettivamente in rc.local.
raldi,

Ha funzionato per me in passato su sistemi di tipo RedHat. Potrebbe essere che Debian / Ubuntu vengano caricati rc.localin un momento leggermente diverso rispetto a RH. Mi dispiace per quello.
James Sneeringer,

Non funziona su CentOS 6.3. Lo schermo continua a oscurarsi dopo 10 minuti.
Michael Hampton

1
Ho scoperto che questo ha funzionato per RHEL 5 e 6 ( /bin/setterm -blank 0 -powerdown 0 -powersave off), ma non per 7. Il successo o il fallimento probabilmente dipende dalla tua distribuzione e dall'ambiente della console al momento dell'esecuzione di rc.local.
David C.

Ottengo questo <~ $ sudo setterm -blank 0 setterm: terminal xterm-256color non supporta --blank
Roman Gaufman

4

Se stai eseguendo un Ubuntu più recente che utilizza upstart, puoi utilizzare:

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

Una piccola spiegazione di ciò che sta succedendo qui:

Le versioni più recenti di Ubuntu utilizzano upstart per l'avvio del sistema. Con upstart, le console Linux sono installate con file di configurazione memorizzati in / etc / init. Il comando sopra inizia ripetendo su ciascuno di quei file di configurazione:

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

Il nome del file di configurazione upstart di tty in $ file viene utilizzato per creare il nome del dispositivo tty:

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

Viene creato un comando "post-avvio" che esegue "setterm" per disabilitare il blanking dello schermo e il risparmio energetico dopo l'avvio di tty:

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

E infine quel comando viene aggiunto al file di configurazione upstart:

| sudo tee -a "$file";

La tua risposta sarebbe molto meglio se descrivessi davvero cosa sta succedendo qui. Dare un comando così grande senza spiegazioni non è molto utile.
Zoredache,

@Zoredache hai ragione, ho aggiunto una spiegazione. Grazie per il feedback.
Chris Pick

2
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.