Я могу предложить обходной путь к этому
Не берите в голову настройки в графическом интерфейсе, вы можете заблокировать экран и отправить его в режим ожидания через командную строку
Для блокировки экрана вы можете использовать
gnome-screensaver-command -l
или (если не используете gnome3)
xdg-screensaver lock
и чтобы отключить ваши мониторы (в режиме ожидания) вы могли бы использовать
xset dpms force off
Теперь, так как вы не хотите делать это вручную, но через пару минут простоя нам нужно выяснить, как долго вы простаивали. Это можно сделать с помощьюxprintidle
sudo apt-get install xprintidle
xprintidle
вернет миллисекунды (xserver) простоя
Теперь давайте объединим это в скрипт (*). Используйте ваш любимый редактор, чтобы скопировать / вставить следующее, изменив IDLE_TIME
по своему вкусу
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
Затем сделайте его исполняемым с
chmod +x /home/yourusername/idle_stby_lock_screen.sh
Вы можете проверить это в командной строке
/home/yourusername/idle_stby_lock_screen.sh
если вы довольны им, вы можете добавить его в автозагрузку вашего Ubuntu, как описано в этих ответах здесь, или с помощью приложения «Запуск» в Ubuntu - просто убедитесь, что вы используете абсолютный путь к вашему сценарию.