Firefox, quelques astuces : profil, installation, lanceurs…

Depuis Ubuntu 22.04, Firefox est installé par défaut au format snap. Les avantages et inconvénients de ce format sont indiscutables et ne sont pas l'objet de cette page.

On pourra donc être amené à préférer d'autres façons d'installer Firefox, temporairement ou définitivement, ce qui supposera au préalable d'en sauvegarder le profil ( vos informations utilisateur concernant Firefox : historique, mots de passe, favoris, extensions installées, etc ).

Les pages officielles de support Firefox ( et Thunderbird, d'ailleurs ) sont riches, claires et détaillées.

Cette proposition de page vient en complément de la doc' Firefox qui aborde bien d'autres aspects du navigateur.

La section 1 ( synchronisation du profil ) est une recommandation pleine de sagesse, très facile à mettre en œuvre.
La section 2 ( installation via archive autonome ) est facile pour la partie utilisateur unique ; exigeante pour la partie multi-utilisateurs.
La section 3 ( lanceurs dédiés ) est un peu exigeante.

Il y a bien sûr la méthode manuelle, où on copie-colle un tel dossier « profil » d'une installation à l'autre de Firefox, d'une session à l'autre voire d'un OS vers un autre.
Valable mais pas sans risques :

  • on n'a pas droit à l'erreur lors de la manipulation de ces éléments,
  • nécessite une bonne connaissance des divers OS concernés, et du fonctionnement interne de ce dossier de profil,
  • posera problème lorsque des évolutions de Firefox induisent des modifications dans la façon de créer les éléments de ce profil. Ça ne survient pas à chaque mise à jour de Firefox, mais peut arriver lors de mises à jour majeures.
  • posera problème avec des extensions qui dépendent spécifiquement d'un OS
  • et avec la sauvegarde des mots de passe entre des OS différents…

Pour sauvegarder et récupérer le dossier de profil à moindre effort, il existe depuis une bonne dizaine d'années un service de synchronisation proposé par Mozilla. La création de ce compte nécessite une adresse de courrier électronique valide, que vous devrez être en mesure de consulter lors de la connexion d'une nouvelle instance de Firefox à ce compte, pour reporter le code de validation.

L'utilisation d'un tel compte de synchronisation fournit ces avantages :

  • évite la manipulation directe de fichiers,
  • il peut se partager entre plusieurs instances et versions de Firefox,
  • donc à travers plusieurs appareils, plusieurs sessions, plusieurs OS ( pas besoin de partition commune ),
  • il crée à chaque nouvelle connexion un profil « propre » dans lequel sont injectées les infos de profil sauvegardées sur le compte, dans un format conforme à la version installée du logiciel,
  • les infos sauvegardées via ce compte en ligne restent disponibles quand bien même vous auriez perdu tout votre $HOME localement.


Bref, c'est terriblement pratique, confortable et sécurisé ( les données sont chiffrées avant d'être envoyées chez Mozilla ) qu'il s'agisse de réinstaller, partager, ou dupliquer un profil Firefox.

Ça paraît logique mais mieux vaut le dire : la synchronisation de vos infos de profil Firefox ne s'initie que depuis un Firefox fonctionnel.
Il faut donc la mettre en place avant de, par exemple, supprimer un Firefox en snap que vous auriez déjà utilisé et « nourri ».

À noter, aussi : cette synchronisation est cumulative et bilatérale. Si vous connectez un nouveau Firefox qui a déjà un peu servi à un compte de synchro bien plus ancien, les infos nouvelles « s'ajoutent » à celles déjà contenues par le compte plus ancien. Et le total de ces infos se retrouvent synchronisées via ce compte.

Supposition préalable : vous avez « désinstallé » le snap de Firefox via

snap remove firefox


Mozilla propose sur son site officiel une archive autonome pour Firefox - qui se tient automatiquement à jour.

Une fois cette archive décompressée, il suffit de double-cliquer sur l'exécutable firefox pour lancer le navigateur web.
Si on ne va pas plus loin, ça n'est pas une installation à proprement parler : on n'a pas de lanceur pour Firefox dans le menu des applications, pour le lancer depuis le terminal il faudra indiquer le chemin complet vers l'exécutable, le système ou la session ne « sauront » pas que Firefox est présent ni s'il doit être considéré comme le navigateur web par défaut…

On va donc s'occuper de ces aspects manuellement, c'est assez simple dans un contexte utilisateur~humain~unique, c'est un peu moins simple dans un contexte multi-utilisateur ( mais pas compliqué non plus ! )

Contexte utilisateur unique ( installation dans sa session uniquement )

Ici on ne travaille que dans la session utilisateur concernée donc zéro besoin de sudo car pas de modif' côté système.
On aura éventuellement besoin de voir les éléments cachés.

  • décompressez l'archive autonome dans un emplacement de votre $HOME par ex. ~/Logiciels et renommez simplement le dossier obtenu en firefox
  • placez dans ~/.local/bin ( ou ~/bin ) un lien symbolique nommé firefox qui cible l'exécutable :
ln -s ~/Logiciels/firefox/firefox ~/.local/bin/         # important le dernier caractère / indique qu'on crée un lien éponyme *dans* bin
  • créez dans ~/.local/share/applications un lanceur nommé firefox.desktop qui contiendra ce texte ( version courte, Français+Anglais. )

Relancez votre session : vous devriez trouver Firefox dans votre menu habituel d'applications mais ne le lancez pas tout de suite.

Par défaut sous Ubuntu, les chemins ~/bin et ~/.local/bin font partie de la variable d'environnement $PATH
par contre par défaut, aucun répertoire bin n'existe dans le $HOME, il faut donc le ou les créer manuellement.

Dans les paramètres de votre environnement de bureau, trouvez l'équivalent de « Applications par défaut » et choisissez Firefox comme Navigateur Internet ( ce choix existe grâce à la présence du lanceur dans ~/.local/share/applications ).


Maintenant lancez Firefox, à la question « Voulez-vous faire de Firefox votre navigateur par défaut ? » cocher « Ne plus me demander » ET répondre « Plus tard » puis dans les paramètres de Firefox ( tapez about:preferences dans la barre d'adresses ), décochez « Toujours vérifier que Firefox est votre navigateur par défaut » puisqu'on vient déjà de s'en assurer via « Applications par défaut ». Pourquoi ?

  • sinon d'une part Firefox vous posera la question à chaque lancement
  • et d'autre part si vous le cochez comme navigateur par défaut depuis Firefox lui-même, il créera un second lanceur .desktop au nom aléatoire, et l'ajoutera en doublon dans le fichier mimeinfo.cache multipliant les entrées dans divers (sous-)menus du bureau ( notamment « ouvrir avec » ).


Contexte multi-utilisateurs ( installation pour tous les utilisateurs )

Dans un contexte multi-utilisateurs, il vaudra mieux installer cette archive autonome côté système ( donc usage de sudo ), dans /opt/firefox avec une gestion des droits et permissions adéquate afin que le mécanisme de mises à jour puisse fonctionner depuis n'importe quelle session d'un utilisateur membre du groupe users :

  • décompressez l'archive autonome, renommez simplement le dossier obtenu en firefox, déplacez le dans /opt ( l'emplacement conventionnel pour des applications installées hors gestionnaire de paquets, voir arborescence )
cd ~/Téléchargements			# ou autre emplacement où vous aurez téléchargé cette archive
tar xjf firefox-*.tar.bz2		# décompresser
mv firefox-<version> firefox		# renommer
sudo mv firefox /opt/			# déplacer
  • appropriez ce dossier firefox ( et son contenu ) à root:users
sudo chown -cR root:users /opt/firefox/
  • assurez vous que tout le contenu de ce dossier ait bien root:users comme propriétaires MAIS que seuls les dossiers portent le bit sgid ( voir special permissions ) avec droits rwxrws via ces 2 commandes :
sudo chmod -c 2770 /opt/firefox
find /opt/firefox/ -type d -exec sudo chmod -c 2770 {} \;

# note : remplacez 2770 par 2775 si vous souhaitez que n'importe quel utilisateur puisse utiliser ce Firefox ;
# seuls les membres du groupe users pourront initier sa mise à jour.
  • placez dans /usr/bin un lien symbolique nommé firefox qui cible l'exécutable ( ici /opt/firefox/firefox )
sudo ln -s /opt/firefox/firefox /usr/bin/

Pour les versions d'×buntu > 22.04 : un script nommé firefox existe déjà dans /usr/bin → renommez-le préalablement en firefox.bak

sudo mv /usr/bin/firefox /usr/bin/firefox.bak
  • créez dans /usr/share/applications un lanceur nommé firefox.desktop qui contiendra ce texte ( version longue, internationale ).
sudo touch /usr/share/applications/firefox.desktop
gedit admin:///usr/share/applications/firefox.desktop     # ouvrira gedit en mode administrateur, qui demandera le mot de passe aux moments opportuns.

Pour les versions > 22.04 : un lanceur nommé firefox.desktop existe déjà dans /usr/share/applications MAIS il porte une option qui en interdit l'affichage → il s'agit donc de changer cette option :

sudo nano /usr/share/applications/firefox.desktop

et faites en sorte que cette ligne ( la troisième ) NoDisplay=true devienne NoDisplay=false pour « réactiver » l'affichage de ce lanceur ;-)

De cette façon seuls les utilisateurs membres du groupe users peuvent voir, utiliser et mettre à jour le Firefox contenu dans /opt/firefox, il est donc impératif d'ajouter les utilisateurs concernés au groupe users via

sudo adduser un_utilisateur users

ou via un utilitaire graphique du genre « Utilisateurs et Groupes » ( fourni par gnome-system-tools ).
À partir d'×buntu 23.04 les utilisateurs « humains » sont dorénavant automatiquement membres du groupe users.

Le choix du groupe users
Le groupe users de gid 100 existe par défaut sous Linux. Les utilisateurs « humains » d'un système peuvent ( devraient ? ) faire partie de ce groupe.
Ubuntu manifestement ne s'en sert pas, du moins jusqu'à la version 22.04 ( Jammy ).
Ça évite de créer un groupe dédié à ce dossier /opt/firefox mais c'est une stratégie envisageable ( gérer précisément qui accède à quelle application, via un groupe firefox par exemple… )


Les mêmes remarques qu'au §2.1 s'appliquent concernant le choix du navigateur par défaut, qu'on peut affiner pour le système avec :

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/firefox 100

et dans la session de chaque utilisateur avec :

xdg-settings set default-web-browser firefox.desktop


Voilà donc un Firefox fonctionnel, rapide, qui écrit ses informations de profil classiquement dans ~/.mozilla/firefox, qui se tiendra à jour automatiquement, pour peu qu'il soit lancé par un quelconque utilisateur membre du groupe users et « compatible » avec toutes les extensions ( keepassx, audio-video-downloader, le connecteur chrome-gnome-shell, EiD carte d'identité électronique Belge, etc ).

Cherry on the cake cette méthode n'a rien de spécifique à Ubuntu et s'appliquera dans d'autres ( toutes ? ) distributions Linux.

La disponibilité d'une icône pour Firefox
  • dépend du thème d'icônes que vous utilisez ;
  • pourra avoir été supprimée par la désinstallation du Firefox~en~snap.


Si votre lanceur affiche une icône « générique » au lieu de celle dédiée à Firefox,
remplacez dans le(s) lanceur(s) firefox.desktop la ligne

Icon=firefox

par

Icon=/opt/firefox/browser/chrome/icons/default/default128.png

ou jetez un œil à cette astuce ;-)

Tant que vous agissez dans votre $HOMEsudo n'est jamais nécessaire, la création de lien symbolique peut se réaliser sans commande via l'explorateur de fichiers, pour Nautilus voir comment activer cette option.
La solution « ppa » proposée par la doc' paraîtra plus simple cependant elle implique de modifier les préférences du gestionnaire de paquets APT.
Ici on ne fait que jouer avec les droits et permissions « basiques » du système de fichiers. La maintenance à long terme du ppa nécessaire semble moins garantie que l'existence de l'archive autonome sur le site officiel de Mozilla/Firefox.

À priori ça n'est donc pas la voie « ppa » qui sera retenue mais un dépôt en bonne et due forme.
Pour installer Firefox ( 121 et + ) en .deb c'est par là ;-)

Kesaco les PWA ?
Grosso-modo, c'est lancer une page web dans une fenêtre de navigateur « nue » c'est à dire sans toute son interface ( boutons de navigation, onglets, etc… ) et traiter cette fenêtre comme une application « indépendante » ( avec un lanceur dédié dans le menu des applications, son icône spécifique, son existence « à elle » dans le gestionnaire de fenêtres et de tâches… )

C'est terriblement pratique pour des sites web qui agissent plus ou moins comme des applications ( des traitements de texte, d'images, des tableurs, des « drive », « maps », des sites multimédia genre radios, streaming audio, des interfaces de contrôle de machines HMI comme certaines imprimantes 3D, etc… ) ou pour tout site qu'on souhaite rendre indépendant de la fenêtre de navigation web principale et déjà « polyvalente ».

Le sort des PWA est loin d'être fixé au sein de Firefox, l'idée va et vient mais la réalisation native sur ordi de bureau ( ça reste un work-in-progress sur la version mobile ) n'est à ce jour pas d'actualité. Il existe des outils dans certaines distributions pour mettre en place des PWA à partir de tous ou certains navigateurs ( ICE chez Peppermint, WebAppManager chez Mint, BigLinux a quelque chose aussi dans le même genre… ) mais pour en avoir ( longtemps ) essayé certains sous diverses ×buntu, c'est pas évident à gérer et ça casse plus ou moins selon les évolutions des navigateurs, ou leurs changements de format ( entendre par là : quand il faut ré-adapter toutes les config's des web-app à ~/snap ou autres… )

Des navigateurs, généralement issus de Chromium, le proposent nativement [ outils supplémentaires / raccourcis / avec ou sans fenêtre / bureau ou menu d'appli's ]. Mais là aussi succès variable, tant que les PWA ne seront pas mieux « normés ». Il y aussi cette tentative d'extension ( qui requiert un hôte natif donc pas dit qu'elle fonctionne avec snap, et pas sûr qu'elle fonctionne bien sous Linux tout court, d'ailleurs. )

Il y a aussi la question des « liens / raccourcis » vers des sites web qu'on obtient facilement par glisser-déposer depuis la barre d'adresse d'un navigateur vers le bureau sous certains OS ou dans certains env. de bureau mais ça aussi c'est complètement dépendant à la fois du navigateur lui-même, du gestionnaire de fenêtres et du bureau… Or comme le glisser-déposer fenêtre→bureau était un temps complètement pété sous Ubuntu ( 20.04 ), des utilisateurs cherchaient des alternatives à ces gestes qu'ils pratiquaient sans souci ailleurs ou autrefois

Voici donc un compromis, entre la PWA et le raccourci vers un site web…

…des lanceurs distincts, indépendants les uns des autres, pour des instances de Firefox qui ont chacune leur « profil », leur fenêtre, leur icône, leur entrée dans le menu des applications. ( Profils qu'on peut choisir de synchroniser via un compte Mozilla. Ou pas. )

Les dossiers de « profil » mais le fichier « profiles.ini »

Ici on rentre dans des considérations spécifiques à Firefox - quel que soit son format d'installation, et à priori quel que soit l'OS.

Les chemins évoqués par la suite concernent un Firefox installé en .deb ou depuis l'archive autonome officielle,
il conviendra de les adapter en cas de snap~/snap/firefox/common/.mozilla/firefox/ au lieu de ~/.mozilla/firefox/
ou flatpak~/.var/app/org.mozilla.firefox/.mozilla/firefox/ au lieu de ~/.mozilla/firefox/

Par contre on va aussi rentrer dans des considérations spécifiques aux lanceurs ( les fichiers en .desktop ) qui elles ne concernent que les OS Linux.

Le but de ce ( premier ) jeu, ici, c'est d'obtenir un lanceur indépendant pour une page web :

  • comme c'est un lanceur, on le trouvera dans le menu des applications ;
  • comme il exécute Firefox avec un profil dédié, il a ses propres icône et fenêtre, distinctes des autres instances de Firefox ;
  • il se « manipule » donc comme une appli' « à part », avec intégration à l'environnement de bureau ( par ex. les contrôles multi-média au clavier via MPRIS )…
  • selon votre environnement de bureau vous pourrez placer ce lanceur dans un panel, un dock, sur le bureau…

À partir de cette « stratégie » un deuxième jeu ( plus simple ) est proposé au §3.3.3 : des lanceurs indépendants pour différentes sessions de Firefox.

Pour l'exemple, disons qu'on souhaite un lanceur pour écouter la radio publique française FiP, site qu'on peut consulter à partir de cette url

https://www.radiofrance.fr/fip/

Il faudra :

  1. créer un dossier de profil dédié à ce site dans ~/.mozilla/firefox/
  2. informer Firefox de l'existence de ce profil en l'ajoutant à liste contenue dans le fichier ~/.mozilla/firefox/profiles.ini
  3. enfin créer un lanceur pour une instance de Firefox qui utilisera spécifiquement ce profil.
Un profil dédié à une instance de Firefox est nécessaire pour que le système affiche l'icône dédiée à ce profil… C'est l'astuce.
Sans profil dédié, pas d'icône dédiée soit le comportement habituel où chaque fenêtre de Firefox est une tâche adjointe à son icône « en cours ».

le dossier de profil

Il s'agit de créer un dossier, vide, qui respecte une convention de nommage attendue par Firefox, par exemple :

mkdir ~/.mozilla/firefox/p3r50n4l.FiP
  • Ce qui se trouve à droite du point est le nom de ce profil « FiP » - et c'est important.
  • Ce qui se trouve à gauche peut se générer aléatoirement ( ce que fait Firefox lui-même, 4 chiffres et 4 lettres, quand on utilise son gestionnaire de profils ).

profiles.ini

On va ajouter à ce fichier les éléments nécessaires pour que Firefox puisse trouver ce profil.

xdg-open ~/.mozilla/firefox/profiles.ini

qui ouvrira le fichier dans votre éditeur de texte par défaut,
fichier qui ressemblera à :

[Profile0]			# un [Profile0] existe forcément à cet endroit
Name=default			# il s'est créé lors de votre première utilisation de Firefox…
IsRelative=1
Path=a0w1z95x.default
 
[General]
StartWithLastProfile=1
Version=2
 
[Install6AFDA46A1A8AD48]	# …c'est le profil neutre, initial.
Default=a0w1z95x.default
Locked=1

auquel on ajoute les infos du nouveau dossier :

[Profile1]			# évidemment si des profils existent déjà, incrémentez le numéro en conséquence.
Name=FiP			# notez comme on retrouve le nom de ce profil « FiP » - c'est important.
IsRelative=1			# indique que c'est un chemin relatif ( dans le même dossier parent )
Path=p3r50n4l.FiP		# c'est le chemin vers le dossier
				# une ligne vide.

Même si la position de ce bloc d'infos dans le fichier a peu d'importance, par souci de lisibilité, plaçons-le au dessus du [Profile0],
d'où la ligne vide qui est un séparateur visuel.


Pour lancer le gestionnaire de profils de Firefox, depuis un terminal :
firefox --ProfileManager


On a fini côté Firefox, on peut s'attaquer au lanceur.

le lanceur et son icône dédiée

Enfin !
Ouvrez votre éditeur de texte favori et collez-y :

fip-radio.desktop
[Desktop Entry]
Version=1.1
Type=Application
Name=FiP Radio
Comment=FiP via Firefox
Icon=fip
Exec=firefox -P FiP https://www.radiofrance.fr/fip --class FiP --name FiP %u
Categories=AudioVideo;Audio;Player;Network;
StartupWMClass=FiP
StartupNotify=true

Observez une fois encore les occurrences du nom « FiP ».
Enregistrez ce fichier sous le nom fip-radio.desktop dans ~/.local/share/applications - cet emplacement dans $HOME est important :

  • d'abord parce qu'il est celui des lanceurs personnels d'un utilisateur dans sa session. Or ce lanceur pour Firefox fait appel à un profil qui lui aussi se trouve sous le même $HOME ;
  • ensuite parce que sous Gnome/Ubuntu, l'explorateur de fichiers Nautilus n'exécute à priori les fichiers .desktop qu'à partir de deux emplacements, ~/.local/share/applications/ ou ~/Bureau/ ; s'il en trouve ailleurs, il se contentera d'en afficher le contenu.


Quitter-relancer votre session.
Lancez FiP depuis votre menu d'applications ;-)
Lancez aussi votre Firefox habituel, et constatez comme les 2 instances sont indépendantes l'une de l'autre, voire imperméables.

Ça mérite quelques explications,
à partir du rôle des diverses lignes d'un fichier .desktop d'une part, et des options utilisées pour lancer cette instance de Firefox d'autre part :

Name=FiP Radio

→ le nom sous lequel apparaîtra le lanceur dans votre interface de bureau

Icon=fip

→ cherche par défaut un fichier .png ou .svg nommé fip dans /usr/share/icons/ et ~/.local/share/icons/
cadeau, enregistrez-la sous ~/.local/share/icons/

Exec=firefox -P FiP https://www.radiofrance.fr/fip --class FiP --name FiP %u

une bonne part de la magie a lieu ici avec les options
-P qui appelle le profil pour Firefox nommé FiP ( soit le dossier p3r50n4l.FiP ) d'où l'importance des noms précédemment ;
--class FiP qui « sur-nomme » cette instance de Firefox → FiP ( et non …Firefox. )
--name FiP qui nomme1) cette fenêtre sous Wayland2) → FiP ( et non …Firefox. )

Categories=AudioVideo;Audio;Player;Network;

→ catégories dans lesquelles apparaîtra le lanceur, si votre menu d'applications affiche des catégories.

StartupWMClass=FiP

l'autre part de magie est là : --class et --name ( dans la ligne Exec= ) et StartupWMClass= doivent impérativement avoir la même valeur, cette équivalence crée la fenêtre dédiée à FiP, associée à l'icône, associée à ce profil spécifique, d'où encore l'importance des noms précédemment ;-)

À propos de la remarque plus haut : « constatez comme les 2 instances sont indépendantes l'une de l'autre, voire imperméables. »
Par exemple, vous ne pourrez pas glisser un onglet de la fenêtre FiP, vers une autre fenêtre de Firefox, et vice-versa.
Bien que mues par le même moteur ( Firefox ) ces fenêtres sont exclusives à leur profil.
Dans le même ordre d'idées, puisque FiP radio est une application avec son propre profil, vous pouvez donc personnaliser celle-ci de façon totalement différente de votre navigateur Firefox habituel. Notamment n'y installer que les modules complémentaires utiles à cette application ( il n'y a pas de pub' sur FiP… ) ou modifier les détails de son interface ( thèmes, couleurs, position des boutons… )

Pour les plus curieux d'entre vous, 2 liens vers davantage d'explications autour des options de lancement de Firefox en commande : sur le wiki Mozilla et la doc' Gtk.

Exemples et autres cas d'usage

Lanceurs dans le dossier ~/.local/share/applications

deezer.desktop
[Desktop Entry]
Version=1.1
Type=Application
Name=Deezer
Comment=Deezer via Firefox
Icon=deezer
Exec=firefox -P Deezer https://www.deezer.com/fr/ --class Deezer --name Deezer %u
Categories=AudioVideo;Audio;Player;Network;
StartupWMClass=Deezer
StartupNotify=true
google-drive.desktop
[Desktop Entry]
Version=1.1
Type=Application
Name=Google Drive
Comment=Google Drive via Firefox
Icon=google-drive
Exec=firefox -P Gdrive https://drive.google.com/drive/my-drive --class Gdrive --name Gdrive %u
Categories=Network;
StartupWMClass=Gdrive
StartupNotify=true
molotov.desktop
[Desktop Entry]
Version=1.1
Type=Application
Name=Molotov
Comment=Molotov via Firefox
Icon=molotov
Exec=firefox -P Molotov https://app.molotov.tv/home --class Molotov --name Molotov %u
Categories=AudioVideo;Audio;Player;Network;
StartupWMClass=Molotov
StartupNotify=true

Description des profils dans le fichier ~/.mozilla/firefox/profiles.ini

Dossier ( profil ) ~/.mozilla/firefox/p3r50n4l.Deezer

[Profile2]
Name=Deezer
IsRelative=1
Path=p3r50n4l.Deezer

Dossier ( profil ) ~/.mozilla/firefox/p3r50n4l.Gdrive

[Profile3]
Name=Gdrive
IsRelative=1
Path=p3r50n4l.Gdrive

Dossier ( profil ) ~/.mozilla/firefox/p3r50n4l.Molotov

[Profile4]
Name=Molotov
IsRelative=1
Path=p3r50n4l.Molotov



Contrôles média en cours depuis le panel pour certains sites :

Icônes : 1=google-drive.png 2=fournie via thème Papirus 3=fip.png 4=fournie via thème Papirus


Des lanceurs indépendants pour différentes sessions de Firefox

Votre système Ubuntu ne dispose que d'une seule session utilisateur - disons que vous n'avez pas le choix - mais plusieurs personnes s'en servent.
Il ne serait pas très opportun, en termes de confort, de confidentialité et d'organisation, que toutes ces personnes utilisent un seul et même profil de navigateur.
On peut facilement créer un profil pour chacune d'elles et tant qu'à faire, leur propre compte de synchronisation, voir §1.
Dès lors que chaque personne dispose de son profil, on peut créer un lanceur Firefox pour chacune d'elle, avec icônes et noms distincts qui afficheront des Firefox complètement indépendants les uns des autres.
C'était l'objet ( initial ) de cette discussion.

Puisque ces Firefox avec des profils personnels différents sont accessibles à quiconque devant cette session, il convient de protéger l'accès aux données sensibles par l'utilisation d'un « mot de passe principal » dans chacun d'eux !
C'est dans :
Menu → Paramètres → Vie privée et sécurité → Identifiants et mots de passe
cocher : Utiliser un mot de passe principal


Disons qu'on a 2 personnes, Petra et Noubie.
Il faut donc un profil pour chacune ~/.mozilla/firefox/47t3rn4t.Petra et ~/.mozilla/firefox/47t3rn4t.Noubie

Chacun de ces profils dispose de sa description dans le fichier ~/.mozilla/firefox/profiles.ini :

[Profile12]
Name=Noubie
IsRelative=1
Path=47t3rn4t.Noubie
 
[Profile11]
Name=Petra
IsRelative=1
Path=47t3rn4t.Petra

Dans ~/.local/share/applications on placera 2 fichiers .desktop, les lanceurs, nommés firefox-petra.desktop et firefox-noubie.desktop
qui contiennent respectivement :

firefox-petra.desktop
[Desktop Entry]
Version=1.0
Name=Firefox for Petra
Name[fr]=Le Firefox de Petra
Comment=Browse the World Wide Web
Comment[fr]=Naviguer sur le Web
GenericName=Web Browser
GenericName[fr]=Navigateur Web
Keywords=Internet;WWW;Browser;Web;Explorer
Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
Exec=firefox -P Petra --class Petra --name Petra %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=firefox-petra
Categories=GNOME;GTK;Network;WebBrowser;
StartupWMClass=Petra
StartupNotify=true
MimeType=x-scheme-handler/unknown;x-scheme-handler/about;text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=Open a New Window
Name[fr]=Ouvrir une nouvelle fenêtre
Exec=firefox -new-window -P Petra --class Petra --name Petra
[Desktop Action new-private-window]
Name=Open a New Private Window
Name[fr]=Ouvrir une nouvelle fenêtre de navigation privée
Exec=firefox -private-window -P Petra --class Petra --name Petra
firefox-noubie.desktop
[Desktop Entry]
Version=1.0
Name=Firefox for Noubie
Name[fr]=Le Firefox de Noubie
Comment=Browse the World Wide Web
Comment[fr]=Naviguer sur le Web
GenericName=Web Browser
GenericName[fr]=Navigateur Web
Keywords=Internet;WWW;Browser;Web;Explorer
Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
Exec=firefox -P Noubie --class Noubie --name Noubie %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=firefox-noubie
Categories=GNOME;GTK;Network;WebBrowser;
StartupWMClass=Noubie
StartupNotify=true
MimeType=x-scheme-handler/unknown;x-scheme-handler/about;text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
Actions=new-window;new-private-window;
[Desktop Action new-window]
Name=Open a New Window
Name[fr]=Ouvrir une nouvelle fenêtre
Exec=firefox -new-window -P Noubie --class Noubie --name Noubie
[Desktop Action new-private-window]
Name=Open a New Private Window
Name[fr]=Ouvrir une nouvelle fenêtre de navigation privée
Exec=firefox -private-window -P Noubie --class Noubie --name Noubie

→ ce sont des lanceurs « complets » pour Firefox ( réduits à une version franco-anglaise ) avec les actions au clic droit ( nouvelle fenêtre et navigation privée )
et le MimeType ( l'association application / type de fichiers qu'elle exploite ) afin de rendre ces Firefox disponibles dans certains sous-menus de votre environnement de bureau ( par ex.: ouvrir avec ).

Dans ces lanceurs, repérez les occurrences de Petra/petra ou Noubie/noubie et remplacez-les par les noms utilisés dans votre contexte.
→ voir « ça mérite quelques explications » au §3.2 pour repérer les endroits clés dans ces fichiers .desktop
→ ce sont les « rubriques » : Name, Icon, Exec, –class, StartupWMClass
Idem pour les noms des fichiers image ci-après, noms à adapter à votre contexte.

Enfin placez dans ~/.local/share/icons les images au format .png ou .svg nommées firefox-petra et firefox-noubie

ff_06.pngff_05.pngff_04.pngff_03.pngff_02.pngff_01.png
Bien sûr vous pouvez utiliser toute autre icône de votre choix, dites vous qu'elle doit tenir dans un carré, généralement de 128×128px, maxi 256×256px.

Selon votre méthode d'installation de Firefox, vous pourrez trouver son icône originale quelque part dans /usr/share/icons/… ou /snap/… ou /opt/firefox/browser/chrome/icons/default/default128.png ; copiez-la ( pas besoin de sudo la destination est votre $HOME ; c'est un simple copier-coller depuis l'explorateur de fichiers ) dans ~/.local/share/icons si vous souhaitez la modifier et renommez-là en fonction des noms utilisés dans votre contexte.


2 icônes pour 2 profils, chacun avec 2 fenêtres en cours…


1)
source ( concernant –name ) : GitHub WebApp Manager
  • firefox_quelques_astuces.txt
  • Dernière modification: Le 25/01/2024, 02:52
  • par Coeur Noir