it-swarm.com.de

Wie erzwinge ich das Trennen des Bildschirms von einer anderen SSH-Sitzung?

Ich hatte Bildschirm innerhalb einer SSH-Sitzung ausgeführt. Terminal erstarrte. Nach dem Neustart von Terminal glaubt diese Bildschirmsitzung immer noch, dass sie verbunden ist. Vielleicht ist es. Vielleicht weiß ich nicht genau, was das bedeutet.

Ich möchte eine neue SSH-Anmeldung an diese Bildschirmsitzung anhängen. Ich möchte diese Screen-Sitzung nicht beenden, da dort wichtige Dinge passieren. :)

Die Optionen, die ich zu haben glaube (von denen ich keine zu lösen weiß):

  • Wie trenne ich diese Bildschirmsitzung?
  • Wie beende ich die SSH-Sitzung, mit der diese Bildschirmsitzung verbunden ist?
135
T. Brian Jones

Als Jose antwortete, screen -d -r sollte den Trick machen. Dies ist eine Kombination aus zwei Befehlen, die der Manpage entnommen wurden.

screen -d trennt die bereits laufende Bildschirmsitzung und screen -r fügt die bestehende Sitzung wieder hinzu. Durch Ausführen von screen -d -r, zwingen Sie den Bildschirm, ihn zu trennen und die Sitzung fortzusetzen.

Wenn Sie die Hauptstadt -D -RR, Ich zitiere die Manpage, weil es zu gut ist, um darauf zu verzichten.

Hier und jetzt anhängen. Was auch immer das bedeutet, mach es einfach.

Hinweis: Es ist immer eine gute Idee, den Status Ihrer Sitzungen mit Hilfe der "Bildschirmliste" zu überprüfen.

213
Matt S.

versuche es mit screen -d -r oder screen -D -RR

39

Kurze Antwort

  1. Wieder anbringen, ohne andere auszuwerfen: screen -x
  2. Liste der Anzeigen abrufen: ^A*, wähle den zu trennenden aus, drücke d

Erklärte Antwort

Background: Als ich nach der Lösung mit der gleichen Problembeschreibung suchte, bin ich immer auf diese Antwort gestoßen. Ich möchte eine vernünftigere Lösung anbieten. (Beispiel: Der andere angehängte Bildschirm hat eine andere Größe und ich kann die Größe in meinem Terminal nicht ändern.)

Hinweis: PREFIX ist normalerweise ^A = ctrl+a

Hinweis: das display kann auch aufgerufen werden:

  • "Benutzer-Frontend" (in at Befehlsanleitung auf dem Bildschirm)
  • "client" (tmux-Vokabular mit dieser Funktionalität ist detach-client)
  • "terminal" (wie wir das Fenster in unserer Benutzeroberfläche aufrufen)/abhängig von

1. Fügen Sie eine Sitzung erneut hinzu : screen -x

-x an eine nicht getrennte Bildschirmsitzung anhängen , ohne sie zu trennen

2. Liste zeigt dieser Sitzung an: PREFIX*

Dies ist die Standardschlüsselbindung für: PREFIX:displays. Führen Sie dies auf dem Bildschirm aus, und identifizieren Sie die andere Anzeige , die Sie trennen möchten (z. B. kleinere Größe). (Ihre aktuelle Anzeige wird in hellerer Farbe/Fettdruck angezeigt, wenn nicht ausgewählt ).

term-type   size         user interface           window       Perms
---------- ------- ---------- ----------------- ----------     -----
 screen     240x60         [email protected]/dev/pts/2      nb  0(zsh)        rwx
 screen      78x40         [email protected]/dev/pts/0      nb  0(zsh)        rwx

Pfeile benutzen , wählen Sie die Zielanzeige , drücken Sie d Wenn nichts passiert, haben Sie versucht, Ihre eigene Anzeige abzunehmen, und der Bildschirm wird sie nicht abnehmen . War es innerhalb von ein oder zwei Sekunden eine andere, verschwindet der Eintrag.

Drücken Sie ENTER, um die Liste zu verlassen.

Optional: Um den Inhalt an Ihren Bildschirm anzupassen, Reflow : PREFIXF (Großbuchstabe F)

Auszug aus der Manpage des Bildschirms:

zeigt

Zeigt eine tabellarische Auflistung aller aktuell verbundenen Benutzer-Frontends (Displays) an. Dies ist am nützlichsten für Mehrbenutzersitzungen. Die folgenden Tasten können in der Anzeigeliste verwendet werden:

  • mouseclick Zur ausgewählten Zeile wechseln. Verfügbar, wenn "mousetrack" aktiviert ist.
  • space Aktualisieren Sie die Liste
  • d Löse diese Anzeige
  • D Trennen Sie die Anzeige von der Stromversorgung
  • C-g, enter oder escape Verlassen Sie die Liste
5
user10874456