Ekran GNU - Przywróć sesję z podzielonym ekranem

9

Kiedy przywracam podzieloną sesję screen, mam tylko jedną sesję drukowania i muszę ponownie skonfigurować liczbę sesji wyświetlania.

Czy istnieje inny sposób uzyskania oryginalnej screenkonfiguracji?

Almorel
źródło

Odpowiedzi:

9

Nie jest to obecnie możliwe bez włamania (patrz następny akapit); Jednak funkcje wymagane do tego celu zostały już dodane do bieżącego drzewa git screena. W przyszłych wersjach polecenia „zapisz układ” i „ładuj układ” będą mogły załadować nie tylko twój ostatni układ, ale także inne nazwane układy. Wierzę, że istnieje również obsługa cyklicznego przeglądania układów.

Obecnie sztuką jest użycie ekranu wewnątrz ekranu. Wszystkie zmiany w pracy i układzie są wykonywane na ekranie wewnętrznym, ale po odłączeniu faktycznie odłączasz się od najbardziej zewnętrznego ekranu. Układ wewnętrznego ekranu zostanie zachowany. Zobacz poniższe szczegółowe informacje:

Kiedy podzielę ekran, a następnie odłączę, ekran zapomina o podziale.

Alternatywnie możesz spróbować skompilować najnowszą wersję bezpośrednio z drzewa źródeł ekranu. Możesz to zrobić, instalując git, a następnie uruchamiając:

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

Następnie postępuj zgodnie ze wskazówkami w src / INSTALL. Ogólnie rzecz biorąc, kierunki są następujące:

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

W pliku INSTALL znajduje się dyskusja na temat różnych problemów związanych z miejscem instalacji ekranu na podstawie różnych problemów. Jeśli wybierzesz tę trasę, najlepiej jest przeczytać wszystkie instrukcje INSTALL, a następnie kontynuować.

Steven D.
źródło
0

Natknąłem się na ten problem, gdy przypadkowo nacisnąłem niewłaściwą kombinację klawiszy i wszystkie moje podzielone ekrany zniknęły. : ((

Jednak przynajmniej było dla mnie (skromne) wyjście. Od Najczęściej screenwraz z xtermi bashmuszle, ostatnią rzeczą, jaką chciałem mieć to uruchomić żadnych więcej bashes. (Controlling rzeczy psujawniły bashprocesy były tam, ale nie jest dostępny).

Tak więc sposobem na powrót do mojej zwykłej konfiguracji było użycie Ctrl+ "i dodanie jednej już działającej powłoki do każdego podzielonego okna, przechodząc pomiędzy „panelami” za pomocą Ctrl+ aTAB. Więc wszystko wróciło do normy.
Publikuję to szczególnie dlatego, że natknąłem się na ludzi, którzy w swojej frustracji po prostu nacisnęli Ctrl+ aci „ponownie zainstalowali” swoje bashes. Ale to jest głupie! W przypadku tej metody na koniec dnia może powstać może 25 bashprocesów, a co najmniej 15 z nich będzie niedostępnych / niewidocznych, po prostu marnuje zasoby i procesor bez powodu. Więc użyj ich ponownie , zamiast tworzyć je ponownie .

błąd składni
źródło
co jest ctrl "? próbowałem tego, gdy zostałem ponownie podłączony, kiedy patrzyłem na jedyną pozostałą „sesję pokazową”, i to nie robi nic, potem naciskałem ^a tab, i to nie zabrało mnie do następnego, w rzeczywistości tylko to, co robi^a n
Brian Thomas
0

Kit Uwaga: Jeśli za pomocą szpachli, również przejść do ustawień terminali i sprawdzić wyłączyć rozmiar Re z terminala, zapisz ustawienia, a następnie ponownie uruchomić.

Masz kilka opcji, w zależności od tego, co wydaje się logiczne dla twojej konfiguracji;

a) Użyj screen_layout, jeśli masz wersję 4.2 i screen -X dump layout

b) Użyj hacka, jeśli masz ~ 4.0x http://aperiodic.net/screen/faq#when_i_split_the_display_and_then_detach_screen_forgets_the_split

Ten hack jest nieco mylący, ponieważ musisz uważnie zauważyć, że nie mówi tak jasno, że musisz najpierw uruchomić standardowy ekran, zanim uruchomisz ekran z edycjami .screenrc, ponieważ sesje nie przechowują takich danych.

c) Skompiluj i wykonaj instalację http://savannah.gnu.org/forum/forum.php?forum_id=8293 http://www.linuxfromscratch.org/blfs/view/svn/general/screen.html

d) Zastosuj łatkę zamiast reinstalacji (patrz poniżej)

e) Zdobądź plik binarny dla dystrybucji i umieść go na swojej ścieżce, aby zastąpił domyślny system.

hth, ponieważ wiem, że jedna opcja nigdy nie wystarcza.

Jeśli chodzi o d) powyżej, nie mogłem już znaleźć łatki, więc nie dołączę jej tutaj.

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
źródło