Answers:
从屏幕常见问题解答:
(隐含的问题是:“如何将拆分后的窗口保持在分离窗口上方?”)
简而言之,答案是你做不到。更长的答案是您可以伪造它。
拆分是显示的属性。管理屏幕会话的过程并不真正了解它们。仅显示会话的单个进程可以。因此,屏幕会话无法记住拆分,因为它不知道拆分,并且一旦分离,就知道拆分的过程已经退出。
黑客是使用嵌套屏幕会话。开始一个会话,并为它提供一些您不需要太多使用的转义序列(或者只是完全禁用其转义字符)。将您通常的分离键序列绑定到此屏幕会话。现在,开始或附加到主屏幕会话。您的所有工作都将在内部会话中完成,您可以拆分显示。但是,分离时,将分离外部会话,因此将保留内部会话中的拆分。
假设您使用默认的转义字符Ca,则备用的screenrc应该包含:
escape "" bindkey ^ad detach
layout
)使该答案无效!
我发现,如果您已经设置了一些窗口,并且想要保存它们,则可以执行以下操作:
Ctrl-a
:
layout save default
然后,当您分离并重新连接到会话时,应还原布局。
适用于屏幕版本4.00.03jw4(FAU)2006年5月2日(Ubuntu 12.04和12.10)
另外,您可能想要创建一个守护进程会话,如下所示:
$> screen -dmSU mysession
然后通过调用以下命令使其始终可用:
$> screen -r mysession
screen 4.00.03 (FAU) 23-Oct-06
上的当前版本没有此功能。但是应该!
.screenrc
。支持答案
在git版本中,layout
引入了新功能。
从屏幕(1):
布局新的[标题]
创建一个新的布局。屏幕将变为整个区域,并切换到空白窗口。在这里,您可以根据需要构建区域和显示的窗口。新布局将以最小的可用整数编号,从零开始。您可以选择为新布局命名。否则,它将具有默认标题“ layout”。您以后总是可以使用命令布局标题来更改标题。
即使您断开了屏幕会话,布局也记住了区域的分割方式。
例如,屏幕从以下配置开始。
layout new
split
split -v
screen 0
focus next
screen 1
focus bottom
screen 2
detach
并重新附加此会话,您将可以回到具有3个分割区域的(最后选择)布局。
只需将此行添加到您的~/.screenrc
:
# This line makes Detach and Re-attach without losing the regions/windows layout
layout save default