Grundsätzlich habe ich eine Remote-Bildschirmsitzung, zu der ich automatisch eine erneute Verbindung herstellen möchte. Derzeit wird dies mit dem folgenden Befehl ausgeführt (als iTerm-Lesezeichen oder als Alias).
ssh host -t screen -x thesessionname
Dies funktioniert einwandfrei, aber wenn die Sitzung aus irgendeinem Grund abbricht, möchte ich, dass sie beim nächsten Herstellen einer Verbindung erneut erstellt wird. Die -R
Flagge für screen
ist fast perfekt:
ssh host -t screen -R -S thesessionname
..aber wenn die Sitzung bereits angehängt ist, wird eine zweite Sitzung erstellt (so -R
einfach sieht die erste getrennte Sitzung aus, wenn keine gefunden wird, wird eine neue erstellt)
Gibt es eine Möglichkeit, die -R
Markierung auch für angehängte Sitzungen aussehen zu lassen und nur dann eine neue zu erstellen, wenn thesessionname
sie nicht vorhanden ist?
Wenn dies nicht einfach möglich ist, wie kann ich die Bildschirmsitzung automatisch neu erstellen, wenn sie stirbt? Vielleicht ein Skript, das über cron ausgeführt wird und nach der benannten Sitzung sucht und diese erstellt, sollte sie nicht existieren?
quelle
screen -x -R -S main
ich letztendlich verwendet (funktioniert genauso ohne das erzwungene Ablösen), danke!sceen -r <yoursession>
, wird ein Fehler angezeigt, wenn es bereits angehängt ist (anstatt eine neue Sitzung zu erstellen).Ein paar gute Möglichkeiten. Zunächst mein Favorit:
Dies wird an die erste verfügbare Bildschirmsitzung angehängt (Freigabe, wenn eine andere Verbindung verbunden ist). Wenn überhaupt keine Bildschirmsitzungen vorhanden sind, starten Sie eine neue.
In den zugehörigen Dokumenten heißt es: "Eine Sitzung erneut anfügen und bei Bedarf trennen oder erstellen. Verwenden Sie die erste Sitzung, wenn mehr als eine Sitzung verfügbar ist." Grundsätzlich sorgt das Doppel-R dafür, dass nach der ersten Sitzung gesucht wird, zu der eine Verbindung hergestellt werden soll.
"Hier und jetzt anhängen. Was auch immer das bedeutet, tu es einfach." Trennt alle anderen verbundenen Sitzungen und meldet sie remote ab und stellt eine Verbindung zur ersten Sitzung her, die möglich ist. Grundsätzlich wird alles getan, was zum Anhängen an eine vorhandene Sitzung erforderlich ist, und eine neue Sitzung erstellt, wenn nichts vorhanden ist.
Das allererste (-x -R) verursacht mit der geringsten Wahrscheinlichkeit Probleme (es löst nicht die Verbindung zu Ihrer anderen Verbindung), hängt sich aber einfach immer an etwas an, wenn es etwas zu befestigen gibt, und erstellt etwas, wenn es nichts zu befestigen gibt.
quelle
ich benutze
Ich möchte nicht, dass mein gesamtes Login auf der anderen Shell gelöscht wird, wie es der
-D
Fall ist, und ich möchte definitiv nicht den Multi-Attach-Modus von-x
.quelle