当我使用 sudo 切换到 root 时,如果没有可用的 tmux 会话,我想自动启动一个新的 tmux 会话。
例如
- 重启电脑
- 通过 ssh 以普通用户身份登录
- sudo -s (然后会自动创建一个新的 tmux 会话)
- 我打开另一个终端/putty窗口并登录重复2和3,但这一次,不会创建任何会话,因为已经有一个会话了。
有什么想法可以做到这一点吗?
非常感谢 :)
答案1
屏风可以轻松启用和禁用登录时的自动 tmux 会话。如果您愿意安装和使用屏风 作为 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 变得非常简单。