在 GNOME 控制中心添加 Google 帐户时弹出窗口变为空白

在 GNOME 控制中心添加 Google 帐户时弹出窗口变为空白

我刚刚从 20.04 更新到 22.04 版本,发现 GNOME 控制中心中的 Google 帐户未登录(Geary 无法连接到我的电子邮件帐户)。

当我尝试在 GNOME 控制中心添加我的 Google 帐户时,应该包含 Google 登录屏幕的弹出窗口反而显示了一个简短的进度条,但最终停留在空白屏幕上。我该如何解决这个问题?

Google 登录屏幕所在的位置出现了空白的弹出窗口

我尝试了这里发布的解决方案(https://askubuntu.com/a/1385370),这表明这是一个堆肥错误。运行WEBKIT_DISABLE_COMPOSITING_MODE=1 gnome-control-center并尝试添加 Google 帐户时,Google 登录屏幕出现,但对键盘或鼠标输入没有反应,并很快恢复到空白屏幕。我不确定这是什么意思,但执行此操作时终端窗口的输出是:

EGLDisplay Initialization failed: EGL_NOT_INITIALIZED
Cannot create EGL context: invalid display (last error: EGL_SUCCESS)

答案1

经过进一步挖掘,我终于在评论的帮助下解决了自己的问题此主题。我会将它添加到这里以便其他人找到,因为这似乎是一个相当常见的问题,但在线解答只有部分答案,而且解答使用的语言可能非专家用户无法理解。

这似乎是 Mesa 图形驱动程序的问题(可能与特定的 Intel GPU 有关)。解决方案是在控制中心打开在线帐户时尝试三种驱动程序覆盖之一(iris、zink 或 i965)。

虹膜

$ MESA_LOADER_DRIVER_OVERRIDE=iris yelp

$ MESA_LOADER_DRIVER_OVERRIDE=zink yelp

i965

$ MESA_LOADER_DRIVER_OVERRIDE=i965 yelp

我对上述每一个命令进行了测试,直到命令返回一个可以运行的 Ubuntu 桌面指南(yelp 使用 webview,使其成为一个有用的测试用例)。

最后,使用 zink 驱动程序对我来说是可行的。 为了打开在线帐户并添加您的 Google 帐户(以及其他使用 webview 功能的账户),WEBKIT_DISABLE_COMPOSITING_MODE=1 MESA_LOADER_DRIVER_OVERRIDE=zink gnome-control-center online-accounts在终端中运行并正常登录您的账户。

如果您在打开 Ubuntu 桌面指南时可以使用irisi965,只需将它们添加到代码的驱动程序覆盖部分(分别是WEBKIT_DISABLE_COMPOSITING_MODE=1 MESA_LOADER_DRIVER_OVERRIDE=iris gnome-control-center online-accountsWEBKIT_DISABLE_COMPOSITING_MODE=1 MESA_LOADER_DRIVER_OVERRIDE=i965 gnome-control-center online-accounts)。

请记住,这只是使用 webview 函数的临时替代方法。如果有人能更好地理解潜在问题并找到更持久的解决方案,那就太好了。

答案2

我有同样的问题,online-accounts使用终端运行给了我一些线索:

gnome-control-center online-accounts

当我尝试添加 Google 帐户时,出现以下信息:

bwrap: Can't find source path /home/user/.local/share/webkitgtk/mediakeys: Permission denied

事实上,webkitdtk它的所有子文件夹的所有权都设置为 root。我已更改为我的用户,现在一切正常。不知道为什么在我的 ubuntu 22 安装中此文件夹被限制为 root,但似乎这影响了在线帐户。现在我可以正确使用它了

相关内容