我最近注意到,当我按下诸如super
、ALT
+TAB
等键绑定时,它会激活我的主机操作系统而不是我的客户操作系统。
因此,当我尝试通过按下进入我的客户机上的应用程序菜单时,super
它只会进入我的主机上的应用程序菜单,与ALT
+相同TAB
。
这种情况发生在我所有的虚拟机上,即使我在具有所有默认设置的虚拟机中运行带有 Ubuntu 安装程序的新虚拟机,也会发生这种情况。
系统详细信息:
操作系统名称:Ubuntu 22.10
GNOME 版本:43.20
窗口系统:Wayland
显卡:NVIDIA GeForce GTX 1660 / NVIDIA GeForce GTX 1660
VM 软件详细信息:
virt-manager 版本:4.1.0
QEMU 版本:1:7.0+dfsg-7ubuntu2
答案1
这是一个漏洞在 GNOME shell 中(Ubuntu 错误 1998017)。 它一直固定的上游,但修复尚未进入 Ubuntu。
作为一种解决方法,我使用 X 而不是 Wayland ( ) 从命令行启动 virt-manager WAYLAND_DISPLAY= virt-manager
。
但就在今天,我发现由于这是一个 javascript 文件,因此您可以相当轻松地自行修补。基本上,它归结为以下内容:
mkdir -p ~/.gnome-shell-custom-overlays/ui
echo 'export G_RESOURCE_OVERLAYS="/org/gnome/shell=$HOME/.gnome-shell-custom-overlays"' >> ~/.profile
gresource extract /usr/lib/gnome-shell/libgnome-shell.so /org/gnome/shell/ui/inhibitShortcutsDialog.js > ~/.gnome-shell-custom-overlays/ui/inhibitShortcutsDialog.js
$EDITOR ~/.gnome-shell-custom-overlays/ui/inhibitShortcutsDialog.js # manually patch
您可以查看要应用的补丁这里理论上,我认为您可以注销并重新登录以查看结果,但我还是重新启动了以确保万无一失。我只用这个补丁运行了几个小时,但到目前为止一切顺利。
.profile
我计划在 GNOME Shell 更新时注释掉该行。然后重复步骤 3 和 4。如果仍然需要该补丁,请取消注释该行.profile
以继续使用该补丁。如果不再需要,请清理所有内容并返回到没有补丁的 Ubuntu 版本。