使用Shell脚本在新终端标签中打开程序

raj*_*jat 5 shell

这是我写的一个小shell脚本。

x-terminal-emulator -e "optirun yarpserver" &
sleep 6
x-terminal-emulator -e "optirun iCub_SIM" &
sleep 60
x-terminal-emulator -e "optirun simCartesianControl" &
sleep 30
x-terminal-emulator -e "optirun iKinCartesianSolver --context simCartesianControl/conf --part left_arm" &
Run Code Online (Sandbox Code Playgroud)

这是为每个程序打开一个新的终端。我想要做的是打开新的终端选项卡,而不是终端。我应该怎么做呢?

fla*_*ini 0

我认为你最好的选择是使用tmux来完成这项工作。这里只是一个简单的例子和​​一步一步的解释。这里我只使用垂直分割,这可能会令人困惑,您应该阅读 tmux 手册页以了解如何select-panes

  • 首先以分离模式创建一个新的 tmux 会话
  • 然后发送适当的命令来启动您的第一个程序
  • 创建一个新的垂直分割
  • 发送适当的命令来启动您的第二个程序
  • 等等 ...
tmux 新会话-d -s foo
tmux send-keys -t foo 'optirun yarpserver' 输入
tmux 分割窗口 -v -t foo
tmux send-keys -t foo 'optirun iCub_SIM' Enter
tmux 分割窗口 -v -t foo
tmux send-keys -t foo 'optirun simCartesianControl' Enter
tmux 分割窗口 -v -t foo
tmux send-keys -t foo 'optirun iKinCartesianSolver --context simCartesianControl/conf --part left_arm' Enter

希望这对您有帮助。