Gnome Backups (DejaDup) Flatpak 版本突然无法打开路径

Gnome Backups (DejaDup) Flatpak 版本突然无法打开路径

介绍

我使用 Gnome Backups (DejaDup) Flatpak 版本作为我的备份解决方案运行良好,直到今天,该软件拒绝使用位于我的 HOME 目录中的路径,并表示:

无法备份此文件夹,因为备份无权访问它。

通过 Flatseal 可以访问整个 HOME 目录以及这些单独的目录,但无济于事。其中一些目录是 Unicode(西里尔文),一些是纯拉丁文和常见系统路径(即 ~/Music/ 甚至 xdg-music)。

我首先以为我的语言环境有问题,但看起来并非如此(或者也许我错了?)。

分层(非 Flatpak)DejaDup 正在工作,但我真的更喜欢使用 Flatpak 版本,因此我不必通过 rpm-ostree 分层任何内容。

Flatpak 版本:1.15.6

Linux 发行版本:Fedora Kinoite 6.7.9-200.fc39.x86_64 (KDE Plasma)

如何重现

  1. 在 HOME 或其他地方添加任何备份路径。
  2. 尝试开始备份。
  3. 收到消息:“无法备份以下文件夹,因为备份无权访问它们:[列出的目录]”

预期行为

GNOME 备份能够访问 HOME 中的任何目录或任何其他用户创建的目录(包括其他安装的驱动器上的目录)。

Flatseal 或flatpak override能够允许文件系统访问。

实际行为

GNOME 备份无法访问 HOME 或其他地方的任何目录。简单地说:“无法备份此文件夹,因为备份无权访问它”。

Flatseal 或flatpak override“允许”文件系统访问,但 GNOME 备份仍然无法使用它。

语言环境的东西

flatpak run --command=locale org.gnome.DejaDup用于打印此内容(顺便说一句,VLC、Flatseal 也打印相同的内容):

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE="xx_XX.utf8"
LC_NUMERIC="xx_XX.utf8"
LC_TIME="xx_XX.utf8"
LC_COLLATE="xx_XX.utf8"
LC_MONETARY="xx_XX.utf8"
LC_MESSAGES="xx_XX.utf8"
LC_PAPER="xx_XX.utf8"
LC_NAME="xx_XX.utf8"
LC_ADDRESS="xx_XX.utf8"
LC_TELEPHONE="xx_XX.utf8"
LC_MEASUREMENT="xx_XX.utf8"
LC_IDENTIFICATION="xx_XX.utf8"
LC_ALL=xx_XX.utf8

但被修复为flatpak config --set languages en

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

系统运行区域设置命令给出:

LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

还尝试将系统设置→区域和语言中的所有设置更改为默认值,修改一些系统文件(例如/etc/locale.conf)等......运行flatpak修复,试图解决问题。没有任何帮助。

运行flatpak run org.gnome.DejaDup产生:

Locale not supported by C library.
Using the fallback 'C' locale.

与应用的权限不一致

奇怪的是,Flatseal 似乎应用了权限对于它自己和 KDE,但它们不适用于 DejaDup。我可以在 Flatseal 和 KDE 设置 → Flatpak 权限中看到它们“应用”,但当我尝试时flatpak permission-show org.gnome.DejaDup没有打印任何内容。当我也尝试时,flatpak override --show org.gnome.DejaDup没有打印任何内容。flatpak repair reinstall-all也没有解决问题。

包起来

DejaDup 似乎生活在与系统分离的现实中,并且拒绝接受新的权限。即使我通过 Flatseal 重置它们,或者flatpak override --reset org.gnome.DejaDup(理论上应该允许“所有系统文件”访问应用程序),它仍然无法访问我选择的任何目录。

在所有这些更改之间,我还多次重新启动了整个系统。

到底是怎么回事?!

后经文

PS GNOME Backups 和 Flatseal 作为系统 Flatpaks 安装,而不是用户的:flatpak list --system打印它们,--user不打印。

一些背景信息

我 90% 以上确信这是 Flatpak 兼系统问题,而不是特定应用程序的问题。这背后的原因是:

  1. 实际上,我两天前就有了 GNOME Backups Flatpak 版本,没有任何问题(尽管我更改/更新了某物但从那时起,我不明白是什么导致了如此彻底的改变,造成了现在的混乱。
  2. 我注意到如何设置权限/覆盖的一些问题(不一致),这些问题依赖于 Flatpak(见下文);
  3. 非 Flatpak 版本工作得很好,但我更喜欢 Flatpak 版本;
  4. 有些用户有类似/相同的问题,但针对不同的应用程序,或者所有 Flatpak 应用程序:(例如:https://discussion.fedoraproject.org/t/flatpaks-cant-seem-to-access-most-folders-include-home/76543/4);
  5. 这 (https://gitlab.gnome.org/World/deja-dup/-/issues/113)问题票相似且旧,据说“已解决”,但对我来说还没有解决;
  6. 我已经无计可施了(虽然我还是一个相对的 Linux 新手)。

相关内容