Verketten Sie zwei Bildschirmsitzungen

7

Aufgrund einiger Serverprobleme hatte ich zwei Bildschirmsitzungen mit jeweils wenigen Fenstern. Ich habe in beiden Sitzungen lang laufende Aufgaben und möchte keine davon abbrechen, nur um eine der Bildschirmsitzungen loszuwerden.

Ist es möglich, Bildschirmsitzungen zu verketten, sodass ich eine einzige Bildschirmsitzung erhalte, die alle Fenster beider Sitzungen enthält? Oder ist es möglich, einzelne Fenster manuell von einer Bildschirmsitzung auf eine andere zu übertragen?

Sack
quelle

Antworten:

3

Soweit mir bekannt ist, ist dies nicht über den Bildschirm möglich, aber Sie können reptyrdas Programm verwenden, um es einem neuen Terminal zuzuweisen.

Hier einige nützliche Anleitungen zur Verwendung von Reptyr:

Sie könnten auch die etwas weniger komplexe verwenden grab.c.

Chris Down
quelle
Es gibt mehrere Alternativen zu reptyr, manchmal funktioniert eine dort, wo eine andere fehlschlägt. Alternativen finden Sie unter Wie kann ich einen laufenden Prozess ablehnen und einer neuen Bildschirmshell zuordnen? und verknüpfte Fragen.
Gilles 'SO - hör auf böse zu sein'
1

Wie bereits beantwortet, gibt es keinen Weg mit dem Bildschirm allein.

Sie können auch das Escape-Zeichen einer Sitzung neu binden und haben somit wieder die volle Funktionalität (ohne dass Sie eine weitere SSH-Sitzung auf Ihrem Server öffnen und eine Ihrer Sitzungen trennen müssen - irgendwie kryptisch, wie ich weiß).

Drücken Ctrl-A :Sie, um in den Befehlsmodus zu gelangen (falls Sie die Standardeinstellungen nicht geändert haben), und geben Sie Folgendes ein : escape ^Tt. Dadurch wird das Escape-Zeichen einer Sitzung geändert Ctrl-Tund die andere Sitzung mit Escape-Zeichen Ctrl-Abelassen, sodass wieder Befehle an beide Sitzungen gesendet werden können.

Torian
quelle
2
Keine erneute Bindung erforderlich: "Ca a (Meta) Senden Sie das Befehlszeichen (Ca) an das Fenster. Siehe Escape-Befehl." Verwenden Sie also im "Unterbildschirm" Ca a anstelle von nacktem Ca. Ich benutze es jeden Tag.
Enzotib
@enzotib: Das habe ich nicht gemeint. Sie sprechen über Readline-Bindungen ( Ctrl-ageht zum Zeilenanfang) und ich über Bildschirm-Escape-Zeichen. Wenn Sie zwei Sitzungen haben, eine in der anderen, und beide Sitzungen denselben Bildschirm-Escape-Charakter haben, wer greift danach (dh Ctrl-a Czum Erstellen eines anderen Fensters), am innersten oder am äußersten? Wenn Sie einen Bildschirm innerhalb eines Bildschirms ausführen möchten, müssen Sie daher den Bildschirm-Escape-Charakter ändern.
Torian
1
es ist genau das, was ich meine: Ca + c erstellt ein Fenster im äußeren Bildschirm und Ca + a + c erstellt ein Fenster im inneren Bildschirm.
Um also
hu, das ist schön, wusste nichts davon :). So oder so ziehe ich es vor, den Fluchtbefehl neu zu binden, es ist mir klarer.
Torian