Как уже упоминалось ранее, screen
можно сделать все возможное. Но не только то, что вам нужно. Я использую screen на протяжении многих лет, и теперь использую его каждый раз, когда захожу в систему. Попробуйте установить screen
и создать ~/.screenrc
с таким конфигом:
sessionname vcflists
startup_message off
deflogin off
vbell off
msgminwait 0
msgwait 10
log off
backtick 1 0 0 hostname
caption splitonly "%?%F%{= yk}%:%{= Kk}%? %n %t%="
hardstatus alwayslastline "%{= rY} %1` %{= kg} %0c %{= bY} %-w%{= Yk} %n %t %{-}%+w %=%{g}%l "
Тогда беги screen -Rd vcf
. Это предпочтительный вызов экрана. Вы переподключитесь к ранее созданному сеансу с именем vcf * (или получите предупреждение, если он неоднозначный) или, если сеанс еще не открыт, он будет создан. CTRL+ Aэто мета-ключ, который делает все. CTRL+A C
( CTRL+ A, затем C) создать новое окно (экран) внутри сессии. CTRL+A SPACE
переместить фокус на следующее окно в раунде. CTRL+A D
отключить текущий сеанс, сохраняя все окна работоспособными между соединениями. Если у вас есть запуск какого-то более долгого задания, вы можете отсоединиться от экрана и подключиться к нему позже, чтобы посмотреть, что произойдет. То же самое происходит, если ваш ssh-сеанс потерян - экран остается активным со всеми открытыми окнами и всеми запущенными задачами.
Если вы хотите закрыть какое-то окно внутри экрана - просто exit
из оболочки в нем. Если вы хотите закрыть все оболочки / задачи во всех окнах и выйти из экрана - просто нажмите CTRL+A CTRL+\
и нажмите «Y» при появлении запроса.
Для всего остального смотрите man screen.