如何在登录时自动启动 tmux 会话?

如何在登录时自动启动 tmux 会话?

当我使用 sudo 切换到 root 时,如果没有可用的 tmux 会话,我想自动启动一个新的 tmux 会话。

例如

  1. 重启电脑
  2. 通过 ssh 以普通用户身份登录
  3. sudo -s (然后会自动创建一个新的 tmux 会话)
  4. 我打开另一个终端/putty窗口并登录重复2和3,但这一次,不会创建任何会话,因为已经有一个会话了。

有什么想法可以做到这一点吗?

非常感谢 :)

答案1

屏风可以轻松启用和禁用登录时的自动 tmux 会话。如果您愿意安装和使用屏风 安装 byobu作为 tmux 的接口来满足这一需求,它使执行您所要求的操作变得非常简单。在终端中,运行

sudo apt-get install byobu
sudo byobu-enable
sudo -i

从现在开始,当 root 用户通过控制台、SSH 或使用 登录时sudo -i,byobu 将附加到现有的 tmux 会话,如果尚未运行,则创建一个新的会话。

请注意,我使用的sudo -i是 而不是sudo -s。该-s选项仅启动 shell,而不是登录 shell。您应该使用sudo -i来模拟完整登录,它也会加载 root ~/.profile,这是您运行 时 byobu 将自行安装的位置byobu-enable

可能有办法单独使用 tmux 来完成您想要的操作,但是 byobu 使得自动设置和启动 tmux 变得非常简单。

相关内容