Введение

Программное обеспечение терминального мультиплексора GNU Screen — это приложение, позволяющее использовать несколько виртуальных консолей одновременно, предоставляя пользователю доступ к нескольким независимым сеансам в одном окне терминала, а также отсоединять и повторно подключать сеансы к терминалу. Оно полезно для работы с несколькими программами через командную строку и для отделения программ от сеанса Unix-оболочки, из которой они были запущены, особенно для обеспечения продолжения работы удалённого процесса даже после отключения пользователя. GNU Screen распространяется как свободное программное обеспечение в соответствии с условиями GNU General Public License версии 3 или более поздней.

Особенности

GNU Screen можно рассматривать как текстовый аналог графических менеджеров окон или как способ запуска виртуальных терминалов в рамках любой сессии входа в систему. Это оболочка, позволяющая одновременно запускать несколько текстовых программ и предоставляющая функции для продуктивной работы с ними в едином интерфейсе. Это обеспечивает такие возможности, как сохранение сессии, работа с несколькими окнами и совместный доступ к сеансам. Screen часто используется при нестабильном сетевом соединении с терминалом, поскольку разрыв соединения обычно приводит к завершению всех запущенных пользователем программ (дочерних процессов сессии входа в систему) из-за окончания сессии и отправки сигнала "hangup" (SIGHUP) всем дочерним процессам. Запуск приложений через Screen означает, что сессия не прерывается – отсоединяется только неактивный терминал – поэтому приложения даже не замечают отсоединения, и пользователь может позже повторно подключиться к сеансу и продолжить работу с того места, где остановился.

История

Screen был первоначально разработан Оливером Лауманном и Карстеном Борманном в Техническом университете Берлина и опубликован в 1987 году. К критериям проектирования относились эмуляция VT100 (включая ANSI X3.64 (ISO 6429) и ISO 2022) и приемлемая производительность для интенсивного ежедневного использования, когда терминалы, основанные на символах, все еще были широко распространены. Позже была добавлена новая, на тот момент, функция отключения и повторного подключения. Около 1990 года Лауманн передал поддержку кода Юргену Вайгерту и Майклу Шредеру из Университета Эрлангена-Нюрнберга, которые впоследствии перенесли проект в GNU Project и добавили такие функции, как история прокрутки, разделенный экран, копирование и вставка, а также совместный доступ к экрану. К 2014 году разработка практически остановилась. Желая изменить это, Амадеуш Славинский предложил свою помощь. В ответ Лауманн назначил его сопровождающим проекта. Славинский выпустил первый новый релиз Screen за полдесятилетия. Поскольку в сети ходили некоторые неофициальные релизы "Screen 4.1", он назвал этот новый релиз "Screen 4.2.0". В мае 2015 года на конференции openSUSE Юрген Вайгерт пригласил Александра Наумова помочь в разработке и поддержке GNU screen. Через два месяца, при помощи Александра, был выпущен GNU screen 4.3.0.