![为什么我的 F12 键有时会变成波浪号键?](https://linux22.com/image/1249265/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%20F12%20%E9%94%AE%E6%9C%89%E6%97%B6%E4%BC%9A%E5%8F%98%E6%88%90%E6%B3%A2%E6%B5%AA%E5%8F%B7%E9%94%AE%EF%BC%9F.png)
我使用的是 Ubuntu、Yakuake 和 VMWare Server 2。我保留了 Yakuake 的默认 F12 热键,几个月来它一直运行良好。我最近开始使用 VMWare Server 2 运行几个 Ubuntu VM,有时,在启动其中一个 VM 并使用它后,F12 键会停止工作并下拉 Yakuake 控制台。
目前,F12 键在我的浏览器中不起作用。如果我在 Emacs 中,我会收到一条通知:“<f12> 未定义”,而在终端中它会输入波浪符号 (~)。如果不重启机器,我无法恢复 Yakuake 功能。
答案1
VMWare 因在 Linux 中存在键码映射问题而臭名昭著。默认设置对于许多普通应用程序来说都运行良好,但当您使用非字符键时,事情就会变得棘手。
VMWare 已发布详尽解释原因这些问题确实存在。该链接适用于 VMWare Workstation,但几年前我曾成功使用它解决了我自己的 VMWare Server 问题。
可能快速的解决方案:
如果您的键盘在本地 X 服务器上正常工作,而您只希望在远程 X 服务器(也是在 PC 上运行的 XFree86 服务器)上获得相同的行为,只需关闭虚拟机并关闭 VMware Workstation 窗口,然后添加行
xkeymap.usekeycodeMapIfXFree86 = true
到虚拟机配置文件或
~/.vmware/config
。在运行虚拟机的主机上进行此更改,而不是在具有远程 X 服务器的机器上进行。如果您正在使用基于 XFree86 的服务器,而 VMware Workstation 无法将其识别为 XFree86 服务器,请改用以下命令:
xkeymap.usekeycodeMap = true
如果这些更改不起作用或导致更多问题,您还可以尝试:
xkeymap.nokeycodeMap = true
如果这些都不起作用,您需要转到链接并详细了解要做什么。下面一行可能有效,但请最后尝试这一行,因为其他解决方案更通用,可能会解决您甚至没有意识到的问题。
xkeymap.keycode.88 = 0x58