Используйте reptyr
.
reptyr
утилита, которая берет существующую работающую программу и присоединяет ее к новому терминалу.
Смотрите этот мой ответ для деталей. После того, как вы прикрепите желаемый процесс оболочки к вашему текущему терминалу, вы можете сказать это exit
изящно.
Однако может быть нелегко определить конкретный процесс оболочки, который вы хотите подключить в данный момент. Вы, вероятно, использовать reptyr
в любом процессе оболочки, найденного ps
(или аналогичного инструмента), то вы будете проверять предыдущие команды, и только тогда вы будете знать, является ли это желаемая сессия или нет.
Более удобным решением является использование tmux
или, screen
в первую очередь, использование.
Я работаю с ним tmux
каждый день, и присоединить его к tty2 - тривиальная задача. С инструментом мне не нужно "открывать многочисленные окна rxvt". Обычно я организую свою работу так:
- Единое
konsole
окно. - Одна вкладка на машину (локальный хост, плюс I
ssh
на несколько удаленных),tmux
на каждой. - Внутри каждого
tmux
окна или более (при необходимости). - Внутри каждого окна одна панель или более (по необходимости).
Эти «слои» отмечены соответствующими красными цифрами на скриншоте ниже. Проблемы X11 или KDE не влияют на мои сессии оболочки, если я могу получить доступ к любой консоли данного компьютера. Только разрушение самого tmux
сервера может повредить, но я не могу вспомнить, когда в последний раз такое случалось со мной (вероятно, никогда).
В случае, если «я вынужден переключиться на виртуальную консоль Linux или SSH на свою машину, чтобы восстановить контроль», все, что мне нужно, - это вернуть tmux a
сеанс оболочки обратно, полностью работоспособный, как будто ничего не произошло. Если я могу заставить мой менеджер окна, чтобы перезагрузить, то я даже не нужно прекратить эти процессы оболочки, потому что я могу вернуться к ним с новым konsole
, rxvt
или любым эмулятора терминала.