FireFox 支持 XDG 基本目录规范

随着FireFox 147.0的发布1,现在Firefox终于支持了XDG基本目录规范(XDG Base Directory Specification)2。相关的议题于2004年提出3,距今已有21年的历史。如果你打算开始使用FireFox,Firefox会自动使用$XDG_CONFIG_HOME/mozilla作为其主要目录,而不再使用传统的$HOME/.mozilla。如果你已经使用了Firefox一段时间,Firefox仍然保留了对之前目录地址的兼容性。如果旧目录的路径存在的话,那么Firefox仍然会使用之前的目录。

但是如果你想要使用XDG基本目录规范的主要目录以保证你的$HOME的整洁,但是又想要保留现有的Firefox配置文件,你可以直接移动现有的$HOME/.mozilla$XDG_CONFIG_HOME/mozilla但是在此操作之前,请确保你已经备备份了的现有的配置文件。

mv $HOME/.mozilla $XDG_CONFIG_HOME/mozilla

另一个方法是参考官方文档中所提供的「备份/恢复」方法。这一方法首先需要备份现有的配置文件,然后删除位于$HOME/.mozilla的主要目录,让Firefox在$XDG_CONFIG_HOME/mozilla创建符合XDG基本目录规范的目录。最后将先前备份的配置文件文件夹中的所有文件覆盖到新创建的配置文件文件夹中。

对于Flatpak打包的Firefox用户,默认的主要文件夹应当沙箱中,位于宿主文件系统的$HOME/.var/app/org.mozilla.firefox/.mozilla,其也可以移动到$HOME/.var/app/org.mozilla.firefox/config/mozilla。注意这里Flatpak沙箱对于XDG目录规范路径的变动。如果没有特别需求可以无须移动,因为默认已经不会在宿主文件系统中创建$HOME/.mozilla

mv $HOME/.var/app/org.mozilla.firefox/.mozilla $HOME/.var/app/org.mozilla.firefox/config/mozilla

如果你不确定主要目录的位置,也可以参考前述的「备份/恢复」方法。让Firefox创建$HOME/.var/app/org.mozilla.firefox/config/mozilla。接着覆盖备份配置文件到新的配置文件路径下。

如果你先前覆写了Flatpak Firefox的目录到宿主文件系统中$HOME的对应位置,例如执行了

flatpak override --user --filesystem=~/.mozilla org.mozilla.firefox

此时需要完全关闭Firefox,然后重置对这一路径的覆写

flatpak override --user --reset org.mozilla.firefox

接着,将$HOME/.mozilla移动到$XDG_CONFIG_HOME/mozilla。最后重新启用对新路径的覆写

flatpak override --user --filesystem=xdg-config/mozilla org.mozilla.firefox

注意到这里我们使用的覆写路径是xdg-config。这将会把宿主文件系统的$XDG_CONFIG_HOME/mozilla映射到沙箱的正确位置。最后还要确保沙箱里面映射到宿主文件系统的$HOME/.var/app/org.mozilla.firefox/.mozilla目录不存在(这一目录可能会在迁移后被Firefox再次创建)。

最后你就可以以正常方式启动Firefox并保留你原有的配置文件了。

这篇文章的英文版本


  1. Firefox 147.0, See All New Features, Updates and Fixes↩︎
  2. XDG Base Directory Specification↩︎
  3. 259356 – (xdg-basedir) Support for the Freedesktop.org XDG Base Directory Specification↩︎

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注