Como desabilito permanentemente o protetor de tela do console do Linux, em todo o sistema?

42

Eu tenho um servidor Ubuntu que inicializa no modo de texto. Ele raramente tem uma tela ou teclado conectado, mas quando eu anexo uma tela, geralmente também preciso anexar um teclado, porque o protetor de tela do modo console do console estará ativado e preciso pressionar uma tecla para ver o que é indo.

Estou ciente de que o comando setterm pode desativar isso, mas é uma coisa por sessão. Como fazê-lo para que a máquina nunca apague a tela no modo de texto, mesmo quando é inicializada e sentada no prompt de login?

raldi
fonte
Parece ser bem respondido em askubuntu: askubuntu.com/questions/138918/…
Roy
Eu escrevi sobre duas abordagens diferentes necessárias para várias distribuições RHEL. Um deles pode ajudá-lo com o Ubuntu: superuser.com/a/1004931/197972
David C.

Respostas:

23

No Ubuntu 12.10 e versões anteriores, o pacote console-tools permite que as opções do console sejam controladas.

Para desligar a tela em branco e powerdown, conjunto BLANK_TIMEe POWERDOWN_TIMEpara 0nos /etc/console-tools/config. Se você preferir não modificar o arquivo de configuração, o mesmo efeito pode ser alcançado criando um novo arquivo /etc/console-tools/config.dcontendo o seguinte:

BLANK_TIME=0
POWERDOWN_TIME=0

O nome do arquivo em config.d deve consistir inteiramente em letras maiúsculas e minúsculas, dígitos, sublinhados e hífens.

Phil Ross
fonte
Como você sabe isso? Estive vasculhando a Internet a manhã toda procurando a documentação para / etc / console-tools e não consegui encontrar nenhuma.
Raldi
10
Palavra de aviso com isso: instalei as ferramentas do console no servidor ubuntu 12.04, fiz a configuração acima e a afastei completamente ... Não sei o que fiz de errado, mas se acontecer com mais alguém (e você é uma porcaria nos servidores como eu), boot para recuperação -> root pronto -> mount -o remount, rw / -> apt-get remove console-tools -> reinicialização
BaronVonKaneHoffen
Isso não existe no ubuntu 18.04 :( - alguma alternativa? #
9787 Roman Gaufman
17

Ou você usa / etc / kbd / config para configurar (depende do seu sistema, o que está instalado)

BLANK_TIME=0
BLANK_DPMS=off
Thomas Creutz
fonte
O que reinicio ao alterar a configuração do KBD?
Frodik
1
Parece ser recarga /etc/init.d/kbd
Vincent
2
Eu tentei isso em uma nova instalação do Ubuntu Server 10.04.4 e 12.04.1, e não funcionou em nenhum deles.
Prof. Moriarty
A que distribuições isso se aplica?
Michael Hampton
Isso funciona no Debian 6 e 7. Este arquivo de configuração é definido BLANK_TIME=30por padrão.
basic6
15

O parâmetro é controlado via linha de comando do kernel, usando setterm apenas altera as configurações de tempo de execução. Para desabilitá-lo em todo o sistema, você pode alterar sua linha de comando de inicialização do kernel anexando-a com "consoleblank = 0" na sua configuração de inicialização (grub / lilo).

Se algo durante o setterm de inicialização, ele substituirá o valor.

Matthew Ife
fonte
3
Como visto em superuser.com/questions/152347/… !
Code19
Usando o grub2, ele pode ser adicionado em / etc / default / grub GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=0"e, em seguida, atualizando o grub config com grub[2]-mkconfig -o /boot/grub/grub.cfg. Ou pode ser incorporado na linha de comando do kernel embutido ao configurar e compilar o kernel manualmente.
user3132194
7

Se você adicionar o settermcomando /etc/rc.local, ele deverá ter efeito para todos os consoles virtuais, independentemente de um usuário estar ou não conectado a eles. Por exemplo:

setterm -blank 0
James Sneeringer
fonte
Isso não parece realmente funcionar no rc.local.
Raldi 01/05/19
Funcionou para mim no passado em sistemas do tipo RedHat. Pode ser que o Debian / Ubuntu seja carregado rc.localem um momento ligeiramente diferente do RH. Me desculpe por isso.
James Sneeringer
Não funciona no CentOS 6.3. A tela continua em branco após 10 minutos.
Michael Hampton
1
Descobri que isso funcionava para o RHEL 5 e 6 ( /bin/setterm -blank 0 -powerdown 0 -powersave off), mas não para o 7. O êxito ou falha provavelmente depende da sua distribuição e do ambiente do console no momento em que o rc.local é executado.
David C.
Recebo esta <~ $ sudo setterm anule 0 setterm: Terminal xterm-256color não suporta --blank
Roman Gaufman
4

Se você estiver executando um Ubuntu mais recente que usa upstart, pode usar:

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

Uma pequena explicação do que está acontecendo aqui:

Versões mais recentes do Ubuntu usam upstart para inicialização do sistema. Com o inicio, os consoles Linux são configurados com arquivos de configuração armazenados em / etc / init. O comando acima começa iterando sobre cada um desses arquivos de configuração:

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

O nome do arquivo de configuração inicial do tty em $ file é usado para criar o nome do dispositivo tty:

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

É criado um comando inicial "pós-inicialização" que executa "setterm" para desativar o apagamento da tela e a economia de energia após o início do tty:

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

E, finalmente, esse comando é anexado ao arquivo de configuração inicial:

| sudo tee -a "$file";
Chris Pick
fonte
Sua resposta seria muito melhor se você realmente descrevesse o que está acontecendo aqui. Dar um comando enorme como esse sem explicação não é muito útil.
Zoredache
@ Zoredache você está certo, eu adicionei uma explicação. Obrigado pelo feedback.
Chris Escolha
2
daxroc
fonte