gnome:我的键盘输入去哪儿了?

gnome:我的键盘输入去哪儿了?

我运行 Ubuntu 16.04,终端使用gnome-terminalbash作为 shell。

有时,我的一个终端变得没有响应:当我在终端聚焦的情况下按下键盘上的键时,终端上什么也没有发生,但系统的其余部分工作正常(其他程序响应正确,系统范围的快捷方式如Ctrl+Shift+T打开新终端工作等......)

大多数情况下,这种情况发生在我使用 编辑文件时vi,也许它实际上链接到vi和 而不是gnome-terminalbash,但我也看到(虽然很少见)我的一些终端卡在 bash 命令行上。

我不知道如何调试这个问题。

问题 :

  • 调试:如何查看哪个进程具有当前焦点窗口?以及查看它对哪些事件作出反应?
  • Ubuntu / gnome 使用:是否有人知道某些键盘快捷键或某些相当标准的程序,它们会以某种方式将键盘输入重定向到未显示的内容?

我目前的盲目猜测是:存在某种快捷方式,也许在输入vi命令时更容易触发,从而启动某些重定向我输入的东西。

答案1

这听起来就像您不小心按了Ctrl- S。这会冻结/停止终端。按Ctrl-Q可使其再次运行。

警告:当你按下Ctrl-Q时,终端冻结时输入的所有内容都将被处理。例如,启动 vi 并开始插入,Hello然后按Ctrl-S并继续输入World。按下Ctrl-后什么也不会发生S。现在按下Ctrl-Q文本World将被打印出来。

顺便说一句:这不是 Vi/Vim 的功能,而是终端或底层终端驱动程序的功能。


更新:

这似乎被称为“XON/XOFF 流控制”,可以通过执行 来禁用当前终端中的此功能stty -ixon。如果您现在启动 vi 并开始插入文本,然后意外地按下Ctrl——S它只会插入^S并继续。

为了使此操作永久生效,stty -ixon必须在每个终端(例如从您的 )中执行该命令.bashrc。请注意,可能会有副作用!

相关内容