![按下 Cc 时如何分离而不是终止 xterm 内的 GNU Screen 会话?](https://linux22.com/image/1550198/%E6%8C%89%E4%B8%8B%20Cc%20%E6%97%B6%E5%A6%82%E4%BD%95%E5%88%86%E7%A6%BB%E8%80%8C%E4%B8%8D%E6%98%AF%E7%BB%88%E6%AD%A2%20xterm%20%E5%86%85%E7%9A%84%20GNU%20Screen%20%E4%BC%9A%E8%AF%9D%EF%BC%9F.png)
在 X 启动时,将自动运行以下操作:
xterm -e 屏幕 -rS app1
这将打开一个 xterm 会话并附加已在分离状态下运行的 app1 的屏幕。
我想要实现的是能够使用 关闭 xterm 窗口ctrl-c
,而不终止 GNU screen 会话。按下时表现出的行为ctrl-c
是app1和屏幕会话终止。
我在读自动分离功能但到目前为止我还没有成功,我不知道这是否是我所需要的。
我正在运行带有 SLES 11.3 的 KDE。
答案1
“关闭 xterm 窗口”通常不是用 来完成的Ctrl-C
。可能发生的情况是应用程序正在捕获它(SIGINT)并正常退出,离开屏幕会话,从而关闭终端(窗口)。
您的目标似乎是Ctrl-C
应该通过屏幕处理来分离应用程序,这可以通过屏幕映射来完成:
bindkey "\003" detach
您可以发出此命令进行测试,Ctrl-A :
然后输入上述内容。语法与自定义 .screenrc 相同,但不要将其放入任何用户中,否则任何人都无法突破该屏幕内的任何程序!如果您有上述内容,并且文件autodetach on
中有一个.my.screenrc
,那么您可以使用 调用原始文件screen -c .my.screenrc
,然后启动其中的应用程序。
我再说一遍,请注意,现在screen
指示捕获中断,此屏幕上没有启动任何程序,甚至由您的应用程序启动的程序如果出现故障/挂起也无法停止,只能从另一个终端停止。
该autodetach
选项将负责从窗口管理器正常关闭窗口。