Posso offrire una soluzione a questo
Non importa le impostazioni nella GUI, è possibile bloccare lo schermo e inviare gli schermi in standby tramite la riga di comando
Per bloccare lo schermo potresti usare
gnome-screensaver-command -l
o (se non usi gnome3)
xdg-screensaver lock
e per spegnere i monitor (standby) è possibile utilizzare
xset dpms force off
Ora, poiché non vuoi farlo manualmente, ma dopo un paio di minuti di inattività, dobbiamo scoprire da quanto tempo sei inattivo. Questo può essere fatto conxprintidle
sudo apt-get install xprintidle
xprintidle
restituirà millisecondi di (xserver) idletime
Ora, combiniamo questo in uno script (*). Usa il tuo editor preferito per copiare / incollare quanto segue, modificando IDLE_TIME
a tuo piacimento
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
Quindi renderlo eseguibile con
chmod +x /home/yourusername/idle_stby_lock_screen.sh
Puoi provarlo dalla riga di comando
/home/yourusername/idle_stby_lock_screen.sh
se sei soddisfatto, puoi aggiungerlo all'avvio di Ubuntu, come descritto in queste risposte qui o con l'app "Startup" in Ubuntu - assicurati di utilizzare il percorso assoluto del tuo script.