我刚刚从 20.04 更新到 22.04 版本,发现 GNOME 控制中心中的 Google 帐户未登录(Geary 无法连接到我的电子邮件帐户)。
当我尝试在 GNOME 控制中心添加我的 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 桌面指南时可以使用iris
或i965
,只需将它们添加到代码的驱动程序覆盖部分(分别是WEBKIT_DISABLE_COMPOSITING_MODE=1 MESA_LOADER_DRIVER_OVERRIDE=iris gnome-control-center online-accounts
或WEBKIT_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,但似乎这影响了在线帐户。现在我可以正确使用它了