Firefox动态默认首选项配置


10

我的用户都在NFS主目录上,数百个用户都在使用Firefox,这会产生一些访问磁盘缓存的流量。结果,我想将默认的Firefox磁盘缓存移到本地文件系统上,只是为了减少不必要的NFS流量并减轻NFS服务器上的负载。

我知道我可以my_firefox_path/defaults/pref/all.js在以下格式的文件中设置系统范围的默认首选项:

pref(“ browser.cache.disk.parent_directory”,字符串)

为了进行测试,我将其设置为以下内容:

pref(“ browser.cache.disk.parent_directory”,“ / tmp / firefox /”);

不幸的是,由于每个系统上有多个用户,因此无法正常工作。有没有一种方法可以在该首选项文件中包括一个用户和一个配置文件,以便我可以在整个系统范围内进行调整并将其应用于所有用户?就像是:

pref(“ browser.cache.disk.parent_directory”,“ / tmp / firefox / $ USER / $ PROFILE”);


您可能可以使用getenv()检索环境变量。例如:getenv(“ USER”)作为用户名;不确定如何获取配置文件路径。扩展可以轻松地检索配置文件路径,但是我希望使扩展API在扩展之外可用将是一个挑战。
cyberx86

无法使用getenv()或通过在.js文件中运行配置文件路径来获取配置文件路径:Components.classes [“ @ mozilla.org/file/directory_service;1”]。getService(Components.interfaces.nsIProperties).get( “ ProfD”,Components.interfaces.nsIFile).path
Andrew Case

根据与用户的关系,为什么不在他们的个人资料中进行一次更改(或要求他们进行更改)并完成呢?因为,即使您找到一种指定方法,他们也可以覆盖它。
Patrick Mevzek '17

1
据此,您不太可能直接在该文件中执行此操作。您是否尝试过使其成为符号链接?it = nfs文件夹。
FlorinAsăvoaie18年

Answers:


0

您可以尝试为旧的缓存文件夹创建到新位置的符号链接。该命令将类似于:

ln -s /tmp/firefox /path_to_cache_folder_on_share

这不能解决问题,因为对于所有用户而言,那仍然只是一个缓存目录。
安德鲁·舒尔曼

@AndrewSchulman可以解决一半的问题,如果有一个/tmp/$USER/firefox为每个用户创建的登录脚本,然后创建链接,则共享配置文件可以使用链接路径。例如 mkdir -p /tmp/$USER/firefox; ln -s /tmp/$USER/firefox /path_to_cache_folder_on_share
mike
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.