Ich habe gelesen, wie ein Bildschirm automatisch gestartet wird, wenn ich ssh
zu einem Remote-Server gehe. Ich möchte, dass ein einfacher Einzeiler zu meinem hinzugefügt wird, .bash_profile
damit er startet, screen
wenn ich ssh
mich anmelde, und NICHT meine Remoteverbindung beendet, wenn ich den Bildschirm trenne.
Ich habe mich in exec screen
und so ziemlich jede Kombination von -d
, -r
, -D
und -R
und kann nicht herausfinden , was Flagge ich brauche.
Idealerweise würde ich tippen ssh whatever
und in einem neuen Server eingeloggt sein screen
oder einen alten Bildschirm wieder anbringen. Ich würde gerne wissen, wie man beides macht, um zu sehen, was mir besser gefällt. Dann kann ich entweder tippen Ctrl adoder Ctrl dund es wieder zum normalen ssh
Login für diesen Server bringen lassen (wo du den motd sehen würdest). Von dort aus kann screen -r
ich in den gewünschten Bildschirm zurückkehren oder Ctrl derneut drücken, um mich abzumelden.
quelle
logout
oderexit
direkt danach eine SSH-Sitzung zu beenden, sobald der Bildschirm mit Strg + D geschlossen wird?Ich hatte Probleme mit 40 kaskadierenden Bildschirmsitzungen, die mit einigen der Lösungen beim Starten eines neuen Fensters oder einer neuen Bildschirmsitzung erstellt wurden. Ich konnte den Kaskadenbildschirm entfernen und eine neue Sitzung erstellen, wenn es damit keine gab:
Es testet, ob Sie sich in einer Bildschirmsitzung befinden, und wird ausgeführt,
screen -R
wenn dies nicht der Fall ist. Ohne den Test erhalten Sie die Meldung "Anhängen von der Innenseite des Bildschirms?". Warnung vom Bildschirm jedes Mal, wenn Sie ein neues Bildschirmfenster erstellen.quelle
screen -ls
Test, den Tony erwähntescreen -RR
wird der ersten verfügbaren Sitzung erneut zugeordnet oder bei Bedarf eine erstellt.quelle
Wenn ich Ihre Bedürfnisse verstehe, sollten Sie versuchen:
if $(screen -ls | grep -q pts); then screen -x; else screen -R; fi
Es wird nur eine Bildschirmsitzung erstellt, andernfalls wird die Verbindung mit der vorhandenen Sitzung unter mehreren Fenstern wiederhergestellt.
quelle
screen -xR
"Anhängen, wenn es etwas zum Anhängen gibt, andernfalls neuen Bildschirm erstellen" ersetzt werden.Hier eine kleine Erweiterung,
das Skript für die bashrc-Prüfung, ob es mehr als eine getrennte Bildschirmsitzung gibt. Wenn mehr vorhanden ist, müssen Sie das Sitzungshandbuch auswählen. Wenn es eine getrennte Sitzung gibt, kehren Sie zu dieser Sitzung zurück. Wenn Sie die Sitzung beenden, wird auch die SSH-Sitzung geschlossen.
quelle
Wenn Sie beim Herstellen einer Verbindung über SSH automatisch eine Verbindung zu einer Bildschirmsitzung herstellen möchten, fügen Sie den folgenden Code zu Ihrem
.bash_profile
oder.bashrc
Ihrem Remote-Computer hinzu:.bashrc
Hier ist das Skript:
PS: Wenn Sie dies für das lokale Terminal aktivieren möchten, entfernen Sie
&& ! -z "${SSH_CLIENT}
in der ersten Zeile.quelle