web-dev-qa-db-fra.com

Enregistrer complète GNU Session Session Session

Est-il possible de persister l'état "de l'état" d'un GNU Fenêtre d'écran (ou simplement une coque standard) afin que je puisse tout recharger après un redémarrage:

  • Le nombre de coquillages ouverts
  • Le nom de chaque coquille
  • Le répertoire actuel de chaque coquille
  • L'histoire de chaque coquille
  • Si possible, leurs variables d'environnement
32
Barthelemy

Il n'est pas vraiment possible d'enregistrer une session d'écran complète.

Ce que vous pouvez faire est de créer une bonne .screenrc qui configurera certaines choses après avoir redémarré votre système.

Voici quelques commentaires sur les choses que vous avez énumérées:

  • Le nombre de coquillages ouverts
  • Le nom de chaque coquille
  • Le répertoire actuel de chaque coquille

J'utilise quelque chose comme ça dans mon .screenrc Pour ouvrir des coquilles 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 fenêtre et la commande après que le nom soit exécuté sur votre coquille par défaut. Incluez tout script que vous souhaitez, par exemple, changez dans un répertoire spécifique et ouvrez quelques journaux.

  • L'histoire de chaque coquille

Avez-vous déjà pensé à partager l'histoire des coquillages à travers vos sessions? IMHO cela rend les choses beaucoup plus faciles plus faciles. Dans ZSH c'est fait avec setopt SHARE_HISTORY dans ton .zshrc

  • Si possible, leurs variables d'environnement

Si vous avez vraiment besoin de cela et que vous ne voulez pas de compromis, vous pouvez penser à un script shell, qui lit l'état actuel de l'écran, enregistre le nombre de coques, de variables d'environnement, etc. et met ces informations dans un script de démarrage appelé par votre .screenrc. Pour moi, cela ne vaudra pas l'effort car j'apprécie un environnement propre après un redémarrage, si je peux personnaliser les fenêtres par défaut pour l'écran.

20
echox

J'ai trébuché sur un projet appelé session d'écran . Il vous permet d'enregistrer et de recharger GNU sessions d'écran dans une certaine mesure.

10
BUGHUNTER

Il y a un outil pour geler l'état d'un processus appelé cryopide . Cependant, il ne fonctionne actuellement pas avec GNU car il ne prend pas en charge la recréation de la hiérarchie de sous-processus. Ils indiquent qu'ils veulent y parvenir à l'avenir mais le projet Ne semble pas être trop actif pour le moment. Néanmoins, vous voudrez peut-être tracer leurs progrès.

2
fschmitt

J'ai construit une chose la même sur les années Solaris. Pas même liée à l'écran; C'était une session liée. "Si $ tty = autre". Echox a la bonne idée.

conseil: Si vous faites cela sur plusieurs machines, reconnaissez que chaque machine mérite sa propre définition de ce qui devrait être effectué lorsque vous vous connectez là-bas, plutôt que de toutes les mêmes personnes par votre NFS montées/maison ou similaires.

Htth, -pbr

0
pbr