Dapatkan direktori profil Firefox default dari bash

11

Saya mencoba untuk mendapatkan direktori profil dari profil default firefox (yang terbuka secara otomatis) dari Bash. Bagaimana saya bisa melanjutkan? Saya tidak dapat menemukan opsi yang berguna mengeluarkanfirefox --help

Jorge Suárez de Lis
sumber
Anda dapat melakukan du firefox; sudo lsof | grep [username] | grep firefox | grep profileyang akan menjalankan instance firefox. lsofakan menunjukkan kepada Anda file yang dibuka; grepakan menyaring Anda keluar bagian yang menarik dari lsof. Ini akan mempercepat info + membutuhkan penyempurnaan. Bagaimana pun Anda membutuhkan informasi itu? Apakah Anda ingin meletakkan beberapa barang secara otomatis di folder profil firefox - mengapa?
humanityANDpeace
Saya ingin mendapatkan file decmod.db firefox, karena itu diperlukan untuk aplikasi web Java. Untuk beberapa alasan, ini bekerja di luar kotak pada Windows, tetapi file konfigurasi dengan path ke file decmod.db harus ditempatkan di rumah di Linux. Saya ingin membuat file ini secara otomatis.
Jorge Suárez de Lis
Maaf, tidak dapat mengedit komentar saya sebelumnya. Proposal Anda "berfungsi", tetapi saya ingin menempatkan ini pada skrip mulai sesi (karena beberapa alasan, itu satu-satunya tempat yang masuk akal) dan saya tidak ingin menjalankan firefox di setiap sesi awal.
Jorge Suárez de Lis

Jawaban:

13

Coba grep 'Path=' ~/.mozilla/firefox/profiles.ini | sed s/^Path=//. Nama folder profil default disimpan di profiles.ini. Ini akan berfungsi dengan baik saat Anda memiliki satu profil.
Jika Anda memiliki lebih dari satu profil Firefox maka format file berubah, jadi mengekstraksi nama folder menjadi lebih rumit. Berikut skrip untuk melakukan itu:

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

Skrip ini akan berfungsi dalam kedua kasus, memilih metode yang sesuai tergantung pada jumlah profil. Bekerja di OSX juga.

whtyger
sumber
Rupanya sekarang profil default adalah yang ada di profiles.ini yang memiliki baris Default=1dan dapat di mana saja dalam file (pertama, tengah, terakhir).
Xen2050
@ Xen2050 Anda yakin? Saya memeriksa 2 profil berbeda dari mesin Ubuntu & Windows. Keduanya tidak memiliki Default=1garis. Keduanya memiliki [Profile0]bagian dengan Name=defaultdi dalamnya sebagai gantinya. Bisakah Anda memberikan paste.ubuntu.comprofiles.ini menggunakan Anda ?
whtyger
Hanya saja ada satu baris tambahan, di bawah profil ke-2 sebenarnya. Saya telah mengubah profil default saya menggunakan manajer profil, coba gunakan juga (dengan opsi -p) dan lihat apakah itu berubah pada Anda. Pasti ada halaman info terkait di mozilla.org, tetapi saya tidak dapat mencari sekarang.
Xen2050
Apakah menemukan tautan, menyebutkannya bersama dengan jangan tanya / tunjukkan manajer profil & gunakan profil yang dipilih terakhir untuk mengubah default kb.mozillazine.org/Profiles.ini_file
Xen2050
@ Xen2050 Menambahkan skrip untuk memproses multi-profil profiles.ini.
whtyger
7

Direktori profil default Anda disimpan di bawah direktori home.

cd ~/.mozilla/firefox 

Di sini Anda akan menemukan sesuatu seperti xxxxxxxx.default . Ini adalah lokasi di mana semua data pribadi Anda disimpan.

Anda dapat menjalankan perintah firefox -Puntuk menampilkan profil yang tersedia dan memilih satu dari daftar.

devav2
sumber
Dir yang benar adalah.mozilla
Pengguna lengkung
1
Itulah yang sedang saya lakukan sekarang find $HOMEDIR/.mozilla/firefox/ -maxdepth 1 -type d -name *.default | head -1,. Tapi itu BISA gagal. Itu bukan cara yang baik untuk melakukannya.
Jorge Suárez de Lis
@ JorgeSuárezdeLis Bisakah Anda jelaskan dalam skenario apa ini bisa gagal? Bukan tidak setuju, tapi saya ingin tahu.
Michael Mior
Ini akan gagal jika pengguna memiliki lebih dari satu profil dan tidak menggunakan yang bernamawhatever.default
Jorge Suárez de Lis
1

Saya tahu ini sedikit lebih tua, tetapi jika orang lain juga membutuhkan informasi ini, berikut adalah cara saya mengatur variabel profil default dalam skrip wrapper untuk firefox:

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

Semoga ini bisa membantu, karena ini bekerja untuk saya.

itnet7
sumber