如何在重启后保留“gnu screen”布局

如何在重启后保留“gnu screen”布局

我使用screen3 分割,左侧是 vim,右侧是另外两个水平分割的屏幕。我知道当从屏幕分离时,我可以使用 保存布局:layout save my_layout_name

layout autosave on我的文件中已经有了.screenrc,但这对我的问题没有帮助。

如何在不同的终端会话之间以及在 PC 重启后保留屏幕的布局?或者作为一种解决方法,有没有办法运行屏幕(参数)来拆分它,在每个窗口上设置 bash 并保存布局?

答案1

新屏幕的默认布局

管理您的区域,然后执行代码内屏

  • 节省您当前的布局文件.screen_layout

    rm -f $HOME/.screen_layout
    屏幕-X 布局转储.screen_layout
    
  • 为了实现它自动加载布局保存:

    回显源 .screen_layout >> $HOME/.screenrc
    echo 布局保存 def >> $HOME/.screenrc
    

怎么运行的

  1. 您输入screen
  2. 屏幕显示$HOME/.screenrc
  3. source .screen_layout-并执行命令 $HOME/.screen_layout
    区域现已创建。
  4. layout save def-节省当前的区域分离时将其保留为布局。

layout dump .screen_layout

  • 倾倒 (附加)当前布局文件$HOME目录

screen -X command

  • 跑进command当前的screen 会话(如果在里面执行)。
    类似于ctrlathen: command

您也可以

  • 禁用版权声明启动时:

    echo startup_message off >> $HOME/.screenrc
  • 增加滚动缓冲区(默认 100)

    echo defscrollback 1000 >> $HOME/.screenrc
  • 自己写.screen_layout(50%/50%垂直,有2个外壳):

    拆分-v
    屏幕-t s1
    
    重点
    屏幕-t s2
    
    重点
    

答案2

Ctrl-a然后提供:layout save default 屏幕是较新的版本(具有布局功能)祝你好运。

更新:这里是个.screenrc文件将使改变永久,同时还添加了其他不错的功能。

答案3

布局自动保存开启“仅适用于 .screenrc 中明确命名的布局。

也就是说,如果您将某个布局指定为 ABC,在 Screen 会话内切换到该布局并分离,则会话恢复后将恢复最后的布局。

如果您没有在配置文件中指定任何布局,则必须运行内部命令“布局保存你的布局名称“ 分离之前。

这是一个 .screenrc有预定义的布局可供选择:

 0 — one (the only region)
 1 — two-v (the screen is splitted vertically into two regions, default layout)
 2 — two-h (the screen is splitted horizontally into two regions)
 3 — three (three regions — two in the upper part of the screen and one underneath)
 4 — four (four regions)

预定义布局

一旦从屏幕中选择,这些布局将在分离时保留,直到下次恢复会话(由于“布局自动保存开启”命令)。

如果你已经构建了自己的布局,则必须使用“布局转储文件名“命令。然后您可以使用“filename”文件中的代码来添加布局#布局此 .screenrc 部分可供选择。

默认情况下 ”双v“布局是通过唯一带有 bash 的窗口加载的。

答案4

根据此来源由于工作方式的原因,这是不可能的screen。但是,那里提供了一个 hack。它基本上可以归结为将屏幕嵌套在另一个屏幕中,这可能不太方便。(找到答案这里

如果您在本地机器上使用 screen 进行终端分割(我从提到的 PC 重启推断),您可能需要查看名为 的终端仿真器terminator。它支持水平和垂直终端分割(也可以嵌套),您可以保存自己喜欢的布局以供将来使用。然后,您只需使用适当的选项运行 terminator:terminator -l <name of saved layout>

相关内容