Answers:
当前,没有黑客就不可能做到这一点(请参阅下一段);但是,执行此操作所需的功能已添加到屏幕的当前git树中。在将来的版本中,“布局保存”和“布局加载”命令将不仅可以加载您的上一个布局,还可以加载其他命名的布局。我相信也支持循环遍历布局。
当前,技巧是在屏幕内部使用屏幕。所有工作和布局更改都在内部屏幕中完成,但是当您分离时,实际上是从最外部的屏幕分离。内部屏幕的布局将保留。有关所有详细信息,请参见以下内容:
或者,您可以尝试直接从屏幕源代码树中编译最新版本。您可以通过安装git然后运行来做到这一点:
git clone git://git.savannah.gnu.org/screen.git
然后,按照src / INSTALL中的指示进行操作。通常,这些方向是:
./autogen.sh
./configure
make
在INSTALL文件中,基于各种考虑,围绕屏幕安装位置的各种问题进行了讨论。如果您走这条路线,最好的选择是阅读所有安装说明,然后继续。
当我无意中按下了错误的组合键时,我遇到了这个问题,所有的分割屏幕都消失了。:((
但是,至少对我来说,这是一个(谦虚的)出路。由于我通常将screen
它们与xterm
and bash
shell 一起使用,因此我最后想做的就是启动更多bash
es。(通过ps
显示bash
流程来控制事物在那里,但无法访问。)
所以顺便要回我平时的设置是使用Ctrl+ "和一个加已经运行外壳每个分割窗口,通过“窗格”与骑自行车Ctrl+ aTAB。所以我恢复了正常。
我之所以发布此帖子,是因为我遇到了一些沮丧的人,他们只是按下Ctrl+ ac并“重新安装”了他们的bash
es。但是,这很愚蠢!对于这种方法,bash
一天结束时您最终可能会遇到25个进程,其中至少15个进程无法访问/不可见,这无缘无故浪费了资源和CPU。因此,请重新使用它们,而不是重新创建它们。
腻子注意事项:如果您使用腻子,还请转到终端设置,并检查以禁用终端的大小调整,保存设置,然后重新启动。
您可以根据自己的设置选择一些选项;
a)如果您的版本超过4.2,请使用screen_layout screen -X dump layout
b)如果您有〜4.0倍http://aperiodic.net/screen/faq#when_i_split_the_display_and_then_detach_screen_forgets_the_split,请使用该技巧
该hack有点令人困惑,因为您必须小心地注意到它不太清楚地指出,在启动具有.screenrc编辑的屏幕之前,您需要首先启动标准屏幕,因为会话不会保存这样的数据。
c)编译并安装 http://savannah.gnu.org/forum/forum.php?forum_id=8293 http://www.linuxfromscratch.org/blfs/view/svn/general/screen.html
d)应用补丁程序而不是重新安装(请参阅下文)
e)获取发行版的二进制文件,并将其放在您的路径中,这样它将覆盖系统默认的二进制文件。
hth,因为我知道一个选择永远都不够。
关于上面的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
ctrl "
?我尝试过,重新安装时,凝视着剩下的唯一一个“显示器问题”,它什么也没做,于是我按了一下,那^a tab
并没有带我去下一步,事实上所做的只是^a n