回答:
Arch Wikiにはいくつかの例があります。
基本的に、スクリーンロッカー用のサービスファイルを作成し、それがsuspend
、hibernate
またはsleep
ターゲットのいずれかに確実にフックされるようにします。
slockのような単純な画面ロッカーを使用する場合、次のように/etc/systemd/system/lock.service
なります。
[Unit]
Description=Lock the screen on resume from suspend
[Service]
User=jason
Environment=DISPLAY=:0
ExecStart=/usr/bin/slock
[Install]
WantedBy=suspend.target
wikiの他の例には、他のサービスのシャットダウンや起動など、より複雑なオプションがあります。
ExecStart=/usr/bin/slock
ビットが最初の一見でロックを指すことを理解していませんでした。
xss-lock
(Debian、Arch Linux、来週Fedoraでも利用可能)を使用し、i3lock
またはとともにユーザーとして実行することslock
です。
User
はハードコードされています。このマシンはjason
(または、ガールフレンドなど、パスワードを知っている人)だけが使用するという前提。理想的にはUser
、サスペンドを開始した人になりたいのですが、それに対する解決策はまだ見つかりませんでした。
openrc
with を使用する場合elogind
、代替ソリューションがあります(systemdに依存しません):
#!/bin/sh
#
# /lib/elogind/system-sleep/lock.sh
# Lock before suspend integration with elogind
username=lerax
userhome=/home/$username
export XAUTHORITY="$userhome/.Xauthority"
export DISPLAY=":0.0"
case "${1}" in
pre)
su $username -c "/usr/bin/slock" &
sleep 1s;
;;
esac
参照:https : //gist.github.com/ryukinix/bd0c1ddcbbafdb4149ae70e41b7c822b
これを投稿するのは、適切な動作方法を見つけるのが非常に難しく、このスレッドが「サスペンド後にロックする」などのGoogleの最初の結果に表示されるためです。
mod+L
、既にに割り当てられていたblurlock
私にとって、持っているのは簡単だったmod+S
ことblurlock && systemctl suspend -i
の代わりに。だから、蓋を閉めたときではなく、ただロックしたいのか、ロックしてサスペンドしたいのかを選択するのに非常にうまく機能します。