按 ctrl-c 时如何分离而不终止 xterm 内的 GNU Screen 会话?

按 ctrl-c 时如何分离而不终止 xterm 内的 GNU Screen 会话?

在 X 启动时,会自动运行以下内容:

xterm -e screen -rS app1

这将打开一个 xterm 会话并附加 app1 的屏幕,该屏幕已经在分离状态下运行。

我想要实现的是能够使用 关闭 xterm 窗口ctrl-c,而不终止在屏幕下运行的 app1。当前的行为ctrl-c是 xterm 与 app1 和 screen 会话一起关闭。

我知道,C-a d但我正在专门寻找ctrl-c.

答案1

Ctrl-C 是默认的中断字符,它会导致SIGINT向正在运行的进程发送适当的中断信号 ( )。也许,您的应用程序不会处理它,而是终止(这是默认操作),然后 screen 和 xterm 都会退出,因为它们中没有任何东西在运行。

您可以查看是否可以使应用程序忽略该信号,或禁用终端 ( stty intr "") 中的中断字符以防止应用程序退出。

但这不会分离screen。但是您可以通过将 detach 绑定到screen,中的 Ctrl-C 来实现这一点bindkey ^C detach。 (无论是在您的屏幕中.screenrc还是在屏幕中给出^A:。)请注意,该命令与通常的命令不同bind,该命令控制命令键序列绑定,即使用前缀^A(或您将其设置为任何内容)的命令。

相关内容