Каждое утро мне приходится открывать множество удаленных сессий на работе в дистрибутиве linux, маркировать сессию Windows, вводить ssh user @ server и cd в каталог на этом сервере. Я хочу сэкономить время и сделать это автоматически следующим образом:

Open позволяет, скажем, пяти различным удаленным терминальным сеансам Windows в одном кадре, автоматически назначать им «Windows, Windows и т.д.», Подключать их к удаленному серверу через ssh и, наконец, переходить в определенный каталог на этих удаленных серверах, все с Отдельная команда терминала или графический интерфейс.

Какими способами можно достичь этого?

5 ответов5

0

secpanel имеет интеграцию с ClusterSSH, поддерживает закладки вашего удаленного хоста и заголовки окон терминала.

0

Вы можете попробовать приложение ClusterSSH:

http://sourceforge.net/projects/clusterssh/

0

Сценарий bash с чем-то вроде этого должен работать до тех пор, пока n-term и gnome-Terminal имеют одинаковый синтаксис. Вы можете получить значение геометрии, вручную разместив окно в нужном вам месте, а затем запустив xwininfo.

Приветствия.


/usr/bin/gnome-terminal --geometry 95x9+2+844 --window --title = SERVER1 -e "ssh -t user@192.168.0.1 'cd /usr/local /bin; bash'" - active --tab --title = SERVER2 -e "ssh -t user@192.168.0.2 'cd /usr/local /bin; bash'" &

0

Вы можете просто написать простой скрипт:

#!/usr/bin/bash

xterm -T "Window 1" -e "ssh -t user@server1  'cd /usr/share; othercmd; bash -i' "&
xterm -T "Window 2" -e "ssh -t user@server2  'cd /usr/share; othercmd;  bash -i'"&
xterm -T "Window 3" -e "ssh -t user@server3  'cd /usr/share; othercmd;  bash -i'"&
xterm -T "Window 4" -e "ssh -t user@server4  'cd /usr/share; othercmd;  bash -i'"&

Это будет порождать для xterms (пользовательская другая терминальная программа по желанию) каждый вход в систему на указанных серверах (server1-4) и затем выполнение указанных команд (cd и другие команды) и оставление указанной оболочки (bash) работающей. Заголовок задается параметром -T (для xterm другие эмуляторы терминала могут иметь разные параметры).

Не красиво, но и не ужасно.

Вы также можете использовать screen вместо xterms и, вероятно, сделать все это в определенном файле screen.rc. Программа терминала XFCE (мой текущий любимый, используемый в любом другом DE кроме XFCE) принимает те же параметры командной строки. Гном-терминал не имеет. Не уверен насчет KDE или других, но я уверен, что есть нечто подобное.

В терминале XFCE замените скрипт одной строкой:

#!/usr/bin/bash

Terminal --tab -T "Window 1" -e "ssh -t root@flock  'cd /usr/share; bash -i' " --tab -T "Window 2" -e "ssh -t root@treepie  'cd /usr/share; bash -i'" --tab -T "Window 3" -e "ssh -t root@magpie  'cd /usr/share; bash -i'" --tab -T "Window 4" -e "ssh -t root@raven  'cd /usr/share; bash -i'"&

... и вы получите одно окно с несколькими вкладками, помеченными так.

0

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

И да, tmux позволяет отправлять команды на окна и панели. Таким образом, вы можете достичь всего этого без особых хлопот. По сути, вы можете определить команду для запуска каждой панели, а затем после этого отправлять строки (в действительности это не команды, вы могли бы сделать так, чтобы tmux " ввел " что-то в Vim).

Посмотрите на скриншоты на их сайте - или используйте поиск изображений в этом отношении - и пусть это убедит вас.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .