向不同的终端发送不同的命令

时间:2011-11-16 21:00:48

标签: bash terminal command gnome-terminal

我需要在不同的'计算机'上运行3个不同的程序。这些计算机在终端中的三个不同选项卡中打开。我如何制作bash / python / ??脚本可以向三个不同的选项卡发送三个不同的命令。提前致谢。

1 个答案:

答案 0 :(得分:2)

修改至评论:

gnome-terminal -e "bash -c 'ls *; echo hello world; ssh user@remote -XCt xterm'"

请注意,这也允许您轻松嵌入环境变量:

MESSAGE="goobye"
gnome-terminal -e "bash -c 'echo $MESSAGE'"

我使用GNU屏幕:

screen -DRS mysession # starts the session with a given name
screen command1       # start the commands
screen command2
screen command3

现在有很多选项可以同时显示多个或所有窗口,监视活动,记录窗口的输出等等。您甚至可以分离会话并重新连接到会话,因此如果您离开桌面,可以使用以下方式登录PC来返回会话。 ssh,只需输入

screen -DRS mysession

再次:你会回到原来的位置,所有三个窗口仍然活跃

编辑哦,自从你问:

screen -xS mysession

将在不分离另一个终端的情况下查看/共享同一会话(名为mysession)。这使您可以远程共享屏幕,或在不同的Xterm / gnome终端等中显示会话的单独屏幕。


一些键绑定:

  • Ctrl + A Space 下一个屏幕
  • Ctrl + A S 水平拆分
  • Ctrl + A | 垂直拆分
  • Ctrl + A Tab 焦点到下一个可见窗口

  • Ctrl + A D 分离(重新挂接screen -DR

还有更多功能......

  • Ctrl + A 功能帮助