如何修复 gnome 桌面中不接受键盘输入的错误,尽管键码显示扫描码?

如何修复 gnome 桌面中不接受键盘输入的错误,尽管键码显示扫描码?

在 Win7 X64 主机中的 VirtualBox 4.2.6 下运行 Ubuntu 11.04 x86 客户机。

请耐心等待...这很奇怪。启动 Ubuntu 后,Ubuntu 客户机内似乎没有任何东西可以识别键盘输入:登录屏幕、Gnome 终端、gedit 等。我无法使用Alt+Tab在窗口之间切换,无法使用键盘在工作区之间切换。鼠标工作正常。我无法通过Ctrl+ Alt+F1等进入虚拟控制台(终端) F7没有什么。 然而,键盘在 GRUB 内部可以工作。

一切都运行良好(在各种版本的 VirtualBox 下使用这个客户端已经一年多了,没有任何问题 - 并且至少在一周前升级到了 VB 4.2.6。)

今天某个时候,VirtualBox 崩溃了(是的,这种情况偶尔会发生)。我重新启动了客户机,键盘输入不再起作用。这是第一次发生这种情况。

登录屏幕上的虚拟键盘确实可以工作,一旦登录,我就可以从 VirtualBox 主机剪贴板粘贴文本以在 Gnome Terminal bash shell 中输入命令。

因此,sudo showkey当我按下各种键时,在 Gnome 终端中运行(通过粘贴命令和我的密码)会显示扫描代码进入客户机:

$ sudo showkey
[sudo] password for inactivist: 
kb mode was RAW
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]

press any key (program terminates 10s after last keypress)...
keycode  30 press
keycode  30 press
keycode  30 press
keycode  31 press
...

showkey这很奇怪。Ubuntu 客户机中没有任何内容响应按键或输入,但运行时按下按键时系统会看到扫描码。

我在 Ubuntu 论坛和其他资源上搜索了几个小时,但到目前为止还没有找到任何有帮助的东西。

以下是我在初始故障排除阶段所做的事情:

  • 重新启动 Windows 7,冷启动。没有变化。
  • 已验证慢速键(辅助功能选项)已使用记录的方法禁用。无变化。
  • 在主机系统上尝试了不同的键盘。没有变化。
  • 重新安装了 VirtualBox Guest Additions(以 root 身份)几次,没有变化。
  • 在 VirtualBox 中启动了其他客户 Ubuntu OS 实例。键盘在其他客户机中工作正常。因此,我不认为这是 VirtualBox 主机管道问题。
  • 编辑:并且(根据 ObsessiveSSOℲ 的建议)通过以 root 身份运行 /opt/VBoxGuestAdditions-4.2.6/uninstall.sh 并重新启动来卸载 Ubuntu Guest Additions。没有变化。

我迷路了。我还应该检查什么来诊断 Ubuntu 中的此类键盘问题?我认为这是一个驱动程序或配置问题。

是否有特定的日志或实用程序可以帮助查明此问题?

编辑1-F-Lock 键不是问题

更新:进一步搜索可发现以下资源:

  • 虚拟终端不工作 是不是 F-Lock 键有问题?不,这是我首先检查的,然后插入没有 F-Lock 键的旧 USB 键盘——没有变化。但它提到使用来evt监视事件和其他资源...
  • 邮件存档讨论F-Lock键虚拟终端键断...

使用sudo chvt 1,我可以访问虚拟终端,并且键盘输入在虚拟终端中有效。也许这是 X 键盘映射问题...

Edit2 - xev 现在显示键盘事件

xev没有显示键盘输入事件。奇怪。

编辑 3 - 升级到 12.04 修复键盘输入,慢键可能会被静默触发

将 VirtualBox 客户实例“升级”到 12.04 (Precise)“解决”了这个问题。但这并不能告诉我为什么这个问题首先存在,尽管现在我知道这不是 VirtualBox 的问题。

此外,我发现这是 freedesktop.org 最近一期这个Redhat问题这表明慢键功能可能在某处被触发默默没有日志条目,更改设置以禁用慢速键可能实际上不会禁用它。调查仍在继续……

Edit4-验证低级键盘输入

以 root 身份运行hd /dev/input/by-path/platform-i8042-serio-0-event-kbd会在 Gnome 桌面内按下按键时显示传入数据。 来源:superuser.com

编辑 5 - /lib/udev/findkeyboards 没有显示键盘

Ubuntu wiki 的热键故障排除建议到第 5 步为止修理损坏的钥匙在 中/usr/share/doc/udev/README.keymap.txt,运行/lib/udev/findkeyboards(以普通用户或 root 身份)不显示任何输出(退出时没有消息。)

编辑 6-放弃(现在)

我没有时间弄清楚,所以我要创建一个新的 VirtualBox 客户机,安装 12.04 并迁移到该版本。我将保留旧实例以简化过渡。

如果有人发布故障排除建议,我会在我存档的 11.04 Ubuntu 安装上尝试这些建议,并在此报告结果。

感谢您的建议!

相关内容