Brève de code #4: Mes profils firefox ont disparu
By Guillaume Bour. Monday, December 14 2009, 19:58. bash brève de code firefox linux shell | Permalink.
Suite à un manque d'espace disque (disque dur plein), tous mes profils firefox ont disparus.
MaisQu'estCeQueCePasseT'ilDonc ???

Un petit tour dans $HOME/.mozilla/firefox. Ouf! ils sont toujours là, mais le fichier profiles.ini - listant les profils et utilisé par le gestionnaire de profils de firefox - est vide.
Explication: firefox réécrit le fichier chaque fois qu'il se termine. D'où disque plein == fichier vide.
Qu'a cela ne tienne, nous allons recréer ce fichier.
Voilà à quoi il doit ressembler (cf http://kb.mozillazine.org/Profiles.ini_file):
[General] StartWithLastProfile=1 [Profile0] Name=recherches IsRelative=1 Path=45zef475.recherches [Profile1] Name=boulot IsRelative=1 Path=vt3q5s4s.boulot [Profile2] Name=devel IsRelative=1 Path=z7iypqm1.devel
Le vulgus informaticus pecus se serait paluché le fichier à la main, mais nous, fénéant informaticien, allons écrire un script pour le générér (en plus, j'ai autre choses à faire que de me taper mes 32 profils un par un :)).
Quelques secondes^C^C^Cminutes plus tard, voici le résultat:
#!/bin/bash
export cnt=0;
echo -e "[General]\nStartWithLastProfile=1\n";
for path in `find $HOME/.mozilla/firefox/ -mindepth 1 -maxdepth 1 -type d ! -name '*Crash*'|sort`; do
path=${path/*\//};
name=${path/*\./};
echo -e "[Profile$cnt]\nName=$name\nIsRelative=1\nPath=$path\n";
cnt=$((cnt+1));
done
Exécutez le en redirigant la sortie standard vers le fichier profiles.ini:
$> firefox-profiles.sh > $HOME/.mozilla/firefox/profiles.ini
Une seule chose n'est pas récupérable (sauf à faire jouer votre mémoire): l'ordre initial des profils.