我在 Ubuntu 22.04 主机和客户机上使用 virtualbox 6.1.34,gnome-shell 每隔一分钟就会崩溃。它多年来一直运行良好,但我不知道到底发生了什么变化。
我将虚拟机复制到了另一台具有相同虚拟机的电脑上,并且它运行良好。
作为用户,我看到的情况是,我关注的窗口突然被切换,并且短时间内我看不到顶部栏。
也许这与显卡驱动程序有关。有办法确认吗?我尝试了几种专有 NVIDIA 驱动程序和通用驱动程序,结果相同。
我可以在日志中看到,但我无法理解的内容(请参阅下面的完整消息):
- 无法更新舞台视图演员……
- 查找权限时出错:... 没有地理位置条目 3.ATK Bridge 已禁用,但 a11y 已启用。
- 取消设置 XDG_SESSION_ID,getCurrentSessionProxy() 在用户会话之外调用。直接询问 logind。
- 无法创建文件 /run/user/1000/gnome-shell-disable-extensions:... 文件存在
1 - 我经常遇到这种情况,但不知道它是什么意思。
2 - 我不在乎地理位置,或者?我可以禁用导致此错误的应用程序以确保它不相关吗?
3/4 - 这到底是什么意思?有关系吗?
5 – 该文件不存在,所以我不知道为什么它会抱怨它存在,而且我不知道它是否相关。
这是其中的一部分journalctl /usr/bin/gnome-shell
:
Sep 05 16:17:01 my-virtualbox gnome-shell[2868]: Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x561299fa4360] is on because it needs an allocation.
Sep 05 16:17:01 my-virtualbox gnome-shell[2868]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x56129b810750] is on because it needs an allocation.
Sep 05 16:17:01 my-virtualbox gnome-shell[2868]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x56129b8146a0] is on because it needs an allocation.
Sep 05 16:17:31 my-virtualbox gnome-shell[3880]: Running GNOME Shell (using mutter 42.2) as a X11 window and compositing manager
Sep 05 16:17:31 my-virtualbox gnome-shell[3880]: ATK Bridge is disabled but a11y has already been enabled.
Sep 05 16:17:32 my-virtualbox gnome-shell[3880]: Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
Sep 05 16:17:32 my-virtualbox gnome-shell[3880]: Will monitor session 2
Sep 05 16:17:32 my-virtualbox gnome-shell[3880]: Telepathy is not available, chat integration will be disabled.
Sep 05 16:17:32 my-virtualbox gnome-shell[3880]: Failed to create file /run/user/1000/gnome-shell-disable-extensions: Error opening file “/run/user/1000/gnome-shell-disable-extensions”: File exists
Sep 05 16:17:32 my-virtualbox gnome-shell[3880]: Error looking up permission: GDBus.Error:org.freedesktop.portal.Error.NotFound: No entry for geolocation
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <overviewGroup>[<StWidget>:0x563b5a5f4340] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <overview>[<Gjs_ui_overview_OverviewActor>:0x563b5aff5860] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<Gjs_ui_overviewControls_ControlsManager>:0x563b5a807c60] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<Gjs_ui_workspaceThumbnail_ThumbnailsBox>:0x563b5a374ce0] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<Gjs_ui_workspaceThumbnail_WorkspaceThumbnail>:0x563b5b647490] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<ClutterActor>:0x563b5b722fe0] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<ClutterActor>:0x563b5b723300] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<Gjs_ui_workspaceThumbnail_WindowClone>:0x563b5b723620] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<ClutterClone>:0x563b5b86a420] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<Gjs_ui_workspacesView_WorkspacesDisplay>:0x563b5b109350] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<Gjs_ui_workspacesView_WorkspacesView>:0x563b5b881c10] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<Gjs_ui_workspace_Workspace>:0x563b5b8824e0] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<ClutterActor>:0x563b5b875f60] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<Gjs_ui_windowPreview_WindowPreview>:0x563b5b88e870] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<ClutterActor>:0x563b5b88a350] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<ClutterClone>:0x563b5b86a760] is on because it needs an allocation.
Sep 05 16:17:33 my-virtualbox gnome-shell[3880]: Can't update stage views actor <unnamed>[<StIcon>:0x563b5b895ca0] is on because it needs an allocation.
Sep 05 16:17:34 my-virtualbox gnome-shell[3880]: GNOME Shell started at Mon Sep 05 2022 16:17:32 GMT+0200 (CEST)
Sep 05 16:17:34 my-virtualbox gnome-shell[3880]: Registering session with GDM
编辑:我在客户系统和最新的 VirtualBox 扩展上升级到了 Ubuntu 22.04。
编辑:添加了输出journalctl /usr/bin/gnome-shell
编辑:修复了一些不相关的错误并更新了日志,以便更简单地查看实际问题。
答案1
这个错误显然是由 5.15.0-47 内核中的一些更新引起的。这里有一个错误报告:https://bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1988473
据报道,切换到较早的内核(例如 5.15.0-46)可使 Virtualbox 客户机再次正常运行。此外,该错误已在更高版本的 Virtualbox 中得到修复,例如 6.1.36。
从上面的帖子中:
我将 virtualbox 上传到 focal (20.04) 和 jammy (22.04) 的未批准队列中。等待 SRU 团队查看
因此看来修复正在进行中。
据报道,它可以影响任何 VirtualBox 客户机,包括 Windows、不同的 GNU/Linux 发行版。
可能相关的问题和更多解释:https://forums.virtualbox.org/viewtopic.php?f=7&t=106071&start=15#p519086
从上面的帖子中:
它与修复安全漏洞的内核提交 6e8ec2552c7d 相关。
我猜想最新的 Linux 内核通过重新设计的随机数生成器获得了更大的安全性增强。该改进的详细描述如下: https://www.theregister.com/2022/03/21/new_linux_kernel_has_improved/。
这一改进似乎非常重要,因此它已被移植回仍然广泛使用的旧内核。
VirtualBox 测试版本 6.1.35r151864(及更新版本)应该支持主机和客户机上的 Linux 内核 5.18、5.17.12+、5.15.44+、5.10.119+ 等。