फ़ायरफ़ॉक्स गतिशील डिफ़ॉल्ट प्राथमिकता कॉन्फ़िगरेशन


10

मेरे उपयोगकर्ता एनएफएस की होम डाइरेक्टरी में हैं और सैकड़ों यूजर्स के साथ फ़ायरफ़ॉक्स का उपयोग करने वाले सैकड़ों लोग डिस्क कैश पर ट्रैफ़िक पढ़ने / लिखने का थोड़ा सा काम करते हैं। नतीजतन, मैं डिफ़ॉल्ट फ़ाइल फ़ायरफ़ॉक्स डिस्क कैश को केवल स्थानीय फ़ाइल सिस्टम पर ले जाना चाहता हूं ताकि बाहरी एनएफएस ट्रैफ़िक को कम किया जा सके और मेरे एनएफएस सर्वर पर भी लोड को हल्का किया जा सके।

मुझे पता है कि मैं my_firefox_path/defaults/pref/all.jsनिम्नलिखित फॉर्म नामक एक फाइल में सिस्टम की व्यापक प्राथमिकताओं को सेट कर सकता हूं :

प्रीफ़ ("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 को एक्सटेंशन के बाहर उपलब्ध कराना एक चुनौती होगी।
साइबरबरी cy

इसे .js फ़ाइल में चलाकर getenv () या प्रोफ़ाइल पथ का उपयोग करने में सक्षम नहीं है: Components.classes ["@ mozilla.org/file/directory_service=1"]। getService (Components.interacesaces.nsIProperties)। "ProfD", Components.interfaces.nsIFile) .path
एंड्रयू केस

अपने उपयोगकर्ताओं के साथ संबंध के आधार पर, उनकी प्रोफ़ाइल में एक बार परिवर्तन क्यों नहीं किया जाता है (या उन्हें परिवर्तन करने के लिए कहें) और इसके साथ किया जाए? चूंकि, यहां तक ​​कि अगर आपको निर्दिष्ट करने का कोई तरीका मिलता है, तो भी वे इसे ओवरराइड कर सकते हैं।
पैट्रिक मेव्ज़ेक

1
यह के अनुसार संभावना नहीं आप उस फ़ाइल में सीधे ऐसा कर सकते हैं वह यह है कि, यह । क्या आपने इसे सिम्कलिन बनाने की कोशिश की है? यह = nfs फ़ोल्डर।
फ्लोरिन असावोई

जवाबों:


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
माइक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.