Depuis quelques temps, j'ai rencontré quelques soucis à l'ouverture du navigateur web Chromium sur Ubuntu 14.04. De plus, ce souci semblait apparaître de plus en plus fréquemment.
Quel était le problème?
A l'ouverture du navigateur, un série de petites boîtes de dialogue apparaissaient pour signaler une erreur lors du chargement du profile utilisateur.
J'avais déjà consulté quelques forums où j'avais effectivement pu découvrir que Chromium, tout comme Google Chrome, utilise Sqlite pour enregistrer les informations relatives à la session de l'utilisateur. Or, si tous les processus du navigateur ne se ferment pas correctement, il peut subsister des processus «zombies» dans la liste des tâches du système. Malheureusement, ces «zombies» peuvent empêcher de programme de libérer les verrous exclusifs sur les fichiers Sqlite. Du coup, ces fichiers ne peuvent être ouverts par une nouvelle instance du navigateur.
Pour résoudre le souci, certains proposent de supprimer carrément tous les fichiers situés dans le dossier «~/.config/chromium». Cependant, si on fait cela, il faut reconfigurer toute la session et récupérer toutes les informations de navigation en se reconnectant sur le Dashboard de Google. C'est comme si on repartait d'une nouvelle installation.
D'autres ont proposé de ne supprimer que le fichier «~/.config/Default/Web Data», mais cette solution peut rendre le navigateur instable. De plus, si on dispose de plusieurs comptes, chaque session est enregistrée dans un dossier différent et pas nécessairement dans «Default».
Ainsi, il était intéressant de trouver une solution de contournement du problème jusqu'à ce que ce bug mineur soit rectifié. Une solution durable et pratique qui ne nécessite pas de supprimer à la main des fichiers simplement pour forcer la libération de verrous.
J'ai donc écrit un petit script qui crée un nouvel icône pour lancer Chromium-browser sans modifier directement les fichiers installés par le paquetage officiel.
Ce nouveau lanceur présente la même image mais passe par un script intermédiaire qui applique une astuce très simple : on renomme le dossier «~/.config/chromium» en «~/.config/chromium.bak», puis on recopie le contenu de «~/.config/chromium.bak» dans «~/.config/chromium» avant de lancer le programme. Cette opération libère les verrous sans aucune perte d'informations et sans rendre instable le navigateur.
Voici le script :
#!/bin/bash # # Execute this script as root after you have installed chromium-browser package. # This script create a new patched launcher without any modification of the original files. # # To remove the patched launcher created with this script : # # sudo rm /usr/bin/chromium-browser-patched # sudo rm /usr/share/applications/chromium-browser-patched.desktop # cat > /usr/bin/chromium-browser-patched <<PATCHEND #!/bin/bash # # This is a chromium-browser patched launcher script to fix the common profile connection error. # # By Luc Bruninx 2014-09-16 on Ubuntu 14.04 # if [[ -d "\$HOME/.config/chromium.bak" ]]; then rm -fr "\$HOME/.config/chromium.bak" fi if [[ -d "\$HOME/.config/chromium" ]]; then mv "\$HOME/.config/chromium" "\$HOME/.config/chromium.bak" cp -r "\$HOME/.config/chromium.bak" "\$HOME/.config/chromium" fi \$(dirname \$0)/chromium-browser PATCHEND chmod a=r+w+x /usr/bin/chromium-browser-patched cat /usr/share/applications/chromium-browser.desktop | \ sed "s/Exec=chromium-browser/Exec=chromium-browser-patched/g" | \ sed "s/Chromium-browser/XXXREPLACE01XXX/g" | \ sed "s/Chromium/Patched\ Chromium/g" | \ sed > /usr/share/applications/chromium-browser-patched.desktop "s/XXXREPLACE01XXX/Chromium-browser/g"
Ce script doit être exécuté un fois après avoir installé le paquet officiel chromium-browser à l'aide par exemple de la commande sudo apt-get install chromium-browser.
Il faut exécuter le script en tant que root.
Comme vous pouvez le voir, le script crée un nouveau fichier exécutable pour démarrer le navigateur Chromium après que les fichiers aient été manipulés. Pour faciliter l'utilisation, il crée aussi un nouvel icône pour l'application en remplaçant le lien de démarrage et en ajoutant “Patched” au nom du programme (de cette manière, il est plus facile de distinguer les 2 points de lancement).
Pour supprimer le patch, il suffit de supprimer le nouveau script de lancement et son icône.
Ce script ne modifie pas les fichiers officiels. Vous en risquez donc pas de perdre les avantages du patch si Chromium est mis à jour par la voie officielle.
|
![]() |
|
||||||||