「セッションをロック」の版間の差分
(→xautolock: 翻訳) |
(→Wayland triggers: 翻訳) |
||
| 114行目: | 114行目: | ||
}} |
}} |
||
| − | === Wayland |
+ | === Wayland トリガー === |
==== swayidle ==== |
==== swayidle ==== |
||
| + | {{Pkg|swayidle}} は、Wayland コンポジタからのアイドルアクティビティと systemd イベントをリッスンし、それに応じてコマンドを実行します。[[Sway#アイドリング]] を参照してください。 |
||
| − | {{Pkg|swayidle}} listens for idle activity from the Wayland compositor, as well as systemd events, and executes commands accordingly. See [[Sway#Idle]]. |
||
| − | ==== D-Bus |
+ | ==== D-Bus 通知 ==== |
| − | + | {{ic|loginctl lock-session}}、または {{man|5|logind.conf}} の {{ic|lock}} アクションを使用して、ロックすることを DBUS 経由でシステムに通知できます。この通知は、xss-lock などによって処理できます。 |
|
| − | ==== |
+ | ==== 非アクティブ ==== |
| − | + | {{man|5|logind.conf}}では、{{ic|IdleAction}} を {{ic|lock}} に設定することができます。これは DBUS 通知をトリガーし、セッションをロックするために (例えば xsslock で) 処理する必要があります。 |
|
| + | これはグローバルなシステムのためのものであることに注意してください (したがって、これはマルチユーザー環境において理想的ではありません。) |
||
| − | Note that this is for a global system (so this is not ideal for a multi user environment). |
||
| + | また、"これは、ユーザーセッションがシステムにアイドル状態を正しく報告することを必要とする" ことにも注意してください。 |
||
| − | Note also that "this requires that user sessions correctly report the idle status to the system". |
||
| − | ==== |
+ | ==== ユニット ==== |
| − | ===== |
+ | ===== サスペンドまたは休止状態の前に ===== |
| + | [[電源管理#スリープフック|スリープフック]] を使用。 |
||
| − | You can use a [[Power management#Sleep hooks|Sleep hook]]. |
||
{{bc|1= |
{{bc|1= |
||
| 153行目: | 153行目: | ||
}} |
}} |
||
| − | + | 特定のユーザーに対して有効にするには、[[有効化]] {{ic|sleep@''Username''.service}} |
|
| − | ===== |
+ | ===== 蓋を閉める ===== |
| + | 関連する [[電源管理#ACPI イベント|ACPI イベント]] を使って {{ic|lock}} アクションを使用することができます。 |
||
| − | You can use the {{ic|lock}} action using the related [[Power management#ACPI events|ACPI event]]. |
||
== See also == |
== See also == |
||
2023年3月5日 (日) 18:35時点における版
セッションの画面をロックするユーティリティは数多くあります。ただし、使用するユーティリティは、使用している環境 (仮想コンソールまたは特定のディスプレイサーバー (Xorg または Wayland) に大きく依存することに注意して下さい。
目次
環境別
仮想コンソール
vlock または physlock を使用して、仮想コンソールをロックできます。
Xorg
Xorg でセッションをロックするには多くの方法があるため、このセクションは不完全になる可能性があります。ただし、いくつかの方法には次のものがあります。
- xlockmore パッケージ内の
xlock - xsecurelock パッケージ内の
xsecurelock - xscreensaver パッケージの
xscreensaver-command -lock - xss-lock
- slock パッケージの中の slock
- kscreenlocker
- i3lock
- i3lock-colorAUR
- alockAUR
ほとんどのデスクトップ環境には、セッションをロックする何らかの方法が用意されています。
Wayland
swaylock または waylock でセッションをロックできます。
ロックのトリガー
セッションをロックするには、さまざまな方法があります。
- ターミナルから
- GUI を使用
- デスクトップアイコンから
- ホットコーナーの使用
- メニュー (マウスまたはキーボード操作) からを選択します
- ショートカット から
- イベントから
- 非アクティブ (systemd、xss-lock、xautolock を使用) イベントから
- systemd イベント (サスペンド、ハイバネートなど)
最後のポイント (イベントからロックをトリガーする) は、最も厄介です。
- アクショントリガーでロックを実行し、その後、最初のアクションを実行する。
- イベントトリガーから、イベントチェーンにロックを追加する。今のところ、これは systemd を使ってしかできません。
シェルトリガー
Zsh
ターミナルの非アクティブ後にコマンドを実行するには、環境変数 TMOUT を使用することができます。
ALARM 信号のトラップと組み合わせることで、ロックを実行することができます。トラップがなければ、シェルを終了させるだけです。
グラフィカルな環境にいるかどうかを検出したいかもしれません。そうでなければ、GUI ターミナルが理由もわからずに消え始めるかもしれません。
Xorg トリガー
xss-lock
xss-lock は、次の 2 つのいずれかによってトリガーされます。
- systemd イベント
- DPMS
これの利点は、手動で発行されたロック、非アクティブ状態によるロック、およびサスペンド コマンドによる同じ場所でのロックを制御できることです。
これらのイベントのいずれかでアクションを実行するには:
$ xss-lock <locker-utility>
systemd イベント
デフォルトで、xss-lock は suspend、hibernate、lock-session、および unlock-session に適切なアクション (ロッカーを実行) でサブスクライブします。ユーザーがロッカーのロックを解除または強制終了するのを待ちます)
suspend とhibernate によって xss-lock がトリガーされるのを、--ignore-sleep を使って防ぐことができます。
loginctl lock-session を使用すると、手動ロックをトリガーすることができます。
DPMS
DPMS シグナリングタイムアウトを設定するには:
# 10 分間操作がないとスクリーンセーバーを起動する xset s on xset s 600
DPMS シグナリングは、Monitor セクションの /etc/X11/xorg.conf.d/ で設定することもできます。
DPMS シグナリングを使用すると、たとえばユーザーに通知したり、画面を暗くしたりするために、2 番目のタイマーを設定できます。例 (xss-lock(1) から):
# 3 分間操作がないと画面が暗くなり、2 分後に i3lock を使用して画面をロックします。 xset s 180 120 xss-lock -n dim-screen.sh -- i3lock -n
dim-screen.sh スクリプトの例は /usr/share/doc/xss-lock にあります。
xautolock
$ xautolock -time 12 -locker "systemctl suspend" -detectsleep
Wayland トリガー
swayidle
swayidle は、Wayland コンポジタからのアイドルアクティビティと systemd イベントをリッスンし、それに応じてコマンドを実行します。Sway#アイドリング を参照してください。
D-Bus 通知
loginctl lock-session、または logind.conf(5) の lock アクションを使用して、ロックすることを DBUS 経由でシステムに通知できます。この通知は、xss-lock などによって処理できます。
非アクティブ
logind.conf(5)では、IdleAction を lock に設定することができます。これは DBUS 通知をトリガーし、セッションをロックするために (例えば xsslock で) 処理する必要があります。
これはグローバルなシステムのためのものであることに注意してください (したがって、これはマルチユーザー環境において理想的ではありません。)
また、"これは、ユーザーセッションがシステムにアイドル状態を正しく報告することを必要とする" ことにも注意してください。
ユニット
サスペンドまたは休止状態の前に
スリープフック を使用。
[Unit] Description=Lock the screen Before=sleep.target [Service] User=%I Type=forking Environment=DISPLAY=:0 ExecStart=/usr/bin/i3lock -c 000000 [Install] WantedBy=sleep.target
特定のユーザーに対して有効にするには、有効化 sleep@Username.service
蓋を閉める
関連する ACPI イベント を使って lock アクションを使用することができます。