我在 Ubuntu 服务器中使用屏幕。
我的屏幕分为四个区域,每个区域显示一个不同的窗口。
问题是当我分离(或者可能重新连接)一个得到四个窗口但只有一个区域时,我必须重新做C-a S
一遍?
重新连接时如何保持屏幕分裂?
小智 84
我发现如果你已经设置了一些窗口并且你想保存它们,你可以这样做:
Ctrl-a
:
layout save default
Run Code Online (Sandbox Code Playgroud)
然后,当您分离并重新附加到会话时,应该恢复布局。
适用于 Screen 版本 4.00.03jw4 (FAU) 2-May-06 (Ubuntu 12.04 & 12.10)
此外,您可能希望创建一个守护进程:
$> screen -dmSU mysession
Run Code Online (Sandbox Code Playgroud)
然后通过调用使其始终可用:
$> screen -r mysession
Run Code Online (Sandbox Code Playgroud)
小智 15
只需将此行添加到您的~/.screenrc
:
# This line makes Detach and Re-attach without losing the regions/windows layout
layout save default
Run Code Online (Sandbox Code Playgroud)
小智 14
在 git 版本中,layout
引入了新功能。
从屏幕(1):
布局新 [title]
创建新布局。屏幕将变为一整个区域并切换到空白窗口。从这里,您可以根据需要构建区域和它们显示的窗口。新布局将以最小的可用整数编号,从零开始。您可以选择为新布局命名。否则,它将具有“布局”的默认标题。您可以随时使用命令布局标题更改标题。
即使您分离了屏幕会话,布局也会记住区域是如何分割的。
例如,屏幕开始跟随配置。
layout new
split
split -v
screen 0
focus next
screen 1
focus bottom
screen 2
detach
Run Code Online (Sandbox Code Playgroud)
并重新连接此会话,您将能够返回到(上次选择的)具有 3 个分割区域的布局。
Dar*_*all 13
从屏幕常见问题解答:
(隐含的问题是,“我如何将拆分窗口保持在分离状态?”)
简而言之,答案是你不能。更长的答案是你可以伪造它。
拆分是您的显示器的属性。管理屏幕会话的进程并不真正了解它们;只有显示会话的单个进程才可以。因此, screen 会话无法记住拆分,因为它不知道它们,并且一旦您分离,知道它们的进程就会退出。
黑客是使用嵌套的屏幕会话。启动一个会话并给它一些你不会使用太多的转义序列(或者只是完全禁用它的转义字符)。将您常用的分离键序列绑定到此屏幕会话。现在,开始或附加到您的主屏幕会话。您的所有工作都将在内部会话中完成,您可以拆分显示。但是,当您分离时,分离的是外部会话,因此您在内部会话中的拆分将被保留。
假设您使用默认转义字符 Ca,您的备用 screenrc 应包含:
Run Code Online (Sandbox Code Playgroud)escape "" bindkey ^ad detach
归档时间: |
|
查看次数: |
20109 次 |
最近记录: |