Estou usando um Raspberry Pi para executar uma exibição de informações em um escritório. Quero a exibição no modo de economia de energia quando estiver fora do horário comercial. Eu usaria cron
para executar algo no início e no final do dia, mas xset dpms force off
não funciona.
I ter desativado a proteção de tela (para que o visor ficam acesos durante o dia) com a adição de xset s off
, xset -dpms
e xset s noblank
no /etc/xdg/lxsession/LXDE/autostart
arquivo.
Aqui estão os resultados de xset q
:
Keyboard Control:
auto repeat: on key click percent: 0 LED mask: 00000000
XKB indicators:
00: Caps Lock: off 01: Num Lock: off 02: Scroll Lock: off
03: Compose: off 04: Kana: off 05: Sleep: off
06: Suspend: off 07: Mute: off 08: Misc: off
09: Mail: off 10: Charging: off 11: Shift Lock: off
12: Group 2: off 13: Mouse Keys: off
auto repeat delay: 500 repeat rate: 33
auto repeating keys: 00ffffffdffffbbf
fadfffefffedffff
9fffffffffffffff
fff7ffffffffffff
bell percent: 0 bell pitch: 400 bell duration: 100
Pointer Control:
acceleration: 20/10 threshold: 10
Screen Saver:
prefer blanking: no allow exposures: yes
timeout: 0 cycle: 600
Colors:
default colormap: 0x20 BlackPixel: 0x0 WhitePixel: 0xffff
Font Path:
built-ins
DPMS (Energy Star):
Standby: 600 Suspend: 600 Off: 600
DPMS is Disabled
UPDATE:xset s blank && xset +dpms && xset dpms force off
deixará a tela em branco, mas não a colocará no modo de economia de energia. Depois de ler muitos threads, ainda não consigo acertar a hora do sistema (acho que pode ser um problema de firewall) ...
xorg
monitors
screensaver
raspberry-pi
shaun5
fonte
fonte
xset
ou nada acontece? Também o que distro? Se não funcionar, acho que o ACPI não está compilado no kernel. Como diagnóstico, publique a saída dexset q
. Obrigado.xset q
?DPMS is disabled
. Ligá-lo:xset +dpms
então seus comandos devem trabalhar ...Respostas:
Esta questão realmente pertence ao raspberrypi.stackexchange.com porque é um problema específico do Raspberry Pi: o driver do buffer de estrutura do kernel para o Raspberry Pi não suporta a função que o X usa para colocar o monitor em suspensão:
https://github.com/raspberrypi/linux/issues/487
Até que esse problema seja resolvido, o X não poderá colocar o monitor em modo de suspensão usando o DPMS.
Você pode ter alguma sorte com o
/opt/vc/bin/tvservice
programa:tvservice -o
desliga o HDMI etvservice -p
deve ligá-lo novamente.fonte
Dissipando caminhos errados
Primeiro, praticamente todos os monitores modernos oferecem suporte aos modos de suspensão. Além disso,
xset dpms force off
(ou outras maneiras de informar o servidor X) é a maneira correta (em X) de desligar os monitores. Eu uso isso há anos sem problemas.Segundo, a menção
DPMS is Disabled
vem apenas do seuxset -dpms
. Assim que você emitexset dpms force off
ou outra opção xset relacionada ao DPMS, ela é reativada; portanto, é normal que você obtenha o mesmo resultado com ou semxset +dpms
.Hipótese
Agora, você escreveu que vê "estático". Este monitor suporta sinais tradicionais de TV analógica, certo?
Uma hipótese é que a TV, em vez de dormir, na verdade muda para a TV analógica e, como não há sinal, ela mostra o que geralmente é chamado de "estático".
Teste essa hipótese
Aqui está uma opção para tentar. Tente conectar uma vez outra tela, de preferência uma que não suporte TV analógica. Veja se essa tela entra em suspensão
xset dpms force off
. Se sim, a configuração está correta no lado do Pi.Experimente variantes
Talvez os outros estados de vídeo instruam a TV a permanecer no canal certo, mas com redução no uso de energia. Em vez de
xset dpms force off
, tente o seguinte:E veja se um deles produz o que você precisa. Aguarde pelo menos 10 segundos após cada tentativa para ver o que faz. Pressionar qualquer tecla do teclado Pi retomará a exibição (você pode usar remotamente
xset dpms force on
).Chegar à produção
Se uma das variantes acima fizer o que você precisa, tudo bem, compartilhe!
Caso contrário, e você realmente precisa usar a tela original, veja nos menus se você pode, de alguma forma, desativar os recursos da TV analógica.
Compartilhe o que aprendeu com essas tentativas.
fonte
Não
vbetool
funciona?Suspender a tela (diz fisicamente o monitor para entrar no modo de espera):
vbetool dpms suspend
Continuar (sai do modo de espera):vbetool dpms on
fonte
Você pode ligar e desligar o próprio HDMI.
HDMI ligado:
/opt/vc/bin/tvservice -p
HDMI desligado:
/opt/vc/bin/tvservice -o
Mais detalhes sobre o
tvservice
binário:fonte
(você lê artigos publicados por pessoas que não têm experiência, tentando vender a você um SO diferente ou encobrir a falta de estrela energética de um dispositivo de porcelana ou que não leu o código-fonte - todos os quais não são materiais de leitura sugeridos) .
xset s ativado; OU; xset + dpms
você NÃO PODE fazer as duas coisas, a menos que deseje problemas em branco (como acordar). ambos fazem o mesmo trabalho de maneira um pouco diferente - eles interferem um no outro. (O RedHat Linux é famoso por instruir mal as pessoas sobre isso e enviar muitas distribuições com as duas ativadas por padrão, assim como o debian)
quando você usa "xset dpms force off; sleep 2", você precisa dormir para que não acorde pressionando Enter (supondo que você faça isso usando o teclado e não um script)
no que diz respeito ao HDMI, não tenho certeza se o Energy Star faz parte da especificação HDMI 1.0-2.x. mas se funcionou 1/2, talvez seja.
linux e freeBSD são bacanas, mas se você não é "parte de uma grande equipe", é impraticável pensar que pode executar seu centro de entretenimento doméstico (controlando equipamentos de mídia realizando coisas específicas de hardware como Energy Star, suporte a reprodução de mpeg por hardware (TV), etc) . eles têm bibliotecas e iniciativas e exemplos de dispositivos em funcionamento - mas essas coisas são de curta duração (você precisa usar o mesmo sistema operacional e o mesmo dispositivo conhecido como bom ou "boa sorte")
fonte