Ich verwende das Dienstprogramm " Bildschirm" und möchte die Sitzung beim Neustart des Computers beibehalten. Wenn dies nicht möglich ist, können Sie andere Alternativen zu Screen empfehlen , mit denen die Sitzungen zwischen den Neustarts beibehalten werden können.
Wenn es darauf ankommt, verwende ich Ubuntu Server 10.04 (Lucid Lynx).
Ich habe mehrere Sitzungen über Bildschirm geöffnet. Wenn der Computer neu startet, gehen alle diese Sitzungen verloren und ich muss sie erneut öffnen. Ich wollte einen Weg finden, diese Screen-Sessions beizubehalten.
gnu-screen
Sergey G
quelle
quelle
Antworten:
Lassen Sie uns zunächst einige wichtige Dinge klären:
Wenn es sich um einen Rechner handelt oder der Server neu gestartet wird, haben Sie meistens Pech.
Wenn Sie sich bei einem Remotecomputer anmelden, Ihren lokalen Computer jedoch neu starten müssen, ist dies kein Problem, solange Sie den Bildschirm auf dem Remotecomputer anstelle Ihres lokalen Computers ausführen. Mir ist klar, dass dies für jeden erfahrenen (auch etwas erfahrenen) Benutzer des Bildschirms ziemlich offensichtlich ist, aber ich erwähne es nur für den Fall, dass es hilfreich sein könnte.
Eine weitere Möglichkeit (auch hier, ob dies für Sie hilfreich ist, hängt von Ihren Umständen ab) besteht darin, den Computer mit Bildschirm auf einer VM auszuführen. Angenommen, es handelt sich um einen physischen Remoteserver, der neu gestartet werden muss, aber ein Gastbetriebssystem auf (z. B.) VMware hat. Sie können das Gastbetriebssystem anhalten und nach dem Neustart der Hardware erneut starten. Es hängt alles davon ab, warum Sie einen Neustart durchführen müssen, was nicht angegeben wurde, und wie viel Kontrolle Sie über den Computer haben und ob Sie bereit sind, sich all diesen Problemen zu stellen.
Es gibt keine EASY-Lösung, und es ist möglich, dass keine der Lösungen für Sie funktioniert. Aber viel Glück.
Wenn Sie sich bei vielen Computern anmelden, ist es möglicherweise zu schmerzhaft, den Bildschirm auf allen Remotecomputern separat auszuführen, und das ist auch der Fall. In diesem Fall ist es nützlich, einen Zwischencomputer zu haben, auf dem ein Bildschirm ausgeführt wird, der viele Bildschirmfenster haben kann, die jeweils auf einem anderen Remote-Computer angemeldet sind. Solange der Zwischencomputer in Betrieb ist, können Sie Ihren eigenen lokalen Computer neu starten (oder in Ihre Tasche packen und für die Nacht mit nach Hause nehmen oder was auch immer), und der Bildschirm läuft auf dem Zwischencomputer weiter. (Und wenn einer der Remotecomputer ausfällt, wird die Verbindung zu diesem Computer zwar unterbrochen, die restlichen Bildschirmsitzungen sind jedoch in Ordnung.)
In den meisten Fällen beziehen Sie sich jedoch entweder auf den Remotecomputer oder auf den einzigen Computer, der neu gestartet wird. In diesem Fall gibt es keine einfache Möglichkeit, dies zu tun. CryoPID klingt zunächst vielversprechend, auf seiner Website wird jedoch angegeben, dass es für den Bildschirm nicht funktioniert.
Aber es gibt noch eine andere vielversprechende Option, die es wert ist, untersucht zu werden. (Ob es für Sie funktioniert, hängt weitgehend davon ab, was Sie genau tun möchten.) Überprüfen Sie dies auf github.com: https://github.com/skoneka/screen-session/tree/master/ScreenSession/
quelle
In einigen seltenen Fällen ist dies möglich (siehe CryoPID oder CryoPID2 ), im Allgemeinen ist dies jedoch schwierig und kann daher nicht durchgeführt werden.
quelle
Verwenden Sie statt des Bildschirms eine kleine Virtualbox-VM und arbeiten Sie darin. Anschließend können Sie den Ruhezustand aktivieren, den Host neu starten und die VM anschließend wieder aktivieren (genau wie beim Schließen und erneuten Öffnen des Deckels eines Laptops). SSH-Verbindungen zu Remote-Hosts werden durch diese Methode wahrscheinlich nicht bestehen bleiben. Ich glaube nicht, dass dies garantiert werden kann.
quelle
Du kannst nicht. Sicher nicht auf der gleichen Maschine
quelle
Bei alledem ist Screen selbst ziemlich marginal. Es ist nicht der Bildschirm, den Sie "speichern" möchten, oder ?, sondern die Umgebung in den verschiedenen Bildschirmsitzungen, unabhängig davon, um welche es sich handelt.
Sie scheinen vorzuschlagen, dass das Speichern einer Screen-Sitzung einen darin enthaltenen SSH-Prozess und alle möglichen Arten von Vorgängen abdecken würde. Was in Screen läuft, geht Screen überhaupt nichts an, und das sind Dinge, die schwer zu "retten" sind ... was auch immer das wirklich bedeuten würde, wenn sie implementiert werden könnten.
quelle