fix : Firefox handling 4
All checks were successful
release / build (push) Successful in 32s
release / verify-windows (push) Successful in 1m16s

This commit is contained in:
jeanotx32
2026-08-12 03:30:55 +02:00
parent 8315e6a065
commit ae8ae6b91d
2 changed files with 39 additions and 5 deletions

View File

@@ -210,10 +210,16 @@ Sur Ubuntu, `firefox` est un snap, et cela impose deux choses.
L'interface `home` d'un snap **exclut délibérément les fichiers et répertoires cachés**
ceux commençant par un point, réputés contenir des données sensibles. Un profil sous
`~/.stream-control/` y est donc inaccessible, et Firefox meurt sans jamais ouvrir son port.
L'agent détecte le paquet snap en suivant la chaîne de liens de la commande
(`/usr/bin/firefox``/snap/bin/firefox``/usr/bin/snap`) et place alors son profil sous
`~/snap/firefox/common/stream-control-profile`. Un profil explicitement configuré dans un
`~/.stream-control/` y est donc inaccessible, et Firefox meurt sans jamais ouvrir son port
sans message d'erreur exploitable : la confinement AppArmor bloque au niveau du noyau, pas
dans la sortie du processus.
L'agent détecte le paquet snap de deux façons, l'une ne suffisant pas partout : en suivant
la chaîne de liens de la commande (`/usr/bin/firefox``/snap/bin/firefox`
`/usr/bin/snap`, la forme la plus courante), et en lisant le contenu d'un éventuel script
d'aiguillage — certaines images Ubuntu placent en `/usr/bin/firefox` un petit script qui
exécute le snap en son sein, sans aucun lien symbolique dans la chaîne. Dans les deux cas,
le profil est placé sous `~/snap/firefox/common/stream-control-profile`. Un profil explicitement configuré dans un
répertoire caché est refusé **avant** le lancement, avec l'explication.
Par ailleurs, `firefox` n'est ici qu'un lanceur : il passe la main au snap et **sort