![tmux:仅在控制台上使用 tmux 时锁定会话,而不是从图形 DE 中使用 tmux](https://linux22.com/image/192809/tmux%EF%BC%9A%E4%BB%85%E5%9C%A8%E6%8E%A7%E5%88%B6%E5%8F%B0%E4%B8%8A%E4%BD%BF%E7%94%A8%20tmux%20%E6%97%B6%E9%94%81%E5%AE%9A%E4%BC%9A%E8%AF%9D%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BB%8E%E5%9B%BE%E5%BD%A2%20DE%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20tmux.png)
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
工作是否正常,并且不是安全漏洞。