如何在GNU屏幕中运行GNU屏幕?


16

是否可以在gnu屏幕中运行gnu屏幕?我不确定键绑定如何工作。我需要从本地屏幕会话登录到已经正在运行屏幕会话的服务器。

Answers:


16

您只需按ctrl-a,然后按a即可将ctrl-a实际发送到嵌套屏幕实例。


3
不,正如RobM正确指出的那样,您必须键入ctrl-a才能将ctrl-a发送到嵌套屏幕。
Jaap Eldering 2011年

17
da 我听说您喜欢屏幕,所以我在您的ctrl-a中放了一个ctrl-a,以便您可以在屏幕上同时进行筛选。

1
也适用于重新映射的代码;我的触发器是ctrl-g(因为我喜欢ctrl-a会以bash开头到一行的开头),因此在嵌套会话中;ctrl-g g 2在嵌套屏幕中ctrl-g 1选择窗口2,在初始屏幕中选择窗口1。
jaygooby,2014年

10

对的,这是可能的。您将需要重新定义screen的转义字符,例如将其设置为E调用时screen

screen -e^Eq

这是一个更好的答案,也是我一直在寻找的东西。我只想知道如何正确配置它,而不是解决方法。为什么要按更多的键,然后将其重新绑定到巢上,以确保确定要控制哪个屏幕。
布赖恩·托马斯

9

如果清除$STY环境变量,则运行screen将启动嵌套会话。

然后,您必须^a在使用任何绑定之前将文字发送到嵌套会话。您可以^a通过按,^a然后按a(普通)发送字母。

所以,在你按下嵌套会话创建一个新的窗口^aac


4

'Ctrl-a a'将ctrl-a发送到嵌套屏幕。

例如,如果要添加新标签,请执行“ ctrl-a ac”

如果您要断开连接:“ ctrl-a广告”


0

如果您使用ctrl-a a或更改转义字符,则这些命令可以正常工作。但是,他还询问如何从另一个终端内部进行附加。我花了一段时间在网上找到它,但是看到-m标志后,我在手册中进行了查找。

    -m      cause screen  to  ignore  the  $STY environment variable. With
            "screen -m" creation of a new session is enforced, regardless whether screen is
            called from within another screen session or not. This flag has a special
            meaning in connection with the `-d' option:

    -d -m   Start screen in "detached" mode. This creates a new session but
            doesn't attach to it. This is useful for system startup scripts.

    -D -m   This also starts screen in "detached" mode, but doesn't fork a new
            process. The command exits if the session terminates.

之后,我测试了使用

screen-d -m

并从屏幕内使用

screen -R -D

并按照我想要的方式工作,创建了一个新屏幕并从屏幕上将其附加到屏幕上。我认为没有多少人会使用此功能,但是有时我会用完终端,因此将选项卡分组在单独的屏幕中可能很有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.