Как я могу иметь несколько сеансов терминала через одно соединение SSH?

У меня запущена версия сервера Ubuntu, и я могу использовать SSH для выполнения различных задач. Что я хотел бы, так это возможность SSH на моем сервере запустить серверное приложение, а затем переключиться на другой «виртуальный» сеанс (с тем же экземпляром SSH) и выполнить клиентские вызовы для службы. Когда я запускаю сервис, это блокирующий вызов, поэтому я не могу запустить клиентские вызовы против него, не запустив другой сеанс SSH.

Я надеялся, что может быть более изящный способ, что-то вроде пользовательского интерфейса с виртуальными рабочими столами.

21
задан 15 December 2015 в 20:30

4 ответа

То, что вы хотите использовать, - это экран или, что еще лучше, удобную оболочку вокруг экрана, которая называется byobu.

Экран позволяет запускать несколько сеансов виртуального терминала в одном сеансе SSH. Доступны справочные страницы и .

byobu - это оболочка, которая позволяет легко открывать новые экраны с помощью простой функциональной клавиши вместо сочетания клавиш ctrl-a. Он также показывает строку состояния со всеми открытыми виртуальными терминалами, которые могут быть названы.

Еще одна приятная особенность заключается в том, что весь ваш экран может работать, пока ваше ssh-соединение отключено. Вы просто подключаетесь снова через ssh и вызываете byobu, и все как раньше.

Наконец несколько скриншотов Бёбу.

0
ответ дан 15 December 2015 в 20:30

Я использую Emacs, поэтому настройка экрана по умолчанию усложняет мою жизнь.

$ cat /home/cjac/.screenrc 

бежать ^ \

Попробуйте!

0
ответ дан 15 December 2015 в 20:30

Если вы используете Ubuntu Server Edition, byobu, безусловно, ваш лучший вариант. Руководство по Ubuntu Server содержит полезную документацию .

Как правило, его легче освоить и использовать, чем screen, и он установлен по умолчанию.

0
ответ дан 15 December 2015 в 20:30

Экран GNU является ответом, который Вы искали - но он много похож на Vi. У Вас есть большое приобретение знаний о командах установить успешную Экранную среду. Вот некоторый материал для запущения Вас. В первую очередь, Вы захотите это .screenrc http://paste.ubuntu.com/473764/ сохраняет, это на удаленном сервере в Ваших пользователях размещает папку. Затем установите экран на удаленной машине (sudo apt-get install screen) Затем Вы захотите разжечь его, вот некоторые команды для того, чтобы "разжечь экран":

screen - Это довольно просто. Это запускает новую экранную сессию screen -ls - Перечислите все активные экранные сессии. Да у Вас может быть несколько терминалов в нескольких экранах. НАСТОЛЬКО СЛАДКИЙ.

Образец

screen -ls
There is a screen on:
    16467.pts-0.ubuntu  (08/05/2010 07:47:53 PM)    (Detached)
1 Socket in /var/run/screen/S-marco.

screen -x <pid> - Это возобновит сессию экрана Detached, IE: screen -x 16467

После того как Вы находитесь на Экране (и Вы использовали мой образец .screenrc файл) Вы будете видеть следующее вдоль нижней части:

(LOAD) 0$* bash

Который является загрузкой серверов, и список всех открывают "terminal tabs". В настоящее время только одно окно. Введите что-то затем Нажатие это Сочетание клавиш: Ctrl + A выпуск, затем нажмите c. Ctrl + A escape-последовательность. Все команды запускаются с этой комбинации. c создают новую вкладку. Вы заметите, что нижний колонтитул имеет (LOAD) 0-$ bash 1$* bash который показывает, что существует другая открытая вкладка, и активная вкладка является номером 1. Можно открыть максимум 60 вкладок на экранную сессию.

Если Вы хотите выйти из экрана, но сохранить его выполняющий использование Ctrl + A затем d который отсоединит Вашу сессию. Наконец можно закрыть вкладки при помощи Ctrl + A затем k который уничтожит ту вкладку (если она запрется), но обычно можно просто ввести exit как будто Вы были в терминале, и это закроет ту вкладку.

Наконец для списка всех окон, открытых, можно ввести Ctrl + A затем ".

Существует целое, убил опций, доступных для Экрана, для которого необходимо литься по файлу человека больше. Существуют некоторые недостатки. Вы не можете использовать свою полосу прокрутки на Экране, который необходимо использовать управления буфером для отката, однако вышеупомянутого достаточно для запущения Вас, чтобы видеть, является ли это жизнеспособным вариантом. Большая вещь об этом и чем-то я имел дело со много как Системный администратор - сетевое соединение. Если Ваша сеть выбудет, то Ваши операции не будут потеряны! Так как экран работает на сервере. Просто необходимо войти на пути SSH затем screen -ls и screen -x назад в Вашу сессию.

5
ответ дан 15 December 2015 в 20:30

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

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