我需要在我的 .screenrc 中添加什么以便创建嵌套会话(即:屏幕中的屏幕)?
目前,如果我screen
从打开的屏幕选项卡中再次运行,而不是在该选项卡中打开新的屏幕会话,它只会打开一个新选项卡(即:与我按下 -C 的效果相同)
我想获得一个外屏会话和一个内屏会话 - 请问我该怎么做?
我的 .screenrc 是空的,除了以下单行来显示打开的选项卡列表:
hardstatus alwayslastline "%{=w}%{G} %{b}%w"
我需要在我的 .screenrc 中添加什么以便创建嵌套会话(即:屏幕中的屏幕)?
目前,如果我screen
从打开的屏幕选项卡中再次运行,而不是在该选项卡中打开新的屏幕会话,它只会打开一个新选项卡(即:与我按下 -C 的效果相同)
我想获得一个外屏会话和一个内屏会话 - 请问我该怎么做?
我的 .screenrc 是空的,除了以下单行来显示打开的选项卡列表:
hardstatus alwayslastline "%{=w}%{G} %{b}%w"
这是一个非常古老的问题,但供参考:
启动主屏幕会话:
screen -S main
开始第二个会话(分离):
screen -dmS SomeName
从您想要嵌套会话的选项卡中:
screen -r SomeName
使用和额外a
的命令来嵌套屏幕,即^a-a-c
在嵌套屏幕中创建一个选项卡。
不知道你的意思是从你的screenrc开始一些嵌套会话还是在你的screenrc中设置一些东西,这样你就可以从冒号提示符开始嵌套会话。
首先,我使用一个单独的 screenrc 文件 .screenrc.main,其中包含
source ~/.screenrc
screen -t <window name> screen -S <nested session name> -e^jj <command>
我认为“新会话名称”部分对于获得新会话是必要的。我对嵌套会话使用不同的命令字符。另外我使用了一个单独的文件,因为我不希望为嵌套会话执行该命令。然后从命令行我做
DISPLAY= screen -S <top session name> -c .screenrc.main
启动外部会话。
其次,我只需在冒号提示符中输入上面的 screen -t 行。
从我在您的问题中读到的内容,您似乎对如何操作嵌套会话感到困惑?
CTRL+a c will create a new 'tab' in the outer screen session.
CTRL+a a c will create a new 'tab' in the session 1 deeper than the previous
CTRL+a a a c creates a new tab in the session 1 deeper than the previous
我有 3 层的情况,我 SSH 进入我的工作框,然后从那里进入代理,然后从那里进入我想要工作的服务器,每次打开一个屏幕会话以便稍后恢复。
如果没有显示完整主机名的 hardstatus,很容易迷路,确实很容易!
我不知道如何编辑您的 screenrc 文件,但对我有用的是 ssh 进入同一台计算机,然后启动一个新的屏幕实例。黑客的解决方法,但它确实有效......
screen
ssh 127.0.0.1
screen