Je peux proposer une solution à ce problème
Peu importe les paramètres de l'interface graphique, vous pouvez verrouiller votre écran et envoyer vos écrans en veille via la ligne de commande
Pour verrouiller votre écran, vous pouvez utiliser
gnome-screensaver-command -l
ou (si n'utilisez pas gnome3)
xdg-screensaver lock
et pour éteindre vos moniteurs (veille), vous pouvez utiliser
xset dpms force off
Maintenant, puisque vous ne voulez pas le faire manuellement, mais après quelques minutes d'inactivité, nous devons savoir depuis combien de temps vous êtes inactif. Cela peut être fait avecxprintidle
sudo apt-get install xprintidle
xprintidle
renverra des millisecondes de (xserver) idletime
Maintenant, combinons cela dans un script (*). Utilisez votre éditeur préféré pour copier / coller ce qui suit, en modifiant le IDLE_TIME
à votre guise
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
Rendez-le ensuite exécutable avec
chmod +x /home/yourusername/idle_stby_lock_screen.sh
Vous pouvez le tester sur la ligne de commande
/home/yourusername/idle_stby_lock_screen.sh
si vous en êtes satisfait, vous pouvez l'ajouter au démarrage de votre Ubuntu, comme décrit dans ces réponses ici ou avec l'application "Démarrage" dans Ubuntu - assurez-vous simplement d'utiliser le chemin absolu de votre script.