tmux:仅在控制台上使用 tmux 时锁定会话,而不是从图形 DE 中使用 tmux

tmux:仅在控制台上使用 tmux 时锁定会话,而不是从图形 DE 中使用 tmux

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 vlockvlock在 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工作是否正常,并且不是安全漏洞。

相关内容