「セッションをロック」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎Wayland: 翻訳)
(テンプレート:Merge を削除)
 
(他の1人の利用者による、間の9版が非表示)
7行目: 7行目:
   
 
== 環境別 ==
 
== 環境別 ==
 
{{Merge|List of applications#Screen lockers|Same purpose, only split into categories.}}
 
   
 
=== 仮想コンソール ===
 
=== 仮想コンソール ===
33行目: 31行目:
 
{{Pkg|swaylock}} または {{Pkg|waylock}} でセッションをロックできます。
 
{{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:
 
** inactivity (using [[#Inactivity|systemd]], [[#xss-lock|xss-lock]] or [[#xautolock|xautolock]])
+
** 非アクティブ ([[#非アクティブ|systemd]][[#xss-lock|xss-lock]][[#xautolock|xautolock]] を使用) イベントから
** [[#systemd events|systemd events]] (suspend, hibernate, etc.)
+
** [[#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.
 
   
=== Shell triggers ===
+
=== シェルトリガー ===
   
 
==== 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 triggers ===
+
=== Xorg トリガー ===
   
 
==== xss-lock ====
 
==== xss-lock ====
   
  +
{{pkg|xss-lock}} は、次の 2 つのいずれかによってトリガーされます。
{{pkg|xss-lock}} is triggered by one of two things:
 
* systemd events
+
* 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 events =====
+
===== systemd イベント =====
   
By default, xss-lock subscribes to {{ic|suspend}}, {{ic|hibernate}}, {{ic|lock-session}}, and {{ic|unlock-session}} with appropriate actions (run locker and wait for user to unlock or kill locker).
+
デフォルトで、xss-lock {{ic|suspend}}{{ic|hibernate}}{{ic|lock-session}}、および {{ic|unlock-session}} に適切なアクション (ロッカーを実行) でサブスクライブします。ユーザーがロッカーのロックを解除または強制終了するのを待ちます)
   
You can prevent xss-lock from being triggered by {{ic|suspend}} and {{ic|hibernate}} using {{ic|--ignore-sleep}}.
+
{{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 signaling can also be configured in {{ic|/etc/X11/xorg.conf.d/}} in the {{ic|Monitor}} section.
+
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
   
An example {{ic|dim-screen.sh}} script can be found in {{ic|/usr/share/doc/xss-lock}}.
+
{{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 min to 1 hour for {{ic|time}}
+
* 1 分から 1 時間 {{ic|time}}
* 10 min to 2 hour for {{ic|killtime}}
+
* 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 triggers ===
+
=== 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 notification ====
+
==== D-Bus 通知 ====
   
Using {{ic|loginctl lock-session}}, or the {{ic|lock}} action in {{man|5|logind.conf}}, you can notify the system through DBUS that you want to lock. This notification can then be processed, for example by xss-lock.
+
{{ic|loginctl lock-session}}、または {{man|5|logind.conf}} {{ic|lock}} アクションを使用して、ロックすることを DBUS 経由でシステムに通知できます。この通知は、xss-lock などによって処理できます。
   
==== Inactivity ====
+
==== 非アクティブ ====
   
In {{man|5|logind.conf}}, you can configure the {{ic|IdleAction}} to {{ic|lock}}. This will trigger a DBUS notification, that will have to be processed (for example by xsslock) to lock the session.
+
{{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".
 
   
==== Units ====
+
==== ユニット ====
   
===== Before suspend or hibernate =====
+
===== サスペンドまたは休止状態の前に =====
   
  +
[[電源管理#スリープフック|スリープフック]] を使用。
You can use a [[Power management#Sleep hooks|Sleep hook]].
 
   
 
{{bc|1=
 
{{bc|1=
153行目: 151行目:
 
}}
 
}}
   
To enable it for a certain user, [[enable]] {{ic|sleep@''Username''.service}}.
+
特定のユーザーに対して有効にするには、[[有効化]] {{ic|sleep@''Username''.service}}
   
===== Lid closing =====
+
===== 蓋を閉める =====
   
  +
関連する [[電源管理#ACPI イベント|ACPI イベント]] を使って {{ic|lock}} アクションを使用することができます。
You can use the {{ic|lock}} action using the related [[Power management#ACPI events|ACPI event]].
 
   
== See also ==
+
== 参照 ==
   
 
* [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 でセッションをロックするには多くの方法があるため、このセクションは不完全になる可能性があります。ただし、いくつかの方法には次のものがあります。

ほとんどのデスクトップ環境には、セッションをロックする何らかの方法が用意されています。

Wayland

swaylock または waylock でセッションをロックできます。

ロックのトリガー

セッションをロックするには、さまざまな方法があります。

  • ターミナルから
  • GUI を使用
    • デスクトップアイコンから
    • ホットコーナーの使用
    • メニュー (マウスまたはキーボード操作) からを選択します
  • ショートカット から
  • イベントから

最後のポイント (イベントからロックをトリガーする) は、最も厄介です。

  • アクショントリガーでロックを実行し、その後、最初のアクションを実行する。
  • イベントトリガーから、イベントチェーンにロックを追加する。今のところ、これは systemd を使ってしかできません。

シェルトリガー

Zsh

ターミナルの非アクティブ後にコマンドを実行するには、環境変数 TMOUT を使用することができます。

ALARM 信号のトラップと組み合わせることで、ロックを実行することができます。トラップがなければ、シェルを終了させるだけです。

グラフィカル環境にいるかどうかを検出したい場合があります。そうしないと、理由を理解できずに GUI 端末がクローズされる可能性があります。

Xorg トリガー

xss-lock

xss-lock は、次の 2 つのいずれかによってトリガーされます。

  • systemd イベント
  • DPMS

これの利点は、手動で発行されたロック、非アクティブ状態によるロック、およびサスペンド コマンドによる同じ場所でのロックを制御できることです。

これらのイベントのいずれかでアクションを実行するには:

$ xss-lock <locker-utility>
systemd イベント

デフォルトで、xss-lock は suspendhibernatelock-session、および unlock-session に適切なアクション (ロッカーを実行) でサブスクライブします。ユーザーがロッカーのロックを解除または強制終了するのを待ちます)

suspendhibernate によって 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 にあります。

ノート: DPMS で xss-lock を使用する場合、自分で画面をブランクにする必要があります。ビデオを見ているときはトリガーされません

xautolock

$ xautolock -time 12 -locker "systemctl suspend" -detectsleep
ノート: xautolock には制限付きのタイマー制限があります。
  • 1 分から 1 時間 time
  • 10 分から 2 時間 killtime
再開後に xautolock がセッションをロックしないようにするために、-detectsleep を追加する必要がある場合があります。xautolock の優れた機能の 1 つは corners です。

Wayland トリガー

swayidle

swayidle は、Wayland コンポジタからのアイドルアクティビティと systemd イベントをリッスンし、それに応じてコマンドを実行します。Sway#アイドリング を参照してください。

D-Bus 通知

loginctl lock-session、または logind.conf(5)lock アクションを使用して、ロックすることを DBUS 経由でシステムに通知できます。この通知は、xss-lock などによって処理できます。

非アクティブ

logind.conf(5)では、IdleActionlock に設定することができます。これは 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 アクションを使用することができます。

参照