Ubuntu 12.04デスクトップPCを正常に休止状態および再開することができました。手順は この回答に記載されています です。ただし、PCが再開するたびに、が画面をロックしないという問題があります。
システムが休止状態から復帰した後に画面をロックするにはどうすればよいですか?
~/.bashrc
ファイルにエイリアスを追加しました
alias hibernate='Sudo echo "Hibernating..."; gnome-screensaver-command -l; Sudo pm-hibernate;'
画面をロックするようにbefore hibernating。
次のコマンドを使用して、この問題を回避することができました
Sudo pm-hibernate; gnome-screensaver-command -l
Ubuntuのデフォルトではrootユーザーのパスワードはないため、再開するにはロック画面を使用する必要があるため、これを通常のユーザーとして実行するであり、ロックするためのrootユーザーとしては実行しないでください。マウスを振るだけでロックを解除できます。
別の回避策があります。 /etc/acpi/sleep.sh
から/etc/acpi/hibernate.sh
の直前にpm-hibernate
にコピーしました
if [ x$LOCK_SCREEN = xtrue ]; then
if pidof xscreensaver > /dev/null; then
for x in /tmp/.X11-unix/*; do
displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
getXuser;
if [ x"$XAUTHORITY" != x"" ]; then
export DISPLAY=":$displaynum"
. /usr/share/acpi-support/screenblank
fi
done
fi
fi
今、私は電源メニューまたはスリープボタンからロックで休止状態にすることができます
Ubuntuではありませんが、私にとっては次のように機能します:
systemd-inhibit --what sleep --why "Lock screen" --mode delay xdg-screensaver lock & systemctl suspend
xdg-screensaver lock
をシステムの画面をロックするコマンドに置き換え、systemctl suspend
をsystemctl hibernate
に置き換えて、休止状態にする前に画面をロックします。
これは、マシンのサスペンドと並行して画面をロックすることにより機能します。ただし、画面ロックコマンドは、スリープを遅らせる阻害剤として実行されています。このように、systemdは、画面がロックされるまで実行を待機します。
サスペンドをブロックしている阻害剤がある場合は、-i
フラグを最後に追加してください。