我目前有一个 shellscript,它为我创建一个具有 3 个窗口的会话:
- 扎什- 空的
- Vim
tmux-sendkeys
- 运行 Vim,由)启动 - 差异- 空的
然而,我想为根业务引入第四个窗口。
我如何以 root 身份启动窗口,无论是使用tmux send-keys
(我还没有让它工作)还是其他方式?
答案1
首先,这可能是非常糟糕的想法。说真的,拥有一个总是以 root 权限运行的 shell 只会自找麻烦。
有了这个警告,你可以这样做:
tmux new-window 'sudo su -'
它将创建新的 tmux 窗口,然后提示您输入密码。如果出于某种原因,您希望在创建 tmux 窗口之前提示输入密码,您可以这样做:
sudo --validate
tmux new-window 'sudo su -'
您几乎肯定想更改新窗口的名称:
tmux new-window -n '** ROOT **' 'sudo su -'
但在我看来,你真的需要重新思考一下为什么你一开始要这样做。
答案2
我成功地在服务器中设置了一项任务,以 root 身份创建一个新的会话:
tmux new-session -d -s <your-session-name> 'echo "<root-password>" | sudo -S bash -c "<the-command-goes-over-here>"'