การกำหนดค่าเริ่มต้น 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

1
มันไม่น่าที่คุณสามารถทำเช่นนั้นได้โดยตรงในแฟ้มที่เป็นไปตามนี้ คุณได้ลองทำมันเป็น symlink แล้วหรือยัง? it = โฟลเดอร์ nfs
Florin Asăvoaie

คำตอบ:


0

คุณสามารถลองสร้าง symlink สำหรับโฟลเดอร์แคชเก่าไปยังตำแหน่งใหม่ คำสั่งจะเป็นดังนี้:

ln -s /tmp/firefox /path_to_cache_folder_on_share

สิ่งนี้ไม่ได้แก้ปัญหาเนื่องจากมันจะยังคงเป็นไดเรกทอรีแคชเพียงหนึ่งเดียวสำหรับผู้ใช้ทั้งหมด
Andrew Schulman

วิธีนี้แก้ปัญหาได้ครึ่งหนึ่ง @AndrewSchulman หากมีสคริปต์การเข้าสู่ระบบที่สร้างขึ้น/tmp/$USER/firefoxสำหรับผู้ใช้แต่ละคนจากนั้นสร้างลิงก์จากนั้นโปรไฟล์ที่แชร์จะสามารถใช้เส้นทางการเชื่อมโยงได้ เช่น mkdir -p /tmp/$USER/firefox; ln -s /tmp/$USER/firefox /path_to_cache_folder_on_share
ไมค์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.