Profile Sync Daemon for Zen Browser Flatpak
profile-sync-daemon is a li’l daemon for managing browser profiles in a temporary RAM filesystem and periodically syncing them back to the physical disk. This improves the responsiveness of the browser and reduces wear on physical drives.
Zen Browser is not officially supported by the profile-sync-daemon, but there is community support for the non-Flatpak version of Zen Browser. This can be activated by copying /usr/share/psd/contrib/zen to /usr/share/psd/browsers/. However, this won’t work for the Flatpak version of Zen Browser unless you do the following:
- Modify the
/usr/share/psd/contrib/zenfile to use the path to the Flatpak’s browser profile. - Give the Flatpak permission to access the temporary RAM filesystem.
To give the Zen Browser Flatpak permission to access the temporary RAM filesystem where PSD stores the profiles, run the following command:
flatpak override --user app.zen_browser.zen --filesystem=/run/user/$UID/psd
Now put the following contents into a file at /usr/share/psd/browsers/zen-flatpak:
if [[ -d "$HOME"/.var/app/app.zen_browser.zen/cache/zen ]]; then
index=0
PSNAME="$browser"
while read -r profileItem; do
if [[ $(echo "$profileItem" | cut -c1) = "/" ]]; then
# path is not relative
DIRArr[$index]="$profileItem"
else
# we need to append the default path to give a
# fully qualified path
DIRArr[$index]="$HOME/.var/app/app.zen_browser.zen/cache/zen/$profileItem"
fi
(( index=index+1 ))
done < <(grep '^[Pp]'ath= "$HOME"/.var/app/app.zen_browser.zen/.zen/profiles.ini | sed 's/^[Pp]ath=//')
fi
check_suffix=1
Edit ~/.config/psd/psd.conf:
BROWSERS=(zen-flatpak)
Restart the psd.service:
systemctl --user restart psd.service
That’s it.