Откройте другое окно терминала с тем же сеансом SSH, что и у исходного окна.

42

Есть ли способ открыть окно терминала (или вкладку) с другим экземпляром открытого сеанса SSH?

РЕДАКТИРОВАТЬ: у меня есть окно терминала с удаленной сессией SSH на сервер. Я хочу открыть новую вкладку, подключенную к тому же удаленному сеансу SSH.

С File-> New Tab я получаю еще одну вкладку, но мне нужно открыть еще одну сессию ssh на удаленном сервере.

Тулаинс Кордова
источник
Если вы используете ssh-copy-id и локальную конфигурацию SSH, подключение к yourwebserver.company.net похоже на «ssh web», даже не нужно проходить аутентификацию.
Давидбауман
@davidbaumann Комментарий слишком лаконичен. Не могли бы вы развить это в ответ? Что такое «ssh web»? Как это позволяет открыть новое окно терминала с тем же сеансом, что и?
Тулаинс Кордова
Это не тот же сеанс, но подключение по SSH сделает BR намного проще, вам не понадобятся другие хитрости.
Давидбауман
@ davidbaumann, тот же сеанс означает того же пользователя (если вы сделали su - someuser), те же переменные окружения (если вы выбрали src-файл), тот же рабочий каталог, ту же историю и т. д. Подключение без запроса пароля - это хорошо, но это не так. все остальное делаю
Тулаинс Кордова

Ответы:

14

Подключитесь к вашему удаленному серверу с помощью:

ssh -X [remote-host]      

Теперь запустите:

gnome-terminal &

Терминал появится на вашем локальном компьютере. С этого терминала вы можете запустить столько вкладок или окон терминала, сколько пожелаете. Все они будут использовать одно sshи то же соединение и будут подключены к удаленному компьютеру.

Л.Д. Джеймс
источник
Удаленный хост - это Debian, и у него нет gnome-терминала. Как называется терминальное приложение в Debian?
Тулаинс Кордова
1
@ user1598390 В моей установке (Version 7 - wheezy)терминальным приложением по умолчанию является gnome-терминал. Есть другие терминальные приложения, установленные. Они xterm, lxtermи uxterm. Я считаю, что наиболее распространенным на большинстве дистрибутивов будет xterm. Вы можете получить список приложений терминала с помощью командной строки cd /usr/bin;ls *term*.
Л.Д. Джеймс
1
Я попробовал это, и это не работает для меня.
Тулаинс Кордова
Какое сообщение об ошибке вы получаете при выполнении cd /usr/bin;ls *term*? Другими словами, какой клик вы выполнили и какое сообщение об ошибке?
Л.Д. Джеймс
Ошибка при выполнении xterm&-> [1] 26953 postgres@serverxxx:/usr/bin$ X11 connection rejected because of wrong authentication. xterm: Xt error: Can't open display: localhost:10.0Несмотря на то, что я работал xhost +на локальной машине. И даже когда я это сделалssh -X
Тулаинс Кордова
36

Возможно, это могло бы помочь: screen

Он не устанавливается по умолчанию в Ubuntu, но предоставляется в репозиториях.

Это очень полезно: sshдля удаленного хоста введите screenи введите screenсеанс.

Запустите любое трудоемкое задание, которое вам нравится, а затем нажмите Ctrl+, Aа затем Ctrl+, Cчтобы создать новое окно в сеансе экрана.

Это создаст новую оболочку, где вы сможете делать то, что хотите. Создайте еще больше окон, используя ту же команду.

Чтобы быстро переключаться между двумя окнами, используйте Ctrl+, Aа затем снова Ctrl+ A. Как видите, Ctrl+ Aпереводит экран в командный режим.

Ctrl+ A Ctrl+ Dотсоединится от экранной сессии. Затем вы можете отключиться от хоста и войти в систему позже и использовать screen -drдля возобновления сеанса.

Чтобы перейти к определенному screenокну, введите Ctrl+, Aа затем номер.

Экран выйдет, когда все активные окна будут закрыты (или оболочки изнутри).

Я получил это от сессий SSH и SFTP .

Редактировать-

tmux - это альтернатива screen. http://www.sitepoint.com/tmux-a-simple-start/

aaditya1234
источник
Не нужно ли устанавливать «экран» на удаленном хосте?
Тулаинс Кордова
Я полагаю, это так.
aaditya1234
Мне нужно подключиться ко многим рабочим серверам: серверам Solaris (новые версии, а также устаревшие версии), серверам Debian (несколько версий) и серверам RedHat (несколько версий). Необходимость установки нового программного обеспечения во всех из них не подлежит сомнению.
Тулаинс Кордова
Ах, вот что мой друг рассказал мне о том, как он управляет установкой нескольких компьютеров: bjoernvold.com/forum/viewtopic.php?f=11&t=3228
aaditya1234
1
Когда я использую экран, я не могу прокручивать вверх и вниз, тогда как я могу прокручивать вверх и вниз в обычной командной строке (та, которую я получаю сразу после выполнения ssh user@machine).
ComputerScientist
0

Я сделал это раньше: Запустите gnome-терминал на сервере. Ctrl + Z, затем bg из исходного окна терминала.

Я обычно использую ssh -X -C, так что вам, возможно, придется это сделать, но я не уверен. Кроме того, он будет использовать настройки вашего сервера вместо тех, которые установлены на вашем компьютере, что иногда неудобно.

это не моя вина
источник
-2

Да, в терминале (меню) нажмите Файл -> Новая вкладка

открыть новую вкладку в терминале

или ты просишь что-то еще?

aaditya1234
источник
Может быть, я не был достаточно ясен. У меня есть окно терминала с удаленной сессией SSH на другой сервер. Я хочу открыть новую вкладку, подключенную к тому же удаленному сеансу SSH. Посмотрите на правку в вопросе.
Тулаинс Кордова
хорошо .. возьми свой вопрос. будет искать ответ, поскольку я еще не знаю его.
aaditya1234
Некоторые проприетарные терминалы для Windows делают это. Но я бы предпочел использовать терминал Ubuntu.
Тулаинс Кордова