รับไดเรกทอรีโปรไฟล์ Firefox เริ่มต้นจากการทุบตี


11

ฉันพยายามรับไดเรกทอรีโปรไฟล์ของโปรไฟล์ firefox เริ่มต้น (อันที่เปิดโดยอัตโนมัติ) จาก Bash ฉันจะทำต่อไปได้อย่างไร ฉันไม่พบตัวเลือกที่มีประโยชน์firefox --help


คุณสามารถ du firefox; sudo lsof | grep [username] | grep firefox | grep profileซึ่งจะได้รับอินสแตนซ์ของ Firefox ทำงาน lsofจะแสดงไฟล์ที่เปิดอยู่; จะกรองคุณออกจากส่วนที่น่าสนใจของgrep lsofวิธีนี้จะเป็นการเริ่มต้นข้อมูล + ต้องการการปรับแต่งอย่างรวดเร็ว คุณต้องการข้อมูลใด ๆ คุณต้องการที่จะวางบางสิ่งโดยอัตโนมัติในโฟลเดอร์โปรไฟล์ firefox หรือไม่?
humanityANDpeace

ฉันต้องการรับไฟล์ firefox decmod.db เนื่องจากเป็นสิ่งจำเป็นสำหรับเว็บแอปพลิเคชัน Java ด้วยเหตุผลบางอย่างมันทำงานนอกกรอบบน Windows แต่ไฟล์กำหนดค่าที่มีพา ธ ไปยังไฟล์ decmod.db ควรวางไว้ที่บ้านบน Linux ฉันต้องการสร้างไฟล์นี้โดยอัตโนมัติ
Jorge Suárez de Lis

ขออภัยไม่สามารถแก้ไขความคิดเห็นก่อนหน้าของฉัน ข้อเสนอของคุณ "ใช้งานได้" แต่ฉันต้องการวางไว้บนสคริปต์เริ่มเซสชัน (ด้วยเหตุผลหลายประการเป็นที่เดียวที่เหมาะสม) และฉันไม่ต้องการเรียกใช้ Firefox ในแต่ละเซสชันเริ่มต้น
Jorge Suárez de Lis

คำตอบ:


13

ลองgrep 'Path=' ~/.mozilla/firefox/profiles.ini | sed s/^Path=//ดู profiles.iniชื่อโฟลเดอร์โปรไฟล์เริ่มต้นถูกเก็บไว้ใน สิ่งนี้จะทำงานได้ดีในขณะที่คุณมีโปรไฟล์เดียว
หากคุณมีโปรไฟล์ Firefox มากกว่าหนึ่งโปรไฟล์การเปลี่ยนแปลงรูปแบบไฟล์ดังนั้นการแตกชื่อโฟลเดอร์จะยุ่งยากมากขึ้น นี่คือสคริปต์ที่ต้องทำ:

#!/bin/bash

cd ~/.mozilla/firefox/
if [[ $(grep '\[Profile[^0]\]' profiles.ini) ]]
then PROFPATH=$(grep -E '^\[Profile|^Path|^Default' profiles.ini | grep -1 '^Default=1' | grep '^Path' | cut -c6-)
else PROFPATH=$(grep 'Path=' profiles.ini | sed 's/^Path=//')
fi

echo $PROFPATH

สคริปต์นี้จะทำงานในทั้งสองกรณีโดยจะเลือกวิธีที่เหมาะสมขึ้นอยู่กับจำนวนโปรไฟล์ ทำงานใน OSX ได้เช่นกัน


เห็นได้ชัดว่าตอนนี้โปรไฟล์เริ่มต้นคือหนึ่งใน profiles.ini ที่มีบรรทัดDefault=1และสามารถอยู่ที่ใดก็ได้ในไฟล์ (แรกกลางและสุดท้าย)
Xen2050

@ Xen2050 คุณแน่ใจหรือไม่ ฉันตรวจสอบ 2 โปรไฟล์ที่แตกต่างจากเครื่อง Ubuntu และ Windows ทั้งสองไม่มีDefault=1เส้น ทั้งสองมี[Profile0]ส่วนร่วมกับName=defaultพวกเขาแทน คุณช่วยให้คุณprofiles.iniใช้paste.ubuntu.com ได้หรือไม่?
whtyger

มันเพิ่งจะมีหนึ่งบรรทัดพิเศษภายใต้โปรไฟล์ที่ 2 จริงๆ ฉันเปลี่ยนโปรไฟล์เริ่มต้นโดยใช้ตัวจัดการโปรไฟล์ลองใช้ด้วย (ด้วยตัวเลือก -p) และดูว่ามีการเปลี่ยนแปลงในโปรไฟล์ของคุณหรือไม่ ต้องมีหน้าข้อมูลที่เกี่ยวข้องใน mozilla.org แต่ฉันไม่สามารถค้นหาได้ในขณะนี้
Xen2050

ค้นหาลิงค์ระบุว่าพร้อมกับไม่ต้องถาม / แสดงตัวจัดการโปรไฟล์ & ใช้โปรไฟล์ที่เลือกล่าสุดเพื่อเปลี่ยนค่าเริ่มต้น kb.mozillazine.org/Profiles.ini_file
Xen2050

@ Xen2050 profiles.iniเพิ่มสคริปต์ในการประมวลผลแบบ multi-รายละเอียด
whtyger

7

ไดเรกทอรีโปรไฟล์เริ่มต้นของคุณจะถูกเก็บไว้ภายใต้ไดเรกทอรีบ้าน

cd ~/.mozilla/firefox 

ที่นี่คุณจะได้พบกับสิ่งที่ต้องการxxxxxxxx.default นี่คือตำแหน่งที่เก็บข้อมูลส่วนบุคคลของคุณทั้งหมด

คุณสามารถเรียกใช้คำสั่งfirefox -Pเพื่อแสดงโปรไฟล์ที่มีอยู่และเลือกหนึ่งรายการจากรายการ


dir ที่ถูกต้องควรเป็น.mozilla
ผู้ใช้ Arch

1
นั่นคือสิ่งที่ฉันกำลังทำอยู่ตอนนี้find $HOMEDIR/.mozilla/firefox/ -maxdepth 1 -type d -name *.default | head -1. แต่นั่นก็ล้มเหลว มันไม่ใช่วิธีที่ดีที่จะทำ
Jorge Suárez de Lis

@ JorgeSuárezdeLisคุณช่วยอธิบายสถานการณ์นี้ได้บ้างไหม? ไม่เห็นด้วย แต่ฉันอยากรู้
Michael Mior

มันจะล้มเหลวหากผู้ใช้มีมากกว่าหนึ่งโปรไฟล์และไม่ได้ใช้ชื่อwhatever.default
Jorge Suárez de Lis

1

ฉันรู้ว่านี่เก่ากว่าเล็กน้อย แต่ในกรณีที่คนอื่นต้องการข้อมูลนี้ด้วยนี่คือวิธีที่ฉันตั้งค่าตัวแปรโปรไฟล์เริ่มต้นในสคริปต์ตัวตัดคำสำหรับ firefox:

def_Pfile=`cat "$HOME/.mozilla/firefox/profiles.ini" | sed -n -e 's/^.*Path=//p' | head -n 1`

หวังว่านี่จะช่วยได้เพราะมันใช้ได้ผลสำหรับฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.