GNOME confunde nomes de várias instalações diferentes do Firefox

GNOME confunde nomes de várias instalações diferentes do Firefox

Eu uso o GNOME no Debian Jessie e tenho diferentes instalações do Firefox:

  • a versão ESR incluída no GNOME, que não consigo remover (pois é uma dependência)
  • a versão estável instalada deo repositório especial do Debian
  • os arquivos binários do Mozilla (instalados em /opt/firefox/...) baixados de seu sitecomo explicado aqui
  • a edição do desenvolvedor (também como arquivos binários) da Mozilla (instalada em /opt/firefox-dev-edition)

Existem /usr/share/applications, portanto, diferentes arquivos .desktop.

$ ls -la firefox*
-rw-r--r-- 1 root root 3640 Okt  4 21:29 firefox-bin.desktop
-rw-r--r-- 1 root root 3,6K Okt  2 08:06 firefox.desktop
-rw-r--r-- 1 root root 2,2K Aug 31 22:57 firefox-dev.desktop
-rw-r--r-- 1 root root 3,8K Sep 22 08:29 firefox-esr.desktop

Então todos os arquivos têm basicamente este layout:

[Desktop Entry]
Encoding=UTF-8
Name=Firefox
Name[bg]=Firefox
Name[ca]=Firefox
[...some more languages...]
Comment=Browse the World Wide Web
Comment[bg]=Сърфиране в Мрежата
Comment[ca]=Navegueu per el web
[...some more languages...]
X-GNOME-FullName=Firefox Web Browser
X-GNOME-FullName[bg]=Интернет браузър (Firefox)
X-GNOME-FullName[ca]=Navegador web Firefox
[...some more languages...]
Exec=<somePath> %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=<someIcon>
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;[...]
StartupWMClass=<someStartupClass>
StartupNotify=true

Portanto, a versão ESR tem o Name=Firefox ESRe, claro, também X-GNOME-FullName=Firefox ESR Web Browser. As coisas que importam são estas:

Exec=firefox-esr %u
Icon=firefox-esr
StartupWMClass=Firefox

Usei este arquivo (e os arquivos de ícone fornecidos pela Mozilla) para criar um arquivo de desktop para a edição do desenvolvedor, que se parece com isto:

Exec=/opt/firefox-dev-edition/firefox %u
Icon=firefoxdev
StartupWMClass=FirefoxDev

O firefox.desktopé criado pela instalação em mozilla.debian.net e é este:

Exec=/usr/lib/firefox/firefox %u
Icon=firefox
StartupWMClass=Firefox

Para criar um atalho para a versão binária do Firefox copiei firefox.desktope nomeei-o como firefox-bin.desktop. Alterei o NAME=e X-GNOME-FullName=do original firefox.desktoppara distingui-lo da versão binária e mudei firefox-bin.desktoppara este:

Exec=/opt/firefox/firefox %u
Icon=firefox
StartupWMClass=FirefoxBin

Também /usr/binexistem diferentes binários:

$ ls -la firefox*
-rwxr-xr-x 1 root root 113 Sep 22 08:29 firefox
lrwxrwxrwx 1 root root  30 Sep 22 08:40 firefox-esr -> ../lib/firefox-esr/firefox-esr
lrwxrwxrwx 1 root root  22 Okt  2 08:17 firefox.real -> ../lib/firefox/firefox

Então a questão é queGNOME ainda confunde essas instalações do Firefox. Todas as versões às vezes são rotuladas como "Firefox ESR" no painel superior quando as estou executando. Então, quando clico em "Firefox" para abri-lo por um curto período de tempo no painel superior "Firefox" é mostrado, mas alguns segundos depois ele muda para "Firefox ESR", embora eu possa confirmar que a instalação executada do Firefox énãoa versão ESR.

O Firefox começa como "Firefox", o nome depois muda para "Firefox ESR"

Isso acontece com Firefox, "Firefox Debian" e Firefox Developer Edition. Às vezes até o navegador Tor recebe o rótulo "Firefox ESR", o que indica que o GNOME possivelmente usa apenas o nome do executável ( firefoxneste caso) para determinar qual programa está sendo executado...

Então, como posso consertar isso?

Editar:Para testar, criei um link simbólico /opt/firefox/firefox -> /opt/firefox/firefoxbin.reale usei aquele "novo" arquivo no arquivo da área de trabalho, mas isso não mudou nada, então o nome do executável não parece importar.

Editar2:Além disso , agora mudei StartupWMClassde (que estava duplicado em ) para . Depois agora o GNOME sempre me mostra "Firefox Debian" (o nome salvo em ) mesmo para todas as outras versões do Firefox, mesmo para a ESR. Mudar o for não ajudou.firefox-esr.desktopFirefoxfirefox.desktopFirefoxESRfirefox.desktopStartupWMClassfirefox.desktop

Responder1

Bem, eu também poderia responder à sua pergunta.

Tente usar a --classbandeira no Firefox. Se corresponder ao .desktoparquivo relativo, as várias instâncias deverão ser agrupadas corretamente. Por exemplo, no seu arquivo .desktop:

Exec=firefox --class FirefoxDevel %u

Funciona para mim para o mesmo executável do Firefox, portanto, desde que suas versões suportem esse sinalizador, você deve estar pronto.

informação relacionada