「セッションをロック」の版間の差分
(英語版から転載) |
(一部翻訳) |
||
2行目: | 2行目: | ||
[[en:Session lock]] |
[[en:Session lock]] |
||
[[ru:Session lock]] |
[[ru:Session lock]] |
||
+ | セッションの画面をロックするユーティリティは数多くあります。ただし、使用するユーティリティは、使用している環境 (仮想コンソールまたは特定のディスプレイサーバー (Xorg または Wayland)) に大きく依存することに注意して下さい。 |
||
− | There are numerous utilities to lock the screen of a session. But it is important to note that the utility to use is highly dependent on the environment you are in, either the virtual console, or a specific display server (Xorg or Wayland). |
||
+ | 参照 [[アプリケーション一覧#スクリーンロック]] |
||
− | See [[List of applications#Screen lockers]]. |
||
− | == |
+ | == 環境別 == |
{{Merge|List of applications#Screen lockers|Same purpose, only split into categories.}} |
{{Merge|List of applications#Screen lockers|Same purpose, only split into categories.}} |
||
− | === |
+ | === 仮想コンソール === |
− | + | {{ic|vlock}} または {{Pkg|physlock}} を使用して、仮想コンソールをロックできます。 |
|
=== Xorg === |
=== Xorg === |
||
+ | Xorg でセッションをロックするには多くの方法があるため、このセクションは不完全になる可能性があります。ただし、いくつかの方法には次のものがあります。 |
||
− | There are many ways to lock the session under Xorg, so this section is likely to be incomplete. Some methods however include: |
||
+ | * {{Pkg|xlockmore}} パッケージ内の {{ic|xlock}} |
||
− | * {{ic|xlock}}, in the {{Pkg|xlockmore}} package - |
||
− | * {{ |
+ | * {{Pkg|xsecurelock}} パッケージ内の {{ic|xsecurelock}} |
− | * {{ |
+ | * {{Pkg|xscreensaver}} パッケージの {{ic|xscreensaver-command -lock}} |
* {{Pkg|xss-lock}} |
* {{Pkg|xss-lock}} |
||
− | * |
+ | * {{Pkg|slock}} パッケージの中の [[slock]] |
* {{Pkg|kscreenlocker}} |
* {{Pkg|kscreenlocker}} |
||
* {{Pkg|i3lock}} |
* {{Pkg|i3lock}} |
||
27行目: | 27行目: | ||
* {{AUR|alock}} |
* {{AUR|alock}} |
||
+ | ほとんどのデスクトップ環境には、セッションをロックする何らかの方法が用意されています。 |
||
− | Most desktop environments come with some way to lock the session. |
||
=== Wayland === |
=== Wayland === |
2023年3月5日 (日) 18:08時点における版
セッションの画面をロックするユーティリティは数多くあります。ただし、使用するユーティリティは、使用している環境 (仮想コンソールまたは特定のディスプレイサーバー (Xorg または Wayland)) に大きく依存することに注意して下さい。
環境別
仮想コンソール
vlock
または physlock を使用して、仮想コンソールをロックできます。
Xorg
Xorg でセッションをロックするには多くの方法があるため、このセクションは不完全になる可能性があります。ただし、いくつかの方法には次のものがあります。
- xlockmore パッケージ内の
xlock
- xsecurelock パッケージ内の
xsecurelock
- xscreensaver パッケージの
xscreensaver-command -lock
- xss-lock
- slock パッケージの中の slock
- kscreenlocker
- i3lock
- i3lock-colorAUR
- alockAUR
ほとんどのデスクトップ環境には、セッションをロックする何らかの方法が用意されています。
Wayland
You can lock the session with swaylock or waylock.
Triggering the lock
You can lock a session using different methods:
- from a terminal
- using a GUI:
- from a desktop icon
- using hot corners
- from a menu (mouse or keyboard driven)
- from a shortcut
- from an event:
- inactivity (using systemd, xss-lock or xautolock)
- systemd events (suspend, hibernate, etc.)
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.
- from the event trigger, add the lock to the event chain. So far this can only be done using systemd.
Shell triggers
Zsh
To execute a command after terminal inactivity, you can use the TMOUT environment variable.
You can combine it with a trap on the ALARM signal to execute the lock. Without a trap, it will just terminate the shell.
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
xss-lock
xss-lock is triggered by one of two things:
- systemd events
- 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>
systemd events
By default, xss-lock subscribes to suspend
, hibernate
, lock-session
, and unlock-session
with appropriate actions (run locker and wait for user to unlock or kill locker).
You can prevent xss-lock from being triggered by suspend
and hibernate
using --ignore-sleep
.
You can trigger a manual lock using loginctl lock-session
.
DPMS
To configure DPMS signaling timeout:
# Trigger screensaver after 10 minutes of inactivity xset s on xset s 600
DPMS signaling can also be configured in /etc/X11/xorg.conf.d/
in the Monitor
section.
Using DPMS signaling, you can set a second timer, for example to notify the user or to dim the screen. For example (from xss-lock(1)):
# Dim the screen after three minutes of inactivity, lock the screen two minutes later using i3lock: xset s 180 120 xss-lock -n dim-screen.sh -- i3lock -n
An example dim-screen.sh
script can be found in /usr/share/doc/xss-lock
.
xautolock
$ xautolock -time 12 -locker "systemctl suspend" -detectsleep
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.