回答:
GUIの設定を気にする必要はありません。画面をロックし、コマンドラインを使用して画面をスタンバイ状態にできます。
画面をロックするには、
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のスタートアップに追加できます。スクリプトへの絶対パスを使用してください。