Como impedir que a tela apague / desmaie?

13

Reinstalei o Debian 7 (Wheezy) depois de um tempo. Pela primeira vez, estou usando os drivers da Nvidia abertos (e não o nouveau) e o vesafb para consoles virtuais.

Pela minha vida, não consigo impedir que a tela apague. Não há proteção de tela, nada, apenas fica em branco, logo após alguns minutos de inatividade. Isso não é apenas durante o VLC (que teve esse problema no passado), mas durante qualquer coisa.

Para piorar, parece acontecer aleatoriamente. Às vezes, a tela não fica em branco por horas, e outras vezes.

Etapas que tomei até agora:

  1. Adicionadas algumas linhas /etc/X11/xorg.confpara interromper os dpms:

    Section "ServerLayout"
         Option         "BlankTime"     "0"
         Option         "StandbyTime"   "0"
         Option         "SuspendTime"   "0"
         Option         "OffTime"       "0"
         ...
    Section "Monitor"
      ...
         Option          "DPMS" "false"
    
  2. Adicionado no meu .xinitrcarquivo:

    xset s off         # don't activate screensaver
    xset -dpms         # disable DPMS (Energy Star) features.
    xset s noblank     # don't blank the video device
    
  3. Desativou TODOS os protetores de tela e modos de economia de energia nas configurações do KDE.

  4. Adicionado o seguinte loop no meu /etc/init.d/rc.local:

    for index in $(seq 1 6)
    do
            setterm -blank 0 -powerdown 0 -powersave off > /dev/tty${index}
    done
    
  5. Apliquei um patch no meu xdg-screensaver com um patch que forçava o VLC a gerar um protetor de tela. (Desde então, parei de usar o VLC e reverti para o Dragon player.)

Isso está se transformando em um pesadelo e é realmente muito irritante. Antes de usar o vesafb e o setterm (que, de alguma forma, acho que são responsáveis ​​por isso), gostaria de saber se alguém já se deparou com esse problema e como eles conseguiram resolvê-lo.

Alex
fonte
Tente mover todos os arquivos power * de ~ / .kde / share / config / e, em seguida, ative todo o gerenciamento de energia em todas as guias (aplicando-o à medida que for passando por eles) e desative-o novamente.
kirill-a
1
Para diminuir o problema, execute xscreensaver-command -watchum xterm em algum lugar. Após um evento de tela indesejada em branco, verifique se ele produz o evento BLANK. Se foi, definitivamente está sendo apagado pela ação do servidor X. Caso contrário, ele fica mais baixo na pilha e você pode se concentrar nos drivers de vídeo.
aecolley 23/01
@ aecolley obrigado por sua sugestão. Nenhuma saída no terminal após o apagamento indesejado da tela. Estou executando o driver de vídeo proprietário da nvidia, não vi nenhuma configuração relativa à economia de energia na ferramenta de configurações gráficas. A propósito, o apagamento ocorreu quando havia apenas um monte de janelas do navegador e Mendeley aberto, não o VLC.
rumtscho
Veja minha atualização: unix.stackexchange.com/a/440648/3285
Evan Carroll

Respostas:

4

DPMS pode ser extremamente resistente!

Tente este comando:

xset dpms 0 0 0 && xset s noblank  && xset s off

Se funcionar, adicione-o a qualquer arquivo de inicialização automática que o KDE use.

A propósito, o VLC tem a opção Preferências >> Vídeo >> Desativar protetor de tela . Se essa opção estiver marcada, a tela não ficará em branco enquanto o VLC reproduzir um vídeo, mas o DPMS será ativado posteriormente (independentemente de estar antes de iniciar o VLC). Portanto, deixe essa opção desmarcada e o VLC não deve causar problemas com o apagamento.

MajorBriggs
fonte
Não tenho certeza se isso resolve todo o problema (minha tela fica em branco em intervalos irregulares, portanto, terei que deixar meu computador intocado por 2 horas por teste). Mas a parte sobre o VLC ativar o DPMS por si só é uma vantagem muito interessante, então decidi dar a você a recompensa.
rumtscho
1
Não deixe de nos informar se isso persistir. Eu uso o Debian com o openbox, e esta é a única maneira que consegui tirar o DPMS das minhas costas. O DPMS está ativo apenas quando nenhum outro protetor de tela está instalado; portanto, se tudo o mais falhar, você pode tentar (re) instalar o xscreensaver e configurá-lo para desativar o apagamento.
precisa saber é o seguinte
@MajorBriggs: Eu também uso o Debian com o Openbox. Você recomenda adicionar esta linha ao ~ / .xinitrc antes exec openbox-session? Obrigado.
User001
Acabei de adicionar o comando à inicialização automática do Openbox: ~/.config/openbox/autostart.she isso funciona bem.
MajorBriggs
Para o LXDE, eu adiciono estes comandos em~/.config/lxsession/LXDE/autostart
Monica For CEO
1

Tente executar este script heartbeat.shque redefinirá o tempo ocioso do X a cada 55seg.

#!/bin/bash

while sleep 55
do
    #xscreensaver-command -deactivate
    #xdg-screensaver reset
    xset s reset
done
user.dz
fonte
1

Estou postando uma resposta, como tenho um pouco conseguiu resolver o problema. Digo um pouco porque ainda tenho problemas.

O Wheezy parece ter a necessidade de usar um protetor de tela. Desativei todas as opções que pude encontrar, até o xscreensaver corrigido, mas sem sucesso. As correções acima, tentei na minha pergunta, às vezes geram problemas ao fazer o login, outras vezes não!

No entanto, o que parece ter resolvido o problema são duas coisas:

  1. Eu parei de usar o VLC. Adoro, usei por muitos anos, mas é o culpado que gera essas sessões do xscreensaver. Agora estou usando o dragon-player e posso assistir a vídeos sem o xscreensaver aparecer.

  2. Forcei o KDE a usar um protetor de tela que eu escolhi. Às vezes, isso substitui o xscreensaver padrão .

Às vezes, a tela fica em branco por si própria, sem exibir o protetor de tela que eu escolhi. Este não é o meu monitor (eu uso uma configuração dupla, portanto, seria estranho desligar os dois). Parece ser aleatório, pois às vezes a tela permanece ligada por horas sem desligar.

Eu até tentei corrigir o xscreensaver, mas nada funcionou. Espero que isso seja corrigido no próximo Debian estável.

Alex
fonte
1

Para reproduzir esse problema, precisamos saber o que xdg-screensaverestá fazendo.

Obtendo o ID da janela raiz

  1. Atualize xdg-screensavernovamente.
  2. Abra um terminal
  3. Corre xwininfo -root
  4. Copie o ID da janela, neste caso é 0x131

    xwininfo: Window id: 0x131 (the root window) (has no name)
    

Desativando o protetor de tela

Agora corra

    xdg-screensaver suspend <window id>

Você pode confirmar que funcionou executando xdg-screensaver status

Renable

Para reativar a execução

    xdg-screensaver resume <window id>

Você pode confirmar que funcionou executando xdg-screensaver status

O protetor de tela ficou em branco / preto quando você suspend(inibiu) o protetor de tela? Se assim for, isso é um bug xdg-screensaver.

Outras notas

Se você quiser desativar o DPMS, embora eu nunca faça isso - a menos que o monitor não acorde com algo irregular com os mais exigentes - você pode simplesmente executar

xset -dpms;

Isso impedirá que fique sempre apagado com o desligamento. De um modo geral, você não deseja desativar o apagamento (limpar a tela) ou desativar o gerenciamento de energia. Você quer descobrir o que está causando o apagamento ou o desligamento quando não deseja, e deseja consertar isso.

Evan Carroll
fonte
0

A seção deve ser "ServerFlags", não "ServerLayout".

Section "ServerFlags"
     Option         "BlankTime"     "0"
     Option         "StandbyTime"   "0"
     Option         "SuspendTime"   "0"
     Option         "OffTime"       "0"
     ...

Mais informações podem ser encontradas no arquivo de configuração do Xorg

chelahmy
fonte