Não é realmente possível salvar uma sessão de tela completa.
O que você pode fazer é criar um apropriado .screenrc
que irá configurar algumas coisas depois que você reiniciar o sistema.
Aqui estão alguns comentários para as coisas que você listou:
- O número de conchas abertas
- O nome de cada shell
- O diretório atual de cada shell
Eu uso algo assim no meu .screenrc
para abrir algumas conchas específicas na inicialização:
## set the default shell
shell zsh
# screens
screen -t 'zsh'
screen -t 'mutt' mutt
screen -t 'zsh' /home/user/bin/scriptToRun
[..]
Você receberá a string entre '' como o nome da janela e o comando após o nome ser executado no shell padrão. Inclua qualquer script que desejar, por exemplo, altere em um diretório específico e abra alguns logs.
Você já pensou em compartilhar a história dos reservatórios nas suas sessões? IMHO isso torna as coisas muito mais fáceis. No ZSH, é feito setopt SHARE_HISTORY
no seu.zshrc
- Se possível, suas variáveis de ambiente
Se você realmente precisa disso e não deseja nenhum compromisso, pode pensar em um script de shell, que lê o estado atual da tela, salva o número de shells, variáveis de ambiente etc. e coloca essas informações em um script de inicialização chamado pelo seu .screenrc
. Para mim, isso não valeria o esforço, porque eu aprecio um ambiente limpo após uma reinicialização, se eu puder personalizar as janelas padrão da tela.