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

3

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

  • a versão do ESR junto com o GNOME, que não posso remover (pois é uma dependência)
  • a versão estável instalada a partir do repo especial do Debian
  • os arquivos binários da Mozilla (instalados em /opt/firefox/... ) baixados de seu site como explicado aqui
  • a edição do desenvolvedor (também como arquivos binários) da Mozilla (instalada em /opt/firefox-dev-edition )

Em /usr/share/applications , existem 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

Assim, todos os arquivos têm basicamente esse 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 Name=Firefox ESR e, 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

Eu usei esse arquivo (e os arquivos de ícone fornecidos pelo Mozilla) para criar um arquivo da área de trabalho para a edição do desenvolvedor, que se parece com isso:

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

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

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

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

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

Também em /usr/bin existem binários diferentes:

$ 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

O problema é que o GNOME ainda confunde essas instalações do Firefox . Todas as versões são rotuladas como "Firefox ESR" no painel superior quando eu as estou executando. Então, quando eu clico em "Firefox" para abri-lo por um curto 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ão a versão ESR.

Firefoxcomeçacomo"Firefox", o nome muda depois para "Firefox ESR"

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

Então, como posso corrigir isso?

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

Edit2: Além disso, agora mudei o StartupWMClass de firefox-esr.desktop de Firefox (que estava duplicado em firefox.desktop ) para FirefoxESR . Depois disso, agora o GNOME sempre me mostra "Firefox Debian" (o nome salvo em firefox.desktop ) mesmo para todas as outras versões do Firefox, mesmo para o ESR. Alterar o StartupWMClass para firefox.desktop não ajudou.

    
por rugk 04.10.2016 / 21:46

1 resposta

4

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

Tente usar o sinalizador --class no firefox. Se corresponder ao arquivo .desktop relativo, as várias instâncias devem 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.

    
por 06.10.2016 / 22:45