登录不同的桌面环境(ubuntu 和 i3)时,Google Chrome 会丢失所有 cookie

登录不同的桌面环境(ubuntu 和 i3)时,Google Chrome 会丢失所有 cookie

看到标题,我在两种情况下都使用相同的应用程序和相同的帐户,但每次都必须重新登录,这不是预期的行为。如果我离开 i3,进入 Ubuntu 桌面并返回 i3,我会丢失 i3 中保存的所有 cookie。

Ubuntu 版本:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:    20.04
Codename:   focal

Google Chrome 版本Google Chrome 95.0.4638.69

i3 版本:i3 version 4.18.2 (2020-07-26) © 2009 Michael Stapelberg and contributors

可能重复2017 年的这个未解决的帖子这是 2021 年 9 月以来的未解决帖子

答案1

我在从 KDE 切换到 Cinnamon 时遇到了类似的问题,但很惊讶地发现互联网上几乎没有答案。该问题似乎与依赖不同密码存储的桌面环境有关。就我而言,我可以通过运行以下命令在 Cinnamon 中加载已登录的 chrome:

google-chrome --password-store=kwallet5

因为我的登录是在 KDE 内进行的。(这没什么意义,可能是一个错误,因为 kwallet 管理器显示没有存储 Chrome 密钥,而 Chrome 似乎正在使用其内部密码存储,而不是我的 DE。)

对于 i3,我发现了以下有用的评论

尝试添加exec --no-startup-id /usr/bin/gnome-keyring-daemon --start --components=secrets到您的 i3 配置中。Chrome 应以 开始--password-store=gnome,否则它会根据 DE 自动检测要使用的密码存储。在 i3 中,它默认为纯文本。

看来 Chrome 并没有尝试变得足够聪明。它不会尝试寻找可能正在使用的不同密钥环,而只是根据它所在的 DE 进行猜测。

答案2

我正在运行 Ubuntu 22.04,我可以报告 --password-store=gnome 的解决方案至少对我来说不再有效。我正在使用 --password-store=gnome-libsecret。

如果您想继续使用 i3 dmenu,您可以在 $PATH 内的文件夹(例如 $HOME/.local/bin/)中添加一个名为chrome如下的自定义脚本:

#!/bin/bash
google-chrome --password-store=gnome-libsecret

如果您在 dmenu 中没有看到新条目,chrome请尝试删除缓存$HOME/.cache/dmenu_run

相关内容