Como desativar a tela (Linux sem X)

15

Gostaria de saber se existe alguma maneira de desativar a tela em uma distribuição Linux que estou usando o Debian. Encontrei algumas maneiras de fazer isso com o X instalado, mas não sem o X.

mnml
fonte
Se você não possui um Xserver instalado, o que exatamente deseja desativar? Você pode explicar o que você quer um pouco mais?
Telêmaco
1
Do que exatamente você está falando? por favor esclareça
hasen
@ MNml: em um comentário abaixo, você menciona um laptop e desliga a tela. Não tenho certeza se você deseja criar um servidor sem cabeça em um laptop. Isso me parece bastante contra-intuitivo.
Telemachus
2
@Telemachus: Estou usando um tablet antigo como um pequeno servidor "doméstico", é rápido o suficiente para os serviços que estou executando nele (dovecot etc.) e não está usando muita eletricidade ... Seria ainda melhor sem a tela ;-)
mnml 29/08/2009

Respostas:

14

Você pode desligar a tela do seu laptop usando o comando xset :

xset dpms force off

O DPMS é o Display Power Management Signaling, um padrão para reduzir o consumo de energia nos monitores. O xset é obviamente um utilitário X. Se você precisar fazer isso sem o X envolvido, use setterm :

setterm -powerdown 1

A lista completa de opções para manipular sua tela:

xset -dpms          # Disable DPMS
xset +dpms          # Enable DPMS
xset s off          # Disable screen blanking
xset s 150          # Blank the screen after 150 seconds
xset dpms 300 600 900       # Set standby, suspend, & off times (in seconds)
xset dpms force standby     # Immediately go into standby mode
xset dpms force suspend     # Immediately go into suspend mode
xset dpms force off     # Immediately turn off the monitor
xset -q             # Query current settings

setterm -blank 10           # Blank the screen in 10 minutes
setterm -powersave on       # Put the monitor into VESA power saving mode
setterm -powerdown 20       # Set the VESA powerdown to 20 minutes

Tudo isso está devidamente explicado no Mini-HOWTO Linux alimentado por bateria .


fonte
1
xset requerem Xserver, infelizmente O programa 'xset' não está instalado no momento. Você pode instalá-lo digitando: apt-get install x11-xserver-utils
mnml
1
Com setterm -powersave on, recebocannot (un)set powersave mode
IanVaughan
6

Confira vbetool . Você pode desligar a tela com:

vbetool dpms off

O único problema que estou tendo com isso é que a tela não liga automaticamente, por exemplo, na entrada do teclado. Você precisa fazer isso manualmente digitando-o às cegas ou via SSH:

vbetool dpms on

No Debian Squeeze, o vbetool é usado em /etc/acpi/lid.sh quando o X não está disponível.

Stian Ellingsen
fonte
2
pode-se escrever um pequeno script que apague a tela, aguarde a entrada e a reative. Algo como vbetool dpms off && read -s -n 1 && vbetool dpms on.
Bobby
Estou usando o servidor ubuntu, e esta é a única maneira que encontrei para desativar a exibição sem x. Obrigado!
user180574
1

Não tenho certeza de qual pacote o fornece, mas alguns pacotes relacionados à ACPI incluem scripts para apagar a tela com base em se a tampa do laptop está aberta. Embora agora que eu observe o próprio script ( /etc/acpi/lid.sh), ele pareça funcionar apenas no X. No entanto, o ponto é que ele fornece uma estrutura para acionar ações em eventos de abertura / fechamento de tampa. Você pode modificar o script para usar o setterm, e ele pode fazer o que você deseja.

Ryan C. Thompson
fonte
1

No Kali GNU / Linux Rolling de 64 bits, verifique se xset -qaparece assim:

DPMS (Energy Star):
Standby: 600 Suspend: 600 Off: 600

Definir todos eles para 0 funciona para mim. Faça isso com esta linha de comando:

xset dpms 0 0 0
05M4R
fonte
0

Se você possui uma porta serial na sua máquina, pode executá-la sem cabeça.

Faça uma pesquisa na web por "instruções sobre o console serial linux".

Joe
fonte
0

Em resposta a sua pergunta,

setterm -blank 0

deve fazê-lo. Observe que isso precisará ser feito para cada login tty.

weasel5i2
fonte
0

Se, por acaso, você precisar desligar um monitor remotamente, por exemplo, em um laptop quando estiver conectado por SSH ...

DISPLAY=":0" xset dpms force off

A menos que você especifique uma DISPLAYvariável, o xset falhará com:

xset: unable to open display ""
sanmai
fonte