Es ist nicht wirklich möglich, eine vollständige Bildschirmsitzung zu speichern.
Was Sie tun können, ist ein richtiges zu schaffen .screenrc
System das nach dem Neustart des Systems einige Einstellungen vornimmt.
Hier sind einige Kommentare zu den Dingen, die Sie aufgelistet haben:
- Die Anzahl der geöffneten Muscheln
- Der Name jeder Shell
- Das aktuelle Verzeichnis jeder Shell
Ich verwende so etwas in meinem .screenrc
, um beim Start einige bestimmte Shells zu öffnen:
## set the default shell
shell zsh
# screens
screen -t 'zsh'
screen -t 'mutt' mutt
screen -t 'zsh' /home/user/bin/scriptToRun
[..]
Sie erhalten die Zeichenfolge zwischen '' als Fensternamen und dem Befehl, nachdem der Name in Ihrer Standardshell ausgeführt wurde. Fügen Sie ein beliebiges Skript ein, das Sie möchten, z. B. eine Änderung in einem bestimmten Verzeichnis, und öffnen Sie einige Protokolle.
- Die Geschichte jeder Muschel
Haben Sie jemals darüber nachgedacht, den Verlauf der Muscheln in Ihren Sitzungen zu teilen? IMHO macht dies die Dinge viel einfacher. In ZSH ist es mit setopt SHARE_HISTORY
in Ihrem erledigt.zshrc
- Wenn möglich, ihre Umgebungsvariablen
Wenn Sie dies wirklich brauchen und keine Kompromisse eingehen möchten, können Sie sich ein Shell-Skript überlegen, das den aktuellen Status des Bildschirms ausliest, die Anzahl der Shells, Umgebungsvariablen usw. speichert und diese Informationen in ein Startskript schreibt von Ihrem angerufen .screenrc
. Für mich wäre das nicht die Mühe wert, denn ich schätze eine saubere Umgebung nach einem Neustart, wenn ich die Standardfenster für den Bildschirm anpassen kann.
Ich bin über ein Projekt namens Screen-Session gestolpert . Es ermöglicht Ihnen, GNU Screen-Sitzungen zu einem gewissen Grad zu speichern und neu zu laden.
quelle
Es gibt ein Tool zum Einfrieren des Zustands eines Prozesses namens Cryopid . Derzeit funktioniert es jedoch nicht mit dem GNU-Bildschirm, da es nicht unterstützt, eine Hierarchie von Unterprozessen neu zu erstellen. Sie geben an, dass sie dies in Zukunft erreichen wollen, aber das Projekt scheint im Moment nicht zu aktiv zu sein. Trotzdem möchten Sie vielleicht ihren Fortschritt verfolgen.
quelle
Ich habe vor Jahren ein ähnliches Modell für Solaris gebaut. Nicht einmal bildschirmbezogen; es war sitzungsbezogen. msgstr "wenn $ TTY = was auch immer". echox hat die richtige idee.
tipp: Wenn Sie dies auf mehreren Rechnern durchführen, müssen Sie beachten, dass jeder Rechner eine eigene Definition dessen verdient, was bei der Anmeldung dort zu tun ist, anstatt dass alle Einstellungen für die von Ihnen gemounteten / zu hause oder ähnlich gemachten nfs identisch sind.
HTH, -pbr
quelle