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

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎DPMS: 翻訳)
83行目: 83行目:
 
===== 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 ====

2023年3月5日 (日) 18:24時点における版

セッションの画面をロックするユーティリティは数多くあります。ただし、使用するユーティリティは、使用している環境 (仮想コンソールまたは特定のディスプレイサーバー (Xorg または Wayland) に大きく依存することに注意して下さい。

参照 アプリケーション一覧#スクリーンロック

環境別

この記事あるいはセクションは List of applications#Screen lockers と合併することが議論されています。
ノート: Same purpose, only split into categories. (議論: トーク:セッションをロック#)

仮想コンソール

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 has restrictive timer limits:
  • 1 min to 1 hour for time
  • 10 min to 2 hour for killtime
It might be necessary to add -detectsleep to prevent xautolock from locking the session after resuming. One nice feature of xautolock is the corners.

Wayland triggers

swayidle

swayidle listens for idle activity from the Wayland compositor, as well as systemd events, and executes commands accordingly. See Sway#Idle.

D-Bus notification

Using loginctl lock-session, or the lock action in logind.conf(5), you can notify the system through DBUS that you want to lock. This notification can then be processed, for example by xss-lock.

Inactivity

In logind.conf(5), you can configure the IdleAction to lock. This will trigger a DBUS notification, that will have to be processed (for example by xsslock) to lock the session.

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 Sleep hook.

[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

To enable it for a certain user, enable sleep@Username.service.

Lid closing

You can use the lock action using the related ACPI event.

See also