GNU-Bildschirm - Stellen Sie eine Sitzung mit geteiltem Bildschirm wieder her

9

Wenn ich eine geteilte Sitzung von wiederherstelle screen, habe ich nur eine Drucksitzung und muss die Anzahl der Anzeigesitzungen neu konfigurieren.

Gibt es eine andere Möglichkeit, die ursprüngliche screenKonfiguration zu erhalten?

Almorel
quelle

Antworten:

9

Dies ist derzeit ohne Hack nicht möglich (siehe nächster Absatz). Die dafür erforderlichen Funktionen wurden jedoch bereits zum aktuellen Git-Baum des Bildschirms hinzugefügt. In zukünftigen Versionen können mit den Befehlen "Layout speichern" und "Layout laden" nicht nur Ihr letztes Layout, sondern auch andere benannte Layouts geladen werden. Ich glaube, es gibt auch Unterstützung für das Radfahren durch Layouts.

Derzeit besteht der Trick darin, einen Bildschirm innerhalb eines Bildschirms zu verwenden. Alle Ihre Arbeits- und Layoutänderungen werden auf dem inneren Bildschirm vorgenommen. Wenn Sie sich dann trennen, trennen Sie sich tatsächlich vom äußersten Bildschirm. Das Layout des inneren Bildschirms bleibt erhalten. Im Folgenden finden Sie alle wichtigen Details:

Wenn ich die Anzeige aufteile und dann abtrenne, vergisst der Bildschirm die Aufteilung.

Alternativ können Sie versuchen, die neueste Version direkt aus dem Bildschirmquellbaum zu kompilieren. Sie können dies tun, indem Sie git installieren und dann ausführen:

git clone git://git.savannah.gnu.org/screen.git

Folgen Sie dann den Anweisungen in src / INSTALL. Im Allgemeinen lauten die Anweisungen:

  1. ./autogen.sh
  2. ./configure
  3. make

In der INSTALL-Datei wird eine Diskussion über verschiedene Probleme im Zusammenhang mit der Installation des Bildschirms aufgrund verschiedener Bedenken geführt. Wenn Sie diesen Weg gehen, lesen Sie am besten alle INSTALL-Anweisungen und fahren Sie dann fort.

Steven D.
quelle
0

Ich bin auf dieses Problem gestoßen, als ich versehentlich eine falsche Tastenkombination gedrückt habe und alle meine geteilten Bildschirme verschwunden waren. : ((

Zumindest für mich gab es jedoch einen (bescheidenen) Ausweg. Da ich meistens screenzusammen mit xtermund bashMuscheln benutze , wollte ich als letztes mehr es startenbash . (Controlling Dinge mit psergab die bashProzesse wurden dort, aber nicht zugänglich.)

Der Weg, um zu meinem üblichen Setup zurückzukehren, bestand darin, Ctrl+ zu verwenden "und jedem geteilten Fenster eine bereits laufende Shell hinzuzufügen und mit Ctrl+ durch die "Fenster" zu radeln aTAB. Also habe ich die Dinge wieder normalisiert.
Ich poste dies vor allem, weil ich auf Leute gestoßen bin, die in ihrer Frustration einfach Ctrl+ gedrückt acund ihre bashes "neu installiert" haben . Aber das ist albern! Denn mit dieser Methode werden Sie basham Ende des Tages vielleicht 25 Prozesse haben, von denen mindestens 15 unzugänglich / unsichtbar sind und nur Ressourcen und CPU ohne Grund verschwenden. Verwenden Sie sie also erneut , anstatt sie neu zu erstellen .

Syntax-Fehler
quelle
was ist ctrl "? Ich habe es versucht, als ich es wieder ^a tabanbrachte, als ich auf die einzige verbleibende "Display-Sitzung" starrte, und es tut nichts, dann drückte ich , und das brachte mich nicht zum nächsten, infact nur Dinge, die tun^a n
Brian Thomas
0

Putty- Hinweis: Wenn Sie Putty verwenden, gehen Sie auch zu den Terminaleinstellungen und aktivieren Sie die Option zum Ändern der Terminalgröße, speichern Sie die Einstellungen und starten Sie den Computer neu.

Sie haben einige Optionen, je nachdem, welche für Ihr Setup logisch erscheint.

a) Verwenden Sie screen_layout, wenn Sie über Version 4.2 und verfügen screen -X dump layout

b) Verwenden Sie den Hack, wenn Sie ~ 4.0x http://aperiodic.net/screen/faq#when_i_split_the_display_and_then_detach_screen_forgets_the_split haben

Dieser Hack ist insofern etwas verwirrend, als Sie sorgfältig beachten müssen, dass nicht so eindeutig angegeben ist, dass Sie zuerst einen Standardbildschirm starten müssen, bevor Sie einen Bildschirm mit den Änderungen .screenrc starten, da Sitzungen keine solchen Daten enthalten.

c) Kompilieren und installieren Sie http://savannah.gnu.org/forum/forum.php?forum_id=8293 http://www.linuxfromscratch.org/blfs/view/svn/general/screen.html

d) Wenden Sie den Patch an, anstatt ihn neu zu installieren (siehe unten).

e) Holen Sie sich die Binärdatei für Ihre Distribution und platzieren Sie sie in Ihrem Pfad, damit sie die Standardeinstellung des Systems überschreibt.

hth, weil ich weiß, dass eine Option nie genug ist.

In Bezug auf d) oben konnte ich den Patch nicht mehr finden, daher werde ich ihn hier einfügen.

diff --git a/src/doc/screen.texinfo b/src/doc/screen.texinfo
index 6142de0..6fc8f9e 100644
--- a/src/doc/screen.texinfo
+++ b/src/doc/screen.texinfo
@@ -1040,6 +1040,8 @@ Show or set which layout to reattach to.  @xref{Layout}.
 Remember the organization of a layout.  @xref{Layout}.
 @item layout autosave [@var{on}|@var{off}]
 Show or set the status of layout saving.  @xref{Layout}.
+@item layout dump [filename]
+Save the layout arrangement to a file.  @xref{Layout}.
 @item license
 Display licensing information.  @xref{Startup}.
 @item lockscreen
@@ -2107,7 +2109,10 @@ the layout to reattach to will be shown in the message line.
 Remember the current arrangement of regions. When used, @code{screen}
 will remember the arrangement of vertically and horizontally split
 regions. This arrangement is restored when a @code{screen} session
-is reattached or switched back from a different layout. If a number
+is reattached or switched back from a different layout. If the 
+session ends or the @code{screen} process dies, the layout
+arrangements are lost. The @code{layout dump} command should help
+in this siutation. If a number
 or title is supplied, @code{screen} will remember the arrangement of
 that particular layout. Without any options, @code{screen} will
 remember the current layout.
@@ -2129,6 +2134,21 @@ a single window. Without either an @code{on} or an @code{off}, the
 current status is displayed on the message line.
 @end deffn

+@deffn Command layout @code{dump} [filename]
+(none)@*
+Write to a file the order of splits made in the current layout. This 
+is useful to recreate the order of your regions used in your current
+layout. Only the current layout is recorded. While the order of the
+regions are recorded, the sizes of those regions and which windows
+correspond to which regions are not. If no filename is specified,
+the default is @file{layout-dump}, saved in the directory that the
+@code{screen} process was started in. If the file already exists,
+@code{layout dump} will append to that file. As an example:
+@example
+layout dump /home/user/.screenrc
+@end example
+will save or append the layout to the user's @file{.screenrc} file.
+@end deffn

 @node Window Settings, Virtual Terminal, Regions, Top
 @chapter Window Settings
Brian Thomas
quelle