Lấy thư mục hồ sơ Firefox mặc định từ bash


11

Tôi đang cố gắng để có được thư mục hồ sơ của hồ sơ firefox mặc định (thư mục tự động mở) từ Bash. Làm thế nào tôi có thể tiến hành? Tôi không thể tìm thấy bất kỳ tùy chọn hữu ích ban hànhfirefox --help


bạn có thể du a firefox; sudo lsof | grep [username] | grep firefox | grep profilemà sẽ có một phiên bản firefox đang chạy. lsofsẽ cho bạn thấy các tập tin đã mở; grepsẽ lọc bạn ra những phần thú vị của lsof. Điều này sẽ nhanh chóng bắt đầu thông tin + cần một số tinh chỉnh. Bạn cần thông tin gì cho dù sao đi nữa? Bạn có muốn tự động đặt một số nội dung vào thư mục hồ sơ firefox - tại sao không?
nhân loạiANDpeace

Tôi muốn lấy tệp firefox decmod.db, vì nó cần cho ứng dụng web Java. Vì một số lý do, nó hoạt động vượt trội trên Windows, nhưng một tệp cấu hình có đường dẫn đến tệp decmod.db nên được đặt ở nhà trên Linux. Tôi muốn tạo tập tin này tự động.
Jorge Suárez de Lis

Xin lỗi, không thể chỉnh sửa nhận xét trước đây của tôi. Đề xuất của bạn "hoạt động", nhưng tôi muốn đặt nó vào tập lệnh bắt đầu phiên (vì nhiều lý do, đó là nơi duy nhất có ý nghĩa) và tôi không muốn chạy firefox trên mỗi phiên bắt đầu.
Jorge Suárez de Lis

Câu trả lời:


13

Hãy thử grep 'Path=' ~/.mozilla/firefox/profiles.ini | sed s/^Path=//. Tên thư mục hồ sơ mặc định được lưu trữ trong profiles.ini. Điều này sẽ hoạt động tốt trong khi bạn có hồ sơ duy nhất.
Nếu bạn có nhiều hồ sơ Firefox thì định dạng tệp sẽ thay đổi, do đó việc trích xuất tên thư mục trở nên khó khăn hơn. Đây là kịch bản để làm điều đó:

#!/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

Kịch bản này sẽ hoạt động trong cả hai trường hợp, nó chọn phương thức thích hợp tùy thuộc vào số lượng hồ sơ. Hoạt động trong OSX, quá.


Rõ ràng bây giờ cấu hình mặc định là cấu hình trong profile.ini có dòng Default=1và nó có thể ở bất kỳ đâu trong tệp (đầu tiên, giữa, cuối).
Xen2050

@ Xen2050 Bạn có chắc không? Tôi đã kiểm tra 2 hồ sơ khác nhau từ các máy Ubuntu và Windows. Cả hai không có Default=1dòng. Cả hai đều có [Profile0]phần với Name=defaulthọ thay thế. Bạn có thể cung cấp cho bạn profiles.inibằng cách sử dụng paste.ubfox.com ?
whtyger 18/03/2016

Nó chỉ có thêm một dòng, dưới hồ sơ thứ 2 thực sự. Tôi đã thay đổi hồ sơ mặc định của mình bằng trình quản lý hồ sơ, cũng thử sử dụng nó (với tùy chọn -p) và xem nó có thay đổi trên hồ sơ của bạn không. Phải có các trang thông tin liên quan trên mozilla.org, nhưng tôi không thể tìm kiếm ngay bây giờ.
Xen2050

Đã tìm thấy một liên kết, đề cập đến nó cùng với đừng hỏi / hiển thị trình quản lý hồ sơ và sử dụng hồ sơ được chọn cuối cùng để thay đổi kb.mozillazine.org/Profiles.ini_file
Xen2050 18/03/2016

@ Xen2050 Đã thêm tập lệnh để xử lý nhiều hồ sơ profiles.ini.
whtyger 20/03/2016

7

Thư mục hồ sơ mặc định của bạn được lưu trữ dưới thư mục nhà.

cd ~/.mozilla/firefox 

Ở đây bạn sẽ tìm thấy một cái gì đó như xxxxxxxx.default . Đây là vị trí lưu trữ tất cả dữ liệu cá nhân của bạn.

Bạn có thể chạy lệnh firefox -Pđể hiển thị các cấu hình có sẵn và chọn một từ danh sách.


Hướng dẫn chính xác phải là.mozilla
dùng Arch

1
Đó là những gì tôi đang làm ngay bây giờ , find $HOMEDIR/.mozilla/firefox/ -maxdepth 1 -type d -name *.default | head -1. Nhưng điều đó CÓ THỂ thất bại. Đó không phải là một cách tốt để làm điều đó.
Jorge Suárez de Lis

@ JorgeSuárezdeLis Bạn có thể giải thích trong những tình huống này có thể thất bại? Không đồng ý, nhưng tôi muốn biết.
Michael Mior

Nó sẽ thất bại nếu người dùng có nhiều hơn một hồ sơ và nó không sử dụng hồ sơ có tênwhatever.default
Jorge Suárez de Lis

1

Tôi biết rằng cái này cũ hơn một chút, nhưng trong trường hợp người khác cũng cần thông tin này, đây là cách tôi đặt biến hồ sơ mặc định trong tập lệnh bao bọc cho firefox:

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

Hy vọng điều này sẽ giúp, vì nó làm việc cho tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.