在 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
(或您将其设置为任何内容)的命令。