La pantalla no se apaga cuando está inactiva

11

Recientemente he notado que se ignoran los ajustes de brillo y bloqueo para apagar la pantalla después de un período de inactividad.

Tengo mi configuración en 1 minuto y para bloquear la pantalla cuando la pantalla se apaga pero mi computadora nunca parece apagar la pantalla.

He visto preguntas similares en las que las personas notan un problema en el que las pantallas se vuelven a encender y se muestra la pantalla de bloqueo, pero no consigo que la computadora se bloquee en absoluto.

ingrese la descripción de la imagen aquí

Joe W
fuente

Respuestas:

1

Puedo ofrecer una solución a esto


No importa la configuración en la GUI, puede bloquear su pantalla y enviar sus pantallas al modo de espera a través de la línea de comando


Para bloquear tu pantalla puedes usar

gnome-screensaver-command -l

o (si no usa gnome3)

xdg-screensaver lock

y para apagar sus monitores (en espera) podría usar

xset dpms force off

Ahora, dado que no desea hacer esto manualmente, pero después de un par de minutos de inactividad, necesitamos averiguar cuánto tiempo ha estado inactivo. Esto se puede hacer conxprintidle

sudo apt-get install xprintidle

xprintidle devolverá milisegundos de (xserver) tiempo de inactividad

Ahora, combinemos esto en un script (*). Use su editor favorito para copiar / pegar lo siguiente, modificando el IDLE_TIMEque desee

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

Luego hazlo ejecutable con

chmod +x /home/yourusername/idle_stby_lock_screen.sh

Puedes probarlo en la línea de comandos

/home/yourusername/idle_stby_lock_screen.sh

si está contento con él, puede agregarlo al inicio de su Ubuntu, como se describe en estas respuestas aquí o con la aplicación "Inicio" en Ubuntu, solo asegúrese de usar la ruta absoluta a su script.

Robert Riedl
fuente
Si bien esta solución funcionaría, no estoy seguro de cuán viable es cuando se supone que el bloqueo de pantalla / protector de pantalla es una característica incorporada de Ubuntu.
Joe W
@JoeW, como dije: una solución alternativa
Robert Riedl
Además, uso esto para asegurarme de que mis pantallas permanecen en espera, porque a veces se despiertan, por cualquier razón ...
Robert Riedl