Утилита фонового запуска программ Screen

Запуск

Ставим:

apt install screen

Простейший запуск осуществляется командой screen. При запуске в таком виде, т.е. без параметров, программа создаст новый скрин, в котором откроет сессию командной оболочки, как если бы вы залогинились в tty-консоли или открыли новую вкладку в графическом терминале, для наглядности выполните что-нибудь в командной строке - например, ls.

Выход из screen

Теперь о том, как свернуть запущенный скрин вместе со всем, что в нем работает. Для этого нужно нажать Ctrl+A, после чего нажать D. в принципе, это единственная комбинация, которую простому пользователю стоит запомнить. Сtrl+A переведет screen в командный режим. клавиша D даст команду свернуть текущий скрин. Теперь вы можете закрыть терминал или разлогиниться с tty-консоли - запущенный в свернутом скрине процесс продолжит работу в фоне.

Возврат в screen

Для того, чтобы вернуться к свернутому скрину, достаточно запустить:

screen -r
Ключ -r как раз и укажет программе, что нужно развернуть свернутый скрин (если таковой, конечно, имеется). Перед вами появится та самая сессия в консоли, которую вы свернули, со всем, что в ней было.

Закрытие сессии

Теперь выйдете из сессии с помощью команды exit. Screen сообщит о завершении своей работы. Вместе с заваршением сессии scren, завершатся и все запущенные в нем процессы.

Работа с несколькими скринами

Eсли вам нужно запустить лишь одну программу - вышеописанного более чем достаточно, но в случае если таких программ несколько - скринам нужно будет раздать имена, чтобы screen знала, к какому именно свернутому скрину вы хотите вернуться. Имя создаваемого скрина задается с помощью ключа -S:

screen -S torrent
Cверните скрин с torrent’ом и запустите еще что-нибудь, к примеру nano:
screen -S nano nano
Этот скрин также сверните. Теперь можно вернуться к любому из двух скринов с указанием имени скрина, например:
screen -r nano
Список запущенных скринов можно посмотреть с помощью:
screen -list
Возможно так-же вернуться к уже развернутому в ином терминале скрину:
screen -x nano

Если возникает ошибка

Solve screen error "Cannot open your terminal '/dev/pts/0' - please check"
Надо запустить:
screen /dev/null

Памятка

  • Ctrl-A D: выйти из текущего экрана (Disconnect)
  • Ctrl-A C: запуск нового экрана внутри текущего (Create)
  • Ctrl-A N: переключение между экранами (Next)