Configuração de preferência padrão dinâmica do Firefox

10

Meus usuários estão todos nos diretórios pessoais do NFS e, com centenas de usuários usando o Firefox, gera um pouco de tráfego de leitura / gravação no cache do disco. Como resultado, eu gostaria de mover o cache de disco padrão do Firefox para um sistema de arquivos local apenas para reduzir o tráfego NFS externo e diminuir a carga no meu servidor NFS também.

Sei que posso definir preferências padrão para todo o sistema em um arquivo chamado my_firefox_path/defaults/pref/all.jsdo seguinte formato:

pref ("browser.cache.disk.parent_directory", string)

Para os testes, configurei o seguinte:

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

Infelizmente, isso não funciona bem, pois há vários usuários em cada sistema. Existe uma maneira de incluir um usuário e um perfil nesse arquivo de preferências para que eu possa ajustar esse sistema amplamente e ele se aplicará a todos os meus usuários? Algo como:

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

Andrew Case
fonte
Você pode usar o getenv () para recuperar variáveis ​​de ambiente. Por exemplo: getenv ("USER") para o nome de usuário; Não tenho certeza de como você poderia obter o caminho do perfil. As extensões podem recuperar facilmente o caminho do perfil, mas espero que disponibilizar a API de extensão fora de uma extensão seja um desafio.
cyberx86
Não é possível usar getenv () ou pegar o caminho do perfil executando-o no arquivo .js: Components.classes ["@ mozilla.org/file/directory_service;1"]. GetService (Components.interfaces.nsIProperties) .get ( "ProfD", Components.interfaces.nsIFile) .path
Andrew Case
Dependendo da relação com seus usuários, por que não fazer a alteração (ou pedir que eles façam a alteração) uma vez no perfil e terminar com isso? Como, mesmo que você encontre uma maneira de especificar, eles podem substituí-la.
Patrick Mevzek
1
É improvável que você possa fazer isso diretamente nesse arquivo, de acordo com isso . Você já tentou transformá-lo em um link simbólico? it = a pasta nfs.
Florin Asăvoaie

Respostas:

0

Você pode tentar criar um link simbólico para a pasta de cache antiga no novo local. O comando será como:

ln -s /tmp/firefox /path_to_cache_folder_on_share
ugly_animal
fonte
Isso não resolve o problema, pois ainda seria apenas um diretório de cache para todos os usuários.
Andrew Schulman
isso resolve metade do problema, @AndrewSchulman, se houver um script de login para criar /tmp/$USER/firefoxpara cada usuário e depois criar o link, o perfil compartilhado poderá usar o caminho do link. por exemplo mkdir -p /tmp/$USER/firefox; ln -s /tmp/$USER/firefox /path_to_cache_folder_on_share
mike