Obtenez le répertoire de profil Firefox par défaut de bash

11

J'essaie d'obtenir le répertoire de profil du profil Firefox par défaut (celui qui s'ouvre automatiquement) de Bash. Comment pourrais-je procéder? Je ne trouve aucune option utile à émettrefirefox --help

Jorge Suárez de Lis
la source
vous pouvez firefox; sudo lsof | grep [username] | grep firefox | grep profilecréer une instance de firefox. lsofvous montrera les fichiers ouverts; grepvous filtrera les parties intéressantes de lsof. Cela démarrera rapidement l'info + a besoin d'un réglage fin. Pour quoi avez-vous besoin des informations de toute façon? Voulez-vous mettre des trucs automatiquement dans un dossier de profil Firefox - pourquoi?
humanANDpeace
Je souhaite obtenir le fichier firefox decmod.db, car il est nécessaire pour une application Web Java. Pour une raison quelconque, cela fonctionne par défaut sous Windows, mais un fichier de configuration avec le chemin d'accès au fichier decmod.db doit être placé à la maison sous Linux. Je veux générer ce fichier automatiquement.
Jorge Suárez de Lis
Désolé, impossible de modifier mon commentaire précédent. Votre proposition "fonctionne", mais je veux placer cela sur un script de démarrage de session (pour plusieurs raisons, c'est le seul endroit qui a du sens) et je ne veux pas exécuter Firefox à chaque démarrage de session.
Jorge Suárez de Lis

Réponses:

13

Essayez grep 'Path=' ~/.mozilla/firefox/profiles.ini | sed s/^Path=//. Le nom du dossier de profil par défaut est stocké dans profiles.ini. Cela fonctionnera bien pendant que vous avez un seul profil.
Si vous avez plusieurs profils Firefox, le format de fichier change, donc l'extraction du nom du dossier devient plus délicate. Voici le script pour le faire:

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

Ce script fonctionnera dans les deux cas, il sélectionne la méthode appropriée en fonction de la quantité de profils. Fonctionne également sous OSX.

whtyger
la source
Apparemment, le profil par défaut est maintenant celui de profiles.ini qui a la ligne Default=1et il peut être n'importe où dans le fichier (premier, milieu, dernier).
Xen2050
@ Xen2050 Êtes-vous sûr? J'ai vérifié 2 profils différents à partir de machines Ubuntu et Windows. Les deux n'ont pas de Default=1ligne. Les deux ont plutôt une [Profile0]section avec Name=defaulten eux. Pouvez-vous fournir votre profiles.iniutilisation de paste.ubuntu.com ?
whtyger
Il n'y a qu'une ligne supplémentaire, sous le 2e profil en fait. J'ai changé mon profil par défaut à l'aide du gestionnaire de profils, essayez de l'utiliser également (avec l'option -p) et voyez s'il change sur le vôtre. Il doit y avoir des pages d'informations connexes sur mozilla.org, mais je ne peux pas effectuer de recherche pour le moment.
Xen2050
A trouvé un lien, le mentionne avec ne pas demander / afficher le gestionnaire de profils et utiliser le dernier profil sélectionné pour modifier le kb.mozillazine.org/Profiles.ini_file
Xen2050
@ Xen2050 Script ajouté pour traiter plusieurs profils profiles.ini.
whtyger
7

Votre répertoire de profil par défaut est stocké dans le répertoire de base.

cd ~/.mozilla/firefox 

Vous trouverez ici quelque chose comme xxxxxxxx.default . Il s'agit de l'emplacement où toutes vos données personnelles sont stockées.

Vous pouvez exécuter la commande firefox -Ppour afficher les profils disponibles et en sélectionner un dans la liste.

devav2
la source
Le bon répertoire devrait être.mozilla
Arch user
1
C'est ce que je fais en ce moment find $HOMEDIR/.mozilla/firefox/ -maxdepth 1 -type d -name *.default | head -1,. Mais cela PEUT échouer. Ce n'est pas une bonne façon de procéder.
Jorge Suárez de Lis
@ JorgeSuárezdeLis Pourriez-vous expliquer dans quels scénarios cela peut échouer? Pas en désaccord, mais j'aimerais savoir.
Michael Mior
Il échouera si l'utilisateur a plus d'un profil et qu'il n'utilise pas celui nomméwhatever.default
Jorge Suárez de Lis
1

Je sais que cela est un peu plus ancien, mais au cas où quelqu'un d'autre aurait également besoin de ces informations, voici comment définir la variable de profil par défaut dans un script wrapper pour firefox:

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

J'espère que cela aide, car cela fonctionne pour moi.

itnet7
la source