为什么我的 F12 键有时会变成波浪号?

And*_*ned 5 vmware terminal hotkeys ubuntu-10.04

我使用的是 Ubuntu、Yakuake 和 VMWare Server 2。我让 Yakuake 使用了默认的 F12 热键,几个月来它运行良好。我最近开始使用 VMWare Server 2 来运行几个 Ubuntu VM,有时,在启动其中一个 VM 并使用它后,F12 键停止工作以下拉 Yakuake 控制台。

目前,F12 键在我的浏览器中不起作用。如果我在 Emacs 中,我会收到一条通知:“<f12> 未定义”,并在终端中输入波浪号 (~)。我无法在不重新启动机器的情况下恢复 Yakuake 功能。

Cli*_*iff 0

VMWare 因 Linux 中的键码映射问题而臭名昭著。默认值适用于许多普通应用程序,但当您使用非字符键时,事情会变得棘手。

VMWare 发布了对这些问题存在原因的详尽解释。该链接适用于 VMWare Workstation,但几年前我成功地使用它解决了我自己的 VMWare Server 问题。

可能的快速解决方案:

如果您的键盘在本地 X 服务器上正常工作,并且您只想在远程 X 服务器(也是在 PC 上运行的 XFree86 服务器)上获得相同的行为,只需关闭虚拟机电源并关闭 VMware Workstation 窗口,然后添加行

xkeymap.usekeycodeMapIfXFree86 = true
Run Code Online (Sandbox Code Playgroud)

到虚拟机配置文件或~/.vmware/config. 在运行虚拟机的主机上进行此更改,而不是在具有远程 X 服务器的计算机上进行。

如果您使用的是基于 XFree86 的服务器,而 VMware Workstation 无法将其识别为 XFree86 服务器,请改用以下命令:

xkeymap.usekeycodeMap = true 
Run Code Online (Sandbox Code Playgroud)

如果这些更改不起作用或导致更多问题,您还可以尝试:

xkeymap.nokeycodeMap = true
Run Code Online (Sandbox Code Playgroud)

如果这些都不起作用,您需要访问该链接并详细了解该怎么做。以下行可能有效,但请最后尝试,因为其他解决方案更通用,并且可能会解决您甚至没有意识到遇到的问题。

xkeymap.keycode.88 = 0x58
Run Code Online (Sandbox Code Playgroud)