如何创建嵌套屏幕会话?

时间:2012-04-30 02:22:43

标签: gnu-screen

我需要在.screenrc中放置什么才能创建嵌套会话(即:屏幕内的屏幕)?

目前,如果我从打开的屏幕标签中再次运行screen,而不是在该标签中打开新的屏幕会话,它只会打开一个新标签(即:效果与我按下的一样) -C)

我想获得外部屏幕会话和内部屏幕会话 - 我该怎么做?

我的.screenrc为空,除了以下单行以显示打开的标签列表:

hardstatus alwayslastline "%{=w}%{G} %{b}%w"

4 个答案:

答案 0 :(得分:5)

这是一个非常古老的问题,但仅供参考:

开始MAIN屏幕会话:

screen -S main

开始第二次会议(分离):

screen -dmS SomeName

从您想要嵌套会话的选项卡:

screen -r SomeName

使用和a命令嵌套屏幕,即^a-a-c在嵌套屏幕中创建标签。

答案 1 :(得分:3)

不知道你的意思是从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

开始外部会议。

对于第二个,我只需在冒号提示中输入上面的屏幕-t行。

答案 2 :(得分:2)

我不知道如何编辑你的screenrc文件,但是对我来说有用的是在同一台计算机上然后启动一个新的屏幕实例。 Hackish解决方法,但确实有效......

screen
ssh 127.0.0.1
screen

答案 3 :(得分:0)

从我在你的问题中看到的内容看来,你可能会对如何操作嵌套会话感到困惑?

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显示完整的主机名,很容易迷路,非常容易!

相关问题