![Ctrl+C 在 Guake 终端中不起作用](https://linux22.com/image/1381192/Ctrl%2BC%20%E5%9C%A8%20Guake%20%E7%BB%88%E7%AB%AF%E4%B8%AD%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
Ctrl+C不会中断正在运行的命令,Ctrl++Shift也C不起作用。但在 Gnome 终端中一切正常。
答案1
问题是,ctrl+c也是复制某些内容的快捷方式。因此,您必须将 SIGKILL 快捷方式绑定到终端中快捷方式可以工作的其他内容。例如自动键
三年前在 guake.org 上有一张票,上面的答案很好地解释了这一点:
Ctrl+C 是 Unix 终端中用于终止前台进程的传统组合键。在底层,它会向前台进程发送 SIGINT 信号,其默认效果是终止进程。但是,任何应用程序都能够捕获并阻止该信号,忽略终止请求。还有几十种其他信号具有各自的特定功能,例如 SIGSTOP 可停止进程(稍后可恢复),SIGTERM 无条件终止进程等。
但是,Ctrl+C 也是众所周知的“复制”操作的快捷键,在 MS Windows 应用程序中广泛使用。现代 Linux 桌面环境模拟了该行为,以减少迁移用户的困惑,但 X windows 的本机选择系统使用鼠标中键进行“复制粘贴”,而不是使用热键。只需选择源文本,然后单击目标区域中的第三个按钮。所选文本将被粘贴。
由于 Guake 使用 GNOME 提供的 VTE 组件(负责处理 ^C,即终端终止组件),恐怕我们无法解决冲突。将“复制粘贴”Ctrl+C 绑定到其他东西(我已将其绑定到 Ctrl+Shift+C)并习惯它;或者尝试适应鼠标中键单击方式 - 它确实非常方便。是的,补丁一如既往地受到欢迎 - 因此您可以尝试自己修复所有问题(虽然这不是错误,但这是一个冲突:无需修复,而是找到不太有害的解决方法)。