분할 세션을 복원했을 때 screen
인쇄 세션이 하나만 있었고 디스플레이 세션 수를 재구성해야 했습니다.
원래 구성을 유지하는 다른 방법이 있습니까 screen
?
답변1
이것은 아니다지금이는 해킹 없이 가능합니다(다음 단락 참조). 그러나 이를 수행하는 데 필요한 기능이 화면의 현재 Git 트리에 추가되었습니다. 향후 버전에서는 레이아웃 저장 및 레이아웃 로드 명령을 사용하여 마지막 레이아웃뿐만 아니라 이름이 지정된 다른 레이아웃도 로드할 수 있습니다. 루프 레이아웃도 지원된다고 생각합니다.
지금은 화면 내에서 화면을 사용하는 것이 비결입니다. 모든 작업 및 레이아웃 변경은 내부 화면에서 이루어지지만 분리하면 실제로는 가장 바깥쪽 화면에서 분리됩니다. 내부 화면의 레이아웃은 유지됩니다. 자세한 내용은 아래를 참조하세요.
모니터를 분할한 후 분리하면 화면이 분할되는 것을 잊어버리게 됩니다.
또는 화면 소스 트리에서 직접 최신 버전을 컴파일해 볼 수도 있습니다. git을 설치한 후 다음을 실행하면 됩니다.
git clone git://git.savannah.gnu.org/screen.git
그런 다음 src/INSTALL의 지침을 따르세요. 일반적으로 방향은 다음과 같습니다.
./autogen.sh
./configure
make
다양한 문제에 따라 화면을 설치할 위치에 관한 다양한 문제가 설치 문서에서 논의됩니다. 이 경로를 선택하는 경우 계속하기 전에 모든 설치 지침을 읽어 보는 것이 가장 좋습니다.
답변2
퍼티참고: Putty를 사용하는 경우 터미널 설정으로 이동하여 터미널 크기 조정 비활성화를 선택하고 설정을 저장한 다음 다시 시작하십시오.
설정에 적합한 옵션에 따라 몇 가지 옵션이 있습니다.
a) 버전이 4.2보다 오래된 경우 screen_layout을 사용하세요.screen -X dump layout
b) ~4.0x가 있는 경우 해킹을 사용하세요.http://aperiodic.net/screen/faq#when_i_split_the_display_and_then_detach_screen_forgets_the_split
이 해킹은 세션이 그러한 데이터를 저장하지 않기 때문에 먼저 표준 화면을 시작한 다음 .screenrc 편집을 사용하여 화면을 시작해야 한다는 것이 명확하지 않기 때문에 주의를 기울여야 하기 때문에 약간 혼란스럽습니다.
c) 컴파일 및 설치 http://savannah.gnu.org/forum/forum.php?forum_id=8293 http://www.linuxfromscratch.org/blfs/view/svn/general/screen.html
d) 재설치 대신 패치 적용(아래 참조)
e) 배포용 바이너리를 가져와 시스템 기본 경로를 재정의하도록 경로에 넣습니다.
글쎄요, 하나의 옵션을 갖는 것만으로는 충분하지 않다는 것을 알고 있기 때문입니다.
위의 d)에 대해서는 패치를 찾을 수 없어 여기에 올려드립니다.
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
답변3
실수로 잘못된 키 조합을 눌렀고 모든 분할 화면이 사라졌을 때 이 문제가 발생했습니다. :((
그러나 적어도 나에게는 (겸손한) 탈출구가 있습니다. 나는 주로 Shell로 작업하기 때문에 마지막 screen
으로 갖고 싶은 것은xterm
bash
방사더 많은 es가 있습니다 bash
. ( 프로세스를 ps
공개 하여 bash
상황을 제어합니다.예하지만 접근이 불가능합니다. )
따라서 평소 설정으로 돌아가는 방법은 Ctrl+를 사용 "하고이미 실행 중Ctrl"창"을 순환하기 위해 +를 사용하여 각 분할 창에 쉘을 설치합니다 aTAB. 그래서 나는 상황이 다시 정상으로 돌아가도록 두었습니다. 제가 이 글을 올리는 주된 이유는 좌절감에 +를 누르고 es를 "다시 설치"
한 사람들을 만났기 때문입니다 . 그러나 이것은 어리석은 일입니다! 이 접근 방식을 사용하면 하루가 끝날 때 25개의 프로세스가 생길 수 있으며 그 중 최소 15개는 액세스할 수 없거나 볼 수 없으며 아무 이유 없이 리소스와 CPU를 낭비할 뿐입니다. 아픈Ctrlacbash
bash
사용다시 대신에 그들을만들다그들을.
답변4
별거 전:
[Ctrl]+[a]+[:] 그런 다음 Enter를 누르세요.layout dump .my_filename
이제 분리할 수 있습니다.
다시 연결한 후:
[Ctrl]+[a]+[:] 그런 다음 Enter를 누르세요.source .my_filename
원천:
https://linuxdigest.com/howto/gnu-screen-split-the-screen/ 그리고https://www.gnu.org/software/screen/manual/html_node/Layout.html