Gnome Backups (DejaDup) suddenly unable to open paths!?

Hello there, Fedora Kinoite user here.

I had a fine run using Gnome Backups (DejaDup) Flatpak version as my backup solution until today, when the software refuses to use paths located in my HOME directory saying that: This folder cannot be backed up because Backups does not have access to it. Access is given through Flatseal to the whole HOME dir as well as to these separate dirs, but to no avail. Some of these directories are Unicode (Cyrillic), some are pure Latin and common system paths (i.e. ~/Music/).

Layered DejaDup is working, but I REALLY prefer to use the Flatpak version so I don’t have to layer anything through rpm-ostree.

flatpak run --command=locale org.gnome.DejaDup prints this:

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

(BTW the same is printed for VLC, Flatseal)

System-run locale command gives:

ANG=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=

Also tried changing all settings in System settings → Region & Language to defaults, modified a few system files (e.g. /etc/locale.conf), etc… ran flatpak repair, trying to solve the issue. Nothing helps.

Please, I am going crazy, help me out! How can I fix this?

Are you just using one locale or multiple?

You could try:

flatpak config --set languages en
flatpak update

Thanks for your reply. Yes, I’ve previously set that to ‘en’ and another language (the Unicode language used in the paths), now reverted it back to only ‘en’, but to no avail. Did

flatpak config --set languages en
flatpak update

and then systemctl reboot, just in case.

Weirdly enough, it seems that Flatseal applies permissions for itself and for KDE, but they don’t apply to DejaDup. I can see them ‘applied’ from both within Flatseal and KDE settings → Flatpak permissions, but when I try flatpak permission-show org.gnome.DejaDup there’s nothing printed. When I also try flatpak override --show org.gnome.DejaDup nothing is printed. flatpak repair reinstall-all didn’t fix the issue as well.

EDIT: I also tried now flatpak run --command=locale org.gnome.DejaDup and printed:

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=

It seems as if DejaDup is living in a separate reality from the system, and refuses to accept new permissions. Even when I reset them through Flatseal, or flatpak override --reset org.gnome.DejaDup (which should in theory allow ‘All system files’ access to the app), it still cannot access any directory that I choose.

What the hell is going on?!

That command is for dynamic portal-based permissions, like when you use the File Chooser portal. Static permissions as defined in the app’s metadata and overrides are completely separate.

Flatseal sets user overrides, which are only visible with flatpak override --user.


Please share flatpak info -M org.gnome.DejaDup

Thanks Chris, didn’t know that.

flatpak info -M org.gnome.DejaDup (edited paths for privacy, but they all show correctly):

[Context]
shared=network;ipc;
sockets=x11;wayland;fallback-x11;
devices=dri;
filesystems=/home/[username]/[Unicode-named-dir];xdg-music;xdg-run/gvfs;~/.var/app;home;xdg-run/gvfsd;host;/run/media/[username]/[latin-path]/[latin-path];

[Session Bus Policy]
com.feralinteractive.GameMode=talk
org.gtk.vfs.*=talk
org.freedesktop.secrets=talk

[Environment]
LC_ALL=xx_XX.utf8

What is /home/[username]/[Unicode-named-dir]? It already has host permission, so that’s unnecessary, likewise for xdg-music and home. I wonder if the Unicode path is breaking things. Can you provide a similar value that I can test with?

Is that the actual value, or is it censored? Regardless, you shouldn’t normally set the locale like that. If you absolutely need to use a different locale for a specific app, you must also flatpak config --set extra-languages xx so the proper locale subset will be installed. If that’s a global override, you should remove it and do it another way.

Thanks Chris.

Here’s an example of a Unicode directory name to try it out (choose whichever you’d like): текст or имепапка. The [username] is in pure Latin, no Unicode characters whatsoever.

It is the actual value. Yes, I wondered about it (must have set it yesterday while trying out different things). Now I’ve unset it by editing /var/lib/flatpak/overrides/global and deleting its entry. Even ran flatpak update after it. Still nothing

Then I tried with flatpak config --set extra-languages [the language in question] and flatpak update. Again, nothing. :frowning:

EDIT: should I maybe install both Flatseal and Deja Dup as --user and then try applying file system permissions through Flatseal?

There are only four places it could have been set:

flatpak override --show
flatpak override --show --user
flatpak override --show org.gnome.DejaDup
flatpak override --show --user org.gnome.DejaDup

Once you know which one has it, you can remove it.


That isn’t necessary.


Try flatpak run --command=sh org.gnome.DejaDup. Can you access the files you’re trying to back up in that shell?

Ran all four flatpak overrides, that key+value combination (LC_ALL=xx_XX.utf8) doesn’t show anywhere. Guess removing it from global was enough.

flatpak run --command=sh org.gnome.DejaDup shows a KDE Plasma notification that Backups is running in the background, but no UI.

Through the shell I can access those files, and their names (both Latin and Cyrillic) show perfectly. Tested by cat-ing a text file within those paths, which printed successfully.

I would make sure there aren’t any leftover instances running (flatpak ps), and then see if it’s still broken. If it is, this may be a DejaDup bug.

In any case, you should remove all of the filesystem override permissions you’ve set.

Thanks Chris,

Nothing helped, unfortunately. The only thing dissuading me from understanding this as a DejaDup bug is that it worked without any hiccups just a few days ago, and that there was no update for the app in the meantime. The last update released for Flatpak is on 22 December 2023.

What about possible selinux policy updates? A policy update without updating the file system attributes could contribute to this failure.

Thanks Jeff, hmm, I don’t remember ever fiddling with that. Can a system update (e.g. through rpm-ostree) modify something there? How can I check?