Il n'est pas vraiment possible de sauvegarder une session d'écran complète.
Ce que vous pouvez faire est de créer un fichier .screenrc
qui configurera certaines choses après le redémarrage de votre système.
Voici quelques commentaires sur les choses que vous avez énumérées:
- Le nombre d'obus ouverts
- Le nom de chaque coquille
- Le répertoire actuel de chaque shell
J'utilise quelque chose comme ceci dans mon .screenrc
pour ouvrir des shells spécifiques au démarrage:
## set the default shell
shell zsh
# screens
screen -t 'zsh'
screen -t 'mutt' mutt
screen -t 'zsh' /home/user/bin/scriptToRun
[..]
Vous obtiendrez la chaîne entre '' comme nom de la fenêtre et la commande une fois que le nom sera exécuté sur votre shell par défaut. Incluez le script de votre choix, par exemple modifiez-le dans un répertoire spécifique et ouvrez des journaux.
- L'histoire de chaque coquille
Avez-vous déjà pensé à partager l’histoire des coquillages au cours de vos sessions? IMHO cela rend les choses beaucoup plus faciles. En ZSH sa fait avec setopt SHARE_HISTORY
dans votre.zshrc
- Si possible, leurs variables d'environnement
Si vous en avez vraiment besoin et que vous ne voulez pas de compromis, vous pouvez envisager un script shell, qui lit l'état actuel de l'écran, enregistre le nombre de shells, de variables d'environnement, etc. et place cette information dans un script de démarrage. appelé par votre .screenrc
. Pour moi, cela ne vaudrait pas la peine, car j'apprécie un environnement propre après un redémarrage, si je peux personnaliser les fenêtres par défaut pour screen.
Je suis tombé sur un projet appelé screen-session . Il vous permet de sauvegarder et de recharger des sessions GNU Screen dans une certaine mesure.
la source
Il existe un outil permettant de geler l'état d'un processus appelé cryopid . Cependant, pour le moment, cela ne fonctionne pas avec GNU screen, car il ne permet pas de recréer une hiérarchie de sous-processus. Ils déclarent vouloir atteindre cet objectif à l'avenir, mais le projet ne semble pas être trop actif pour le moment. Néanmoins, vous voudrez peut-être suivre leurs progrès.
la source
J'ai construit une chose similaire il y a des années sur Solaris. Pas même lié à l'écran; c'était lié à la session. "si $ TTY = peu importe". Echox a la bonne idée.
Conseil: si vous effectuez cette opération sur plusieurs ordinateurs, sachez que chaque ordinateur mérite sa propre définition de ce qui doit être fait lorsque vous vous connectez sur celui-ci, au lieu que tous soient identiques par votre nfs monté / home ou similaire.
HTH, -pbr
la source