Dynamiczna domyślna konfiguracja preferencji Firefoksa

10

Wszyscy moi użytkownicy są w katalogach domowych NFS, a dzięki setkom użytkowników korzystających z Firefoksa generuje on trochę ruchu odczytu / zapisu do pamięci podręcznej dysku. W związku z tym chciałbym przenieść domyślną pamięć podręczną dysku Firefox na lokalny system plików, aby ograniczyć zbędny ruch NFS i zmniejszyć obciążenie również mojego serwera NFS.

Wiem, że mogę ustawić domyślne preferencje systemowe w pliku o nazwie my_firefox_path/defaults/pref/all.jso następującej formie:

pref („browser.cache.disk.parent_directory”, ciąg znaków)

Do testowania ustawiłem go w następujący sposób:

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

Niestety to nie działa dobrze, ponieważ w każdym systemie jest wielu użytkowników. Czy istnieje sposób na dołączenie użytkownika i profilu do tego pliku preferencji, abym mógł dostosować cały ten system i zastosować go do wszystkich moich użytkowników? Coś jak:

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

Andrew Case
źródło
Możesz użyć getenv () do pobrania zmiennych środowiskowych. Na przykład: getenv („USER”) dla nazwy użytkownika; nie jestem pewien, jak można uzyskać ścieżkę profilu. Rozszerzenia mogą łatwo pobrać ścieżkę profilu, ale spodziewam się, że udostępnienie interfejsu API rozszerzenia poza rozszerzeniem byłoby wyzwaniem.
cyberx86,
Nie można użyć metody getenv () ani pobrać ścieżki profilu, uruchamiając ją w pliku .js: Components.classes ["@ mozilla.org/file/directory_service;1"]. GetService (Components.interfaces.nsIProperties) .get ( „ProfD”, Components.interfaces.nsIFile) .path
Andrew Case
W zależności od relacji z użytkownikami, dlaczego nie wprowadzić zmian (lub poprosić ich o wprowadzenie zmian) raz w swoim profilu i zrobić to? Ponieważ nawet jeśli znajdziesz sposób na określenie, mogą go zastąpić.
Patrick Mevzek,
1
Jest mało prawdopodobne, że można to zrobić bezpośrednio w tym pliku, w zależności od tego . Próbowałeś zrobić z niego dowiązanie symboliczne? it = folder nfs.
Florin Asăvoaie

Odpowiedzi:

0

Możesz spróbować utworzyć dowiązanie symboliczne do starego folderu pamięci podręcznej w nowym miejscu. Polecenie będzie wyglądało tak:

ln -s /tmp/firefox /path_to_cache_folder_on_share
brzydki
źródło
To nie rozwiązuje problemu, ponieważ nadal byłby to tylko jeden katalog pamięci podręcznej dla wszystkich użytkowników.
Andrew Schulman
rozwiązuje to jednak połowę problemu, @AndrewSchulman, jeśli /tmp/$USER/firefoxdla każdego użytkownika trzeba utworzyć skrypt logowania, a następnie utworzyć łącze, profil wspólny może użyć ścieżki łącza. np. mkdir -p /tmp/$USER/firefox; ln -s /tmp/$USER/firefox /path_to_cache_folder_on_share
mike