GNU屏幕-使用分割的屏幕还原会话


9

恢复的分割会话后screen,我只有一个打印会话,并且必须重新配置显示会话的数量。

还有另一种方式可以拥有原始screen配置吗?

Answers:


9

当前,没有黑客就不可能做到这一点(请参阅下一段);但是,执行此操作所需的功能已添加到屏幕的当前git树中。在将来的版本中,“布局保存”和“布局加载”命令将不仅可以加载您的上一个布局,还可以加载其他命名的布局。我相信也支持循环遍历布局。

当前,技巧是在屏幕内部使用屏幕。所有工作和布局更改都在内部屏幕中完成,但是当您分离时,实际上是从最外部的屏幕分离。内部屏幕的布局将保留。有关所有详细信息,请参见以下内容:

当我拆分显示然后分离时,屏幕会忘记拆分。

或者,您可以尝试直接从屏幕源代码树中编译最新版本。您可以通过安装git然后运行来做到这一点:

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

然后,按照src / INSTALL中的指示进行操作。通常,这些方向是:

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

在INSTALL文件中,基于各种考虑,围绕屏幕安装位置的各种问题进行了讨论。如果您走这条路线,最好的选择是阅读所有安装说明,然后继续。


0

当我无意中按下了错误的组合键时,我遇到了这个问题,所有的分割屏幕都消失了。:((

但是,至少对我来说,这是一个(谦虚的)出路。由于我通常将screen它们与xtermand bashshell 一起使用,因此我最后想做的就是启动更多bashes。(通过ps显示bash流程控制事物那里,但无法访问。)

所以顺便要回我平时的设置是使用Ctrl+ "和一个加已经运行外壳每个分割窗口,通过“窗格”与骑自行车Ctrl+ aTAB。所以我恢复了正常。
我之所以发布此帖子,是因为我遇到了一些沮丧的人,他们只是按下Ctrl+ ac并“重新安装”了他们的bashes。但是,这很愚蠢!对于这种方法,bash一天结束时您最终可能会遇到25个进程,其中至少15个进程无法访问/不可见,这无缘无故浪费了资源和CPU。因此,请重新使用它们,而不是重新创建它们。


是什么ctrl "?我尝试过,重新安装时,凝视着剩下的唯一一个“显示器问题”,它什么也没做,于是我按了一下,那^a tab并没有带我去下一步,事实上所做的只是^a n
布赖恩·托马斯

0

腻子注意事项:如果您使用腻子,还请转到终端设置,并检查以禁用终端的大小调整,保存设置,然后重新启动。

您可以根据自己的设置选择一些选项;

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.