現在ターミナルマルチプレクサは Byobu 経由で GNU screen と tmux を環境により併用しています.GNU screen では画面ロックの設定をしていたのですがtmux は設定していなかったので今回 console lock コマンドの vlock を設定してみました.
$ sudo apt install vlock
$ vlock -h vlock: locks virtual consoles, saving your current session. Usage: vlock [options] [plugins...] Where [options] are any of: -c or --current: lock only this virtual console, allowing user to switch to other virtual consoles. -a or --all: lock all virtual consoles by preventing other users from switching virtual consoles. -n or --new: allocate a new virtual console before locking, implies --all. -s or --disable-sysrq: disable SysRq while consoles are locked to prevent killing vlock with SAK -t <seconds> or --timeout <seconds>: run screen saver plugins after the given amount of time. -v or --version: Print the version number of vlock and exit. -h or --help: Print this help message and exit.
$ vlock -c This TTY is now locked. Please press [ENTER] to unlock. matoken's Password:
$ vlock -a The entire console display is now completely locked. You will not be able to switch to another virtual console. Please press [ENTER] to unlock. matoken's Password: $ tty /dev/tty1
$ vlock -a vlock: this terminal is not a virtual console $ tty /dev/pts/9
$ cat ~/.byobu/.tmux.conf # Enable locking(I need vlock -> sudo apt install vlock) set -g lock-command vlock set -g lock-after-time 0 bind l lock-session
.tmux.conf
に設定した状態で tmux を起動して Ctrl+b l と押すと vlock でロックされます.セッション単位でロックされます.
ちなみに X では xscreensaver-command -activate
を設定しています.例えば以下は awesome wm で Mod4 + l に設定してあります.
-- lock screen awful.key({ "Mod1" }, "l", function () awful.util.spawn( "xscreensaver-command -activate",false) end),
$ dpkg-query -W byobu screen tmux vlock byobu 5.129-1 screen 4.6.2-3 tmux 2.8-3 vlock 2.2.2-8 $ hostnamectl | egrep 'Operating System|Architecture' Operating System: Debian GNU/Linux 10 (buster) Architecture: x86-64