tmux
在 tty 上使用时,我希望它在一段时间后自动锁定。这适用于以下配置~/.tmux.conf
:
set -g lock-command vlock
set -g lock-after-time 30 # Seconds; 0 = never
我已经习惯tmux
并且也想从图形登录会话(例如 Wayland 上的 GNOME)使用它,我tmux
也在那里使用(例如通过 GNOME 终端)。在这种情况下,图形登录会话已经有锁屏,所以我不需要vlock
更多。
我怎样才能自动制作tmux
:
- 在 tty 上运行时锁定屏幕
- 在图形登录会话中运行时不锁定屏幕
答案1
lock-command vlock
vlock
在 tmux 客户端运行的地方运行。任何客户端都可以独立锁定。一般来说,参数是一个 shell 命令,不一定是单个可执行文件。
以下 tmux 命令将区分客户端上的/dev/tty*
其他任何内容(例如):/dev/pts/*
set -g lock-command 'tty | grep -q "^/dev/tty" && vlock'
然而在我的 Kubuntu 18.04.5 LTS 2.2.2 测试中,在vlock
非图形控制台中运行时,身份验证失败后允许未经授权的访问。即使我vlock
直接从 tmux 外部的 shell 运行,也会发生这种情况。在我的情况下,您的原始设置也允许未经授权的访问。该工具在打印下一个提示的过程中退出。我强烈怀疑有错误。
答案仍然存在,因为它确实解决了vlock
有条件运行的问题。接下来发生的事情似乎是一个单独的问题。请检查您的vlock
工作是否正常,并且不是安全漏洞。