「セッションをロック」の版間の差分
(typo) |
Kusanaginoturugi (トーク | 投稿記録) (テンプレート:Merge を削除) |
||
(他の1人の利用者による、間の10版が非表示) | |||
7行目: | 7行目: | ||
== 環境別 == |
== 環境別 == |
||
− | |||
− | {{Merge|List of applications#Screen lockers|Same purpose, only split into categories.}} |
||
=== 仮想コンソール === |
=== 仮想コンソール === |
||
31行目: | 29行目: | ||
=== Wayland === |
=== Wayland === |
||
− | + | {{Pkg|swaylock}} または {{Pkg|waylock}} でセッションをロックできます。 |
|
+ | == ロックのトリガー == |
||
− | == Triggering the lock == |
||
+ | セッションをロックするには、さまざまな方法があります。 |
||
− | You can lock a session using different methods: |
||
+ | * ターミナルから |
||
− | * from a terminal |
||
+ | * GUI を使用 |
||
− | * using a GUI: |
||
+ | ** デスクトップアイコンから |
||
− | ** from a desktop icon |
||
+ | ** ホットコーナーの使用 |
||
− | ** using hot corners |
||
+ | ** メニュー (マウスまたはキーボード操作) からを選択します |
||
− | ** from a menu (mouse or keyboard driven) |
||
+ | * [[キーボードショートカット|ショートカット]] から |
||
− | * from a [[Keyboard shortcuts|shortcut]] |
||
+ | * イベントから |
||
− | * from an event: |
||
− | ** |
+ | ** 非アクティブ ([[#非アクティブ|systemd]]、[[#xss-lock|xss-lock]]、[[#xautolock|xautolock]] を使用) イベントから |
− | ** [[#systemd |
+ | ** [[#systemd イベント|systemd イベント]] (サスペンド、ハイバネートなど) |
+ | 最後のポイント (イベントからロックをトリガーする) は、最も厄介です。 |
||
− | The last point (triggering a lock from an event) is the trickiest, because you can do it in one of two ways: |
||
+ | * アクショントリガーでロックを実行し、その後、最初のアクションを実行する。 |
||
− | * get the action trigger to execute your lock, then to execute the initial action. |
||
+ | * イベントトリガーから、イベントチェーンにロックを追加する。今のところ、これは systemd を使ってしかできません。 |
||
− | * from the event trigger, add the lock to the event chain. So far this can only be done using systemd. |
||
− | === |
+ | === シェルトリガー === |
==== Zsh ==== |
==== Zsh ==== |
||
+ | ターミナルの非アクティブ後にコマンドを実行するには、環境変数 TMOUT を使用することができます。 |
||
− | To execute a command after terminal inactivity, you can use the TMOUT environment variable. |
||
+ | ALARM 信号のトラップと組み合わせることで、ロックを実行することができます。トラップがなければ、シェルを終了させるだけです。 |
||
− | You can combine it with a trap on the ALARM signal to execute the lock. Without a trap, it will just terminate the shell. |
||
+ | グラフィカル環境にいるかどうかを検出したい場合があります。そうしないと、理由を理解できずに GUI 端末がクローズされる可能性があります。 |
||
− | You might want to detect if you are in a graphical environment, otherwise your GUI terminals might start disappearing without you understanding why. |
||
− | === Xorg |
+ | === Xorg トリガー === |
==== xss-lock ==== |
==== xss-lock ==== |
||
+ | {{pkg|xss-lock}} は、次の 2 つのいずれかによってトリガーされます。 |
||
− | {{pkg|xss-lock}} is triggered by one of two things: |
||
− | * systemd |
+ | * systemd イベント |
* [[DPMS]] |
* [[DPMS]] |
||
+ | これの利点は、手動で発行されたロック、非アクティブ状態によるロック、およびサスペンド コマンドによる同じ場所でのロックを制御できることです。 |
||
− | The advantage of this is that you can control a lock issued manually, by inactivity, and by a suspend command at the same place. |
||
+ | これらのイベントのいずれかでアクションを実行するには: |
||
− | To execute an action on one of those events: |
||
$ xss-lock <locker-utility> |
$ xss-lock <locker-utility> |
||
− | ===== systemd |
+ | ===== systemd イベント ===== |
− | + | デフォルトで、xss-lock は {{ic|suspend}}、{{ic|hibernate}}、{{ic|lock-session}}、および {{ic|unlock-session}} に適切なアクション (ロッカーを実行) でサブスクライブします。ユーザーがロッカーのロックを解除または強制終了するのを待ちます) |
|
− | + | {{ic|suspend}} と{{ic|hibernate}} によって xss-lock がトリガーされるのを、{{ic|--ignore-sleep}} を使って防ぐことができます。 |
|
+ | {{ic|loginctl lock-session}} を使用すると、手動ロックをトリガーすることができます。 |
||
− | You can trigger a manual lock using {{ic|loginctl lock-session}}. |
||
===== DPMS ===== |
===== DPMS ===== |
||
+ | DPMS シグナリングタイムアウトを設定するには: |
||
− | To configure DPMS signaling timeout: |
||
+ | # 10 分間操作がないとスクリーンセーバーを起動する |
||
− | # Trigger screensaver after 10 minutes of inactivity |
||
xset s on |
xset s on |
||
xset s 600 |
xset s 600 |
||
− | DPMS |
+ | DPMS シグナリングは、{{ic|Monitor}} セクションの {{ic|/etc/X11/xorg.conf.d/}} で設定することもできます。 |
+ | DPMS シグナリングを使用すると、たとえばユーザーに通知したり、画面を暗くしたりするために、2 番目のタイマーを設定できます。例 ({{man|1|xss-lock}} から): |
||
− | Using DPMS signaling, you can set a second timer, for example to notify the user or to dim the screen. For example (from {{man|1|xss-lock}}): |
||
+ | # 3 分間操作がないと画面が暗くなり、2 分後に i3lock を使用して画面をロックします。 |
||
− | # Dim the screen after three minutes of inactivity, lock the screen two minutes later using i3lock: |
||
xset s 180 120 |
xset s 180 120 |
||
xss-lock -n dim-screen.sh -- i3lock -n |
xss-lock -n dim-screen.sh -- i3lock -n |
||
− | + | {{ic|dim-screen.sh}} スクリプトの例は {{ic|/usr/share/doc/xss-lock}} にあります。 |
|
+ | {{Note|[[DPMS]] で xss-lock を使用する場合、自分で画面をブランクにする必要があります。ビデオを見ているときはトリガーされません}} |
||
− | {{Note|When using xss-lock with [[DPMS]], you will have to blank the screen yourself. It will not be triggered when looking at videos.}} |
||
==== xautolock ==== |
==== xautolock ==== |
||
106行目: | 104行目: | ||
{{Note|1= |
{{Note|1= |
||
+ | xautolock には制限付きのタイマー制限があります。 |
||
− | xautolock has restrictive timer limits: |
||
− | * 1 |
+ | * 1 分から 1 時間 {{ic|time}} |
− | * 10 |
+ | * 10 分から 2 時間 {{ic|killtime}} |
+ | 再開後に xautolock がセッションをロックしないようにするために、{{ic|-detectsleep}} を追加する必要がある場合があります。xautolock の優れた機能の 1 つは {{ic|corners}} です。 |
||
− | It might be necessary to add {{ic|-detectsleep}} to prevent xautolock from locking the session after resuming. One nice feature of xautolock is the {{ic|corners}}. |
||
}} |
}} |
||
− | === 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行目: | 151行目: | ||
}} |
}} |
||
− | + | 特定のユーザーに対して有効にするには、[[有効化]] {{ic|sleep@''Username''.service}} |
|
− | ===== |
+ | ===== 蓋を閉める ===== |
+ | 関連する [[電源管理#ACPI イベント|ACPI イベント]] を使って {{ic|lock}} アクションを使用することができます。 |
||
− | You can use the {{ic|lock}} action using the related [[Power management#ACPI events|ACPI event]]. |
||
− | == |
+ | == 参照 == |
* [https://geoff.greer.fm/2018/01/02/linux-laptop-locking/ Geoff Greer's site: Linux Laptop Locking] |
* [https://geoff.greer.fm/2018/01/02/linux-laptop-locking/ Geoff Greer's site: Linux Laptop Locking] |
2023年4月5日 (水) 17:15時点における最新版
セッションの画面をロックするユーティリティは数多くあります。ただし、使用するユーティリティは、使用している環境 (仮想コンソールまたは特定のディスプレイサーバー (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
アクションを使用することができます。