A tela não desliga quando inativa

11

Recentemente, notei que as configurações de brilho e bloqueio para desligar a tela após um período de inatividade estão sendo ignoradas.

Tenho minhas configurações em 1 minuto e para bloquear a tela quando a tela é desligada, mas meu computador parece nunca desligar a tela.

Vi perguntas semelhantes em que as pessoas notam um problema em que as telas são ativadas novamente e a tela de bloqueio está aparecendo, mas não estou conseguindo bloquear o computador.

insira a descrição da imagem aqui

Joe W
fonte

Respostas:

1

Posso oferecer uma solução alternativa para isso


Não importa as configurações na GUI, você pode bloquear sua tela e enviá-las para o modo de espera através da linha de comando


Para bloquear sua tela, você pode usar

gnome-screensaver-command -l

ou (se não usar o gnome3)

xdg-screensaver lock

e para desligar os monitores (espera), você pode usar

xset dpms force off

Agora, como você não deseja fazer isso manualmente, mas após alguns minutos de inatividade, precisamos descobrir por quanto tempo você ficou inativo. Isso pode ser feito comxprintidle

sudo apt-get install xprintidle

xprintidle retornará milissegundos de idletime (xserver)

Agora, vamos combinar isso em um script (*). Use seu editor favorito para copiar / colar o seguinte, modificando IDLE_TIMEao seu gosto

nano /home/yourusername/idle_stby_lock_screen.sh
#!/bin/sh

# Wanted trigger timeout in milliseconds.
IDLE_TIME=$((5*60*1000))  # replace the '5' with how many minutes you'd like


# Sequence to execute when timeout triggers.
trigger_cmd() {
    echo "Triggered action $(date)"
}

sleep_time=$IDLE_TIME
triggered=false

while sleep $(((sleep_time+999)/1000)); do
    idle=$(xprintidle)
    if [ $idle -ge $IDLE_TIME ]; then
        if ! $triggered; then
            gnome-screensaver-command -l
            export DISPLAY=:0; xset dpms force off
            triggered=true
            sleep_time=$IDLE_TIME
        fi
    else
        triggered=false
        # Give 150 ms buffer to avoid frantic loops shortly before triggers.
        sleep_time=$((IDLE_TIME-idle+150))
    fi
done

Em seguida, torne-o executável com

chmod +x /home/yourusername/idle_stby_lock_screen.sh

Você pode testá-lo na linha de comando

/home/yourusername/idle_stby_lock_screen.sh

se você estiver satisfeito com isso, poderá adicioná-lo à inicialização do seu Ubuntu, como descrito nestas respostas aqui ou com o aplicativo "Inicialização" no Ubuntu - apenas certifique-se de usar o caminho absoluto para o seu script.

Robert Riedl
fonte
Embora essa solução funcione, não tenho certeza de quão viável é quando o bloqueio / proteção de tela deve ser um recurso interno do Ubuntu.
8138 Joe W
@ JoeO, como eu disse: uma solução alternativa
Robert Riedl
Além disso, eu uso isso para certificar-se de minhas telas ficar em modo de espera, porque às vezes eles acordam, por qualquer motivo ...
Robert Riedl