На самом деле невозможно сохранить весь сеанс экрана.
Что вы можете сделать, так это создать правильную программу, .screenrc
которая будет настраивать некоторые вещи после перезапуска системы.
Вот некоторые комментарии к вещам, которые вы перечислили:
- Количество открытых снарядов
- Название каждой оболочки
- Текущий каталог каждой оболочки
Я использую что-то вроде этого в моем, .screenrc
чтобы открыть некоторые конкретные оболочки при запуске:
## set the default shell
shell zsh
# screens
screen -t 'zsh'
screen -t 'mutt' mutt
screen -t 'zsh' /home/user/bin/scriptToRun
[..]
Вы получите строку между '' в качестве имени вашего окна и командой после того, как имя будет выполнено в вашей оболочке по умолчанию. Включите любой скрипт, который вы хотите, например, измените в определенном каталоге и откройте несколько журналов.
Вы когда-нибудь думали о том, чтобы поделиться историей снарядов во время ваших сессий? ИМХО, это делает вещи намного проще. В ZSH это сделано setopt SHARE_HISTORY
в вашем.zshrc
- Если возможно, их переменные среды
Если вам это действительно нужно и вы не хотите идти на компромисс, вы можете подумать о сценарии оболочки, который считывает текущее состояние экрана, сохраняет количество оболочек, переменные среды и т. Д. И помещает эту информацию в сценарий запуска. называется вашим .screenrc
. Для меня это не стоило бы усилий, потому что я ценю чистую среду после перезагрузки, если я могу настроить окна по умолчанию для экрана.