
man screen
:
Screen is a full-screen window manager that multiplexes a physical ter‐
minal between several processes (typically interactive shells). Each
virtual terminal provides the functions of a DEC VT100 terminal and, in
addition, several control functions from the ISO 6429 (ECMA 48, ANSI
X3.64) and ISO 2022 standards (e.g. insert/delete line and support for
multiple character sets). There is a scrollback history buffer for
each virtual terminal and a copy-and-paste mechanism that allows moving
text regions between windows.
When screen is called, it creates a single window with a shell in it
(or the specified command) and then gets out of your way so that you
can use the program as you normally would. Then, at any time, you can
create new (full-screen) windows with other programs in them (including
more shells), kill existing windows, view a list of windows, turn out‐
put logging on and off, copy-and-paste text between windows, view the
scrollback history, switch between windows in whatever manner you wish,
etc. All windows run their programs completely independent of each
other. Programs continue to run when their window is currently not vis‐
ible and even when the whole screen session is detached from the user's
terminal. When a program terminates, screen (per default) kills the
window that contained it. If this window was in the foreground, the
display switches to the previous window; if none are left, screen
exits.
Разобравшись с техническими подробностями, чем это отличается, скажем, от создания вкладок в обычном терминале Gnome?
Из списка того, что можно сделать из руководства, я уже могу создавать новые вкладки, убирать вкладки, просматривать список своих вкладок, переключаться между окнами. Просто удобнее с экраном? Может кто-нибудь объяснить простым языком преимущества?
решение1
Прямо из страницы руководства, которую вы C&P:
Programs continue to run when their window is currently not visible and
even when the whole screen session is detached from the user's terminal.
Проще говоря, когда ваше интернет-соединение прерывается, ваши screen
программы продолжают работать, и когда вы снова входите в систему, вы можете повторно подключиться к этому сеансу.
Среди других случаев, когда это может быть полезно, — когда вы используете nohup
, например, запуск скрипта, который может на несколько секунд прервать сетевое соединение (если сеанс завершится, а скрипт прекратит работу, то SIGHUP
ваш компьютер может остаться без сети).
Я не знаю многих людей, которые используют функции «управления экраном» Screen, но я знаю множество людей, которые отключают программы, чтобы они продолжали работать после выхода из системы.
решение2
ДляSSH
сеансы, это просто находка. Вместо 5 одновременных сеансов (т.е. TCP-подключений) для функциональности вкладок на удаленном сервере, вы можете иметь 1.
Теперь представьте, что вам нужно администрировать 5 разных серверов с 5 вкладками на каждом. У вас будет 25 отдельных вкладок. При этом у вас может быть всего 5 вкладок, и тогда вы будете знать, на каком сервере вы находитесь.
Еще одним огромным преимуществом является то, что вы можете выйти из TTY (в данном случае закрыть вкладку), а затем снова подключиться позже и все еще иметь сеанс. Это чрезвычайно полезно для администрирования серверов, а также дома, если вы просто хотите вызвать сеанс позже, но не хотите смотреть на него часами, работая над другими делами.
решение3
Если вы знаете, как работает удаленный рабочий стол Microsoft, вы легко поймете, как работает экран. В основном то же самое, за исключением текстовой консоли. Таким образом, вы можете отсоединиться (отключиться) от консоли экрана, а затем снова подключиться к оставленному сеансу. Используйте горячие клавиши для переключения между окнами на экране, копирования, вставки, заморозки, завершения и т. д.
Итак, главное преимущество — сохранение состояния консоли, если вы внезапно отключились от хоста, на котором инициализировался экран, чтобы вы могли снова подключиться к хосту и возобновить последний сеанс.
screen -Dr (отключиться, если подключен кто-то еще, и подключиться к сеансу) Ca a Ca space Ca backspace Для поворота окна Ca c # для создания новых окон читайте man для получения дополнительной информации, но эта самая полезная горячая клавиша
решение4
С помощью screen вы можете повторно подключиться к сеансу screen с другого ПК или после перезагрузки вашего ПК. Вы можете оставить запущенным сеанс ssh на сервере, не оставляя терминал открытым.