Konfigurasi preferensi default dinamis Firefox

10

Pengguna saya semuanya ada di direktori home NFS dan dengan ratusan pengguna semuanya menggunakan Firefox, itu menghasilkan sedikit traffic membaca / menulis ke cache disk. Sebagai hasilnya, saya ingin memindahkan cache disk Firefox default ke sistem file lokal hanya untuk mengurangi lalu lintas NFS yang asing dan meringankan beban di server NFS saya juga.

Saya tahu saya dapat mengatur preferensi default sistem dalam file yang dipanggil my_firefox_path/defaults/pref/all.jsdari formulir berikut:

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

Untuk pengujian saya mengaturnya sebagai berikut:

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

Sayangnya itu tidak berfungsi dengan baik karena ada banyak pengguna di setiap sistem. Apakah ada cara untuk memasukkan pengguna dan profil di file preferensi itu sehingga saya dapat mengubah sistem ini secara luas dan itu akan berlaku untuk semua pengguna saya? Sesuatu seperti:

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

Andrew Case
sumber
Anda mungkin dapat menggunakan getenv () untuk mengambil variabel lingkungan. Misalnya: getenv ("USER") untuk nama pengguna; tidak yakin bagaimana Anda bisa mendapatkan jalur profil. Ekstensi dapat dengan mudah mengambil jalur profil, tetapi saya berharap membuat ekstensi API tersedia di luar ekstensi akan menjadi tantangan.
cyberx86
Tidak dapat menggunakan getenv () atau ambil jalur profil dengan menjalankan ini di file .js: Components.classes ["@ mozilla.org/file/directory_service;1"]. GetService (Components.interfaces.nsIProperties) .get ( "ProfD", Components.interfaces.nsIFile) .path
Andrew Case
Bergantung pada hubungannya dengan pengguna Anda, mengapa tidak melakukan perubahan (atau meminta mereka untuk melakukan perubahan) sekali di profil mereka dan selesai dengan itu? Karena, bahkan jika Anda menemukan cara untuk menentukan, mereka dapat menimpanya.
Patrick Mevzek
1
Sepertinya Anda tidak dapat melakukannya langsung di file itu, sesuai dengan ini . Sudahkah Anda mencoba menjadikannya symlink? it = folder nfs.
Florin Asăvoaie

Jawaban:

0

Anda dapat mencoba membuat symlink untuk folder cache lama ke tempat baru. Perintahnya akan seperti:

ln -s /tmp/firefox /path_to_cache_folder_on_share
ugly_animal
sumber
Ini tidak menyelesaikan masalah, karena itu hanya akan menjadi satu direktori cache untuk semua pengguna.
Andrew Schulman
ini menyelesaikan setengah masalah, @AndrewSchulman, jika ada skrip login yang dibuat /tmp/$USER/firefoxuntuk setiap pengguna lalu buat tautannya, maka profil yang dibagikan dapat menggunakan jalur tautan. eg mkdir -p /tmp/$USER/firefox; ln -s /tmp/$USER/firefox /path_to_cache_folder_on_share
mike