Как мне открыть новое окно терминала для ssh на новый компьютер и выполнить команды?

По сути, у меня есть компьютер, на котором я должен установить ssh и установить около 8 терминалов для мониторинга различных потоков и файлов журналов. Я хотел бы получить скрипт от моей машины сборки, который может сделать все это для меня. Например, если я хочу просмотреть очереди сообщений, я бы хотел выполнить что-то вроде этого:

gnome-terminal --window-with-profile=NOCLOSEPROFILE -e "ssh root@IP 'watch ipcs'" 

Но команда ssh, похоже, не выполняется должным образом. Я попробовал дюжину итераций этого, но не повезло. Вот снимок экрана, если это помогает.

enter image description here

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

Заранее спасибо

** РЕДАКТИРОВАТЬ Я, кажется, могу сделать это и выполнить большинство команд с помощью вышеуказанной команды, но команда watch не работает над ssh, так что, возможно, Синтаксис не проблема. Есть ли причина, по которой watch может не работать здесь, где

gnome-terminal --window-with-profile=NOCLOSEPROFILE -e 'ssh -X root@$IP "tail -f /home/log/alog.log"'

работает нормально?

5
задан 18 June 2013 в 02:05

2 ответа

Вместо того, чтобы открывать несколько окон и устанавливать несколько сессий ssh ​​(на одну и ту же машину?), Взгляните на экран. Вы можете подключиться к хосту, запустить стартовый экран и оттуда открыть несколько виртуальных консолей, по одной для каждой команды, которую вы хотите выполнить.

Что действительно хорошо в screen, так это то, что если вы потеряете соединение ssh, вы можете создать новое и заново подключиться к сеансам работающего экрана. Это действительно здорово. Существует также tmux, похожая программа (не знаю, насколько она доступна для разных Linux.

Ссылка: http://en.wikipedia.org/wiki/GNU_Screen

. ]
0
ответ дан 18 June 2013 в 02:05

Вы пытаетесь запустить интерактивную команду, для которой требуется tty, и по умолчанию ssh не выделяет tty, когда вы указываете команду для запуска на удаленном компьютере. Добавьте флаг -t, чтобы заставить его выделять tty.

0
ответ дан 18 June 2013 в 02:05

Другие вопросы по тегам:

Похожие вопросы: