我该如何恢复它?由于 snap,我的整个密码管理器集成现在都坏了。使用 1password 的人也会遇到同样的问题。
关于“通过 snap 重复 ppa 安装”,我将复制我的评论:从技术上讲是的,但这是一个很好的破解方法,最终是一种解决方法(如果你只是想在升级后让一些本机传输正常工作,那么这不是你要搜索的东西)。
答案1
更新: Firefox snap 中的原生消息传递支持现已推出测试版。请注意,这是相当新的 - 代码尚未合并到上游,因此不要指望它已经可以投入生产。还有一个Heise Online 的德文文章提供有关如何进行此操作的逐步指南 - 以防您想尝试一下。
很遗憾KeePassXC 无法修复此问题到目前为止扁平包装也不折断支持 NativeMessaging,但是(它们的沙盒技术阻止浏览器扩展与 KeePassXC 进程通信)。虽然解决方案正在制定中,但我们所能做的就是解决这个问题(或者切换到仍然提供浏览器作为常规软件包的发行版,如 Debian)。KeePassXC 故障排除指南建议从官方 PPA 安装浏览器。这种方法不太好,但以下方法对我有用:
- 卸载 Firefox snap
sudo snap remove firefox
- Ubuntu 提供了一个
firefox
安装 Snap 的过渡 Debian 软件包。我们需要确保来自 Mozilla 的 PPA 的软件包具有更高的优先级(否则apt
可能会再次“升级”到 Snap)。
如果您正在使用无人值守升级,您还需要运行以下命令以确保无人值守升级考虑到 Mozilla PPA:echo ' Package: firefox Pin: release o=LP-PPA-mozillateam Pin-Priority: 1001 ' | sudo tee /etc/apt/preferences.d/mozilla-firefox
echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox
- 从 Mozilla 的 PPA 安装 Firefox:
sudo add-apt-repository ppa:mozillateam/ppa sudo apt update sudo apt install firefox
- 禁用 Firefox 的 AppArmor 以确保 Firefox 扩展可以连接到 KeepassXC:
sudo ln -s /etc/apparmor.d/usr.bin.firefox /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/usr.bin.firefox
- 运行
KeePassXC
并启用浏览器集成(菜单工具->设置->浏览器集成,勾选“启用浏览器集成”和“Firefox”)。 - 运行
Firefox
,打开 KeePassXC 扩展的设置 -> 连接的数据库 -> 连接。
免责声明
这种方法的缺点是 AppArmor 被完全禁用 - 请注意这会削弱安全性。也许有更多 AppArmor 经验的人可以提供一种更安全的方法让 NativeMessaging 重新工作?
故障排除
如果您遇到问题,这里有一些提示:
- 您可以通过打开“帮助”->“关于 Firefox”来检查您正在运行的是 Snap 版本还是常规版本的 Firefox。如果版本号未提及“Snap”,则您正在运行常规版本:
- 您可以通过运行来检查 apt 优先级
apt-cache policy firefox
。验证 Mozilla PPA 的优先级是否高于官方 Ubuntu 存储库。输出可能如下所示:$ apt-cache policy firefox firefox: Installed: 101.0.1+build1-0ubuntu0.22.04.1~mt1 Candidate: 101.0.1+build1-0ubuntu0.22.04.1~mt1 Version table: 1:1snap1-0ubuntu2 500 500 http://de.archive.ubuntu.com/ubuntu jammy/main amd64 Packages *** 101.0.1+build1-0ubuntu0.22.04.1~mt1 1001 500 https://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu jammy/main amd64 Packages 100 /var/lib/dpkg/status
答案2
我更喜欢使用具有原生消息传递支持的 Firefox Snap Beta(其他人提到过),而其他替代方案也有其缺点。使用以下命令安装:
sudo snap refresh firefox --beta
在完全更新的 Ubuntu 22.04 LTS 上,我不需要执行 Heise 中提到的任何其他步骤文章, 例如systemctl --user restart xdg-desktop-portal
。
Firefox 测试版(105.0b3)与 KeePassXC 完美兼容(2.7.1)来自官方 PPA以及 Firefox KeePassXC-Browser 扩展(版本 1.8.1)。其他 KeePassXC 软件包对我来说不起作用。使用以下命令安装 KeePassXC:
sudo add-apt-repository ppa:phoerious/keepassxc
sudo apt update
sudo apt install keepassxc
答案3
作为其他答案(没有 PPA)的替代方案,只需使用官方版本即可mozilla.org。
它可以用作静态/便携式安装,可执行文件为path/to/firefox/firefox
。它也可以如上所述在系统级安装这里(根据@mook75 的评论),将该文件夹复制到/opt
,创建所需的符号链接(以便类似的命令firefox
启动浏览器),并提供启动器。
在 22.04(便携版)中测试时,我发现与之前的非 snap 版本相比没有任何限制,所有附加组件都可以使用,只是需要单击才能完成更新Help - About Firefox
。
对于便携式安装,我们需要为其创建一个启动器,手动或使用菜单编辑器,例如点菜或 KDE 菜单编辑器。
答案4
稍等一下 :)
这是一个已知问题,修复正在进行中,预计在六月左右
请参阅此处的本机消息传递部分: https://ubuntu.com/blog/how-are-we-improving-firefox-snap-performance-part-1
更新
据我所知,这个问题现在已经解决了。
不确定 KeePassXC 集成是否已运行,但其他原生消息应用程序可以运行。
只需使用以下方法检查:
flatpak permissions webextensions
并添加权限:
flatpak permission-set webextensions xx.yy.zz snap.firefox yes