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_TIME
ao 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.