Отправка разных команд на разные терминалы - PullRequest
3 голосов
/ 17 ноября 2011

Мне нужно запустить 3 разные программы на разных «компьютерах».Эти компьютеры открыты в трех разных вкладках в терминале.Как мне сделать bash / python / ??скрипт, который может отправлять три разные команды на три разные вкладки.Заранее спасибо.

1 Ответ

2 голосов
/ 17 ноября 2011

Редактировать К комментариям:

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

Обратите внимание, что это позволяет легко встраивать переменные окружения:

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

I 'd используйте экран GNU:

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

Теперь существует множество опций для одновременного отображения нескольких или всех окон, отслеживания активности, регистрации вывода окна и так далее.Вы даже можете отключить сеанс и снова подключиться к нему, поэтому, если вы покинете свой рабочий стол, вы можете вернуться к своему сеансу, войдя в свой ПК, используя, например, ssh, и просто наберите

screen -DRS mysession

еще раз: вывернусь туда, где вы были, все три окна все еще активны

Изменить О, и так как вы спросили:

screen -xS mysession

будет просматривать / совместно использовать тот же сеанс (с именем mysession) без отсоединения другого терминала.Это позволяет вам совместно использовать экраны или показывать отдельные экраны сеанса в разных терминалах Xterm / gnome и т. Д.


Некоторые сочетания клавиш:

  • Ctrl + A Пробел следующий экран
  • Ctrl + A S разделить по горизонтали
  • Ctrl+ A | разделить по вертикали
  • Ctrl + A Tab фокус на следующее видимое окно

  • Ctrl + A D отсоединение (подключите с помощью screen -DR)

Многие многие другие функции ...

  • Ctrl + A ? Справка по функциям
...