그놈은 여러 다른 Firefox 설치 이름을 난독화합니다.

그놈은 여러 다른 Firefox 설치 이름을 난독화합니다.

저는 Debian Jessie에서 GNOME을 사용하고 있으며 다른 Firefox 설치가 있습니다:

  • GNOME과 함께 번들로 제공되는 ESR 버전을 제거할 수 없습니다(종속성이므로).
  • 안정적인 버전이 설치됨특수 데비안 저장소
  • /opt/firefox/...Mozilla 웹사이트에서 다운로드한 바이너리(설치됨)여기에 설명된 대로
  • Mozilla의 개발자 버전(바이너리로도 사용 가능)(에 설치됨 /opt/firefox-dev-edition)

따라서 /usr/share/applications다양한 .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

따라서 모든 파일은 기본적으로 다음과 같은 레이아웃을 갖습니다.

[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

Name=Firefox ESR물론 ESR 버전도 있습니다 X-GNOME-FullName=Firefox ESR Web Browser. 중요한 것들은 다음과 같습니다:

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

저는 이 파일(Mozilla에서 제공하는 아이콘 파일과 함께)을 사용하여 다음과 같은 개발자 버전용 데스크톱 파일을 만들었습니다.

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

firefox.desktop다음과 같이 mozilla.debian.net 설치를 통해 생성됩니다 :

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

Firefox 바이너리 버전에 대한 바로가기를 만들기 위해 복사 firefox.desktop하고 이름을 firefox-bin.desktop. NAME=바이너리 버전과 구별하기 위해 원본 버전의 합을 다음과 같이 변경했습니다 .X-GNOME-FullName=firefox.desktopfirefox-bin.desktop

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

/usr/bin또한 다양한 바이너리 도 있습니다 :

$ 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

그래서 질문은그놈은 여전히 ​​이러한 Firefox 설치를 혼동하고 있습니다.. 실행하면 모든 버전이 상단 패널에 "Firefox ESR"로 표시되는 경우가 있습니다. 그래서 상단 패널에 있는 "Firefox"를 잠깐 클릭해서 열면 "Firefox"라고 나오다가 몇 초 후에 "Firefox ESR"로 바뀌는데 수행된 Firefox 설치가 다음과 같은 것을 확인할 수 있습니다.아니요ESR 버전.

Firefox는 원래 "Firefox"로 명명되었으나 나중에 "Firefox ESR"로 이름이 변경되었습니다.

이는 Firefox, "Firefox Debian" 및 Firefox Developer Edition에서 발생합니다. 때때로 Tor 브라우저에도 "Firefox ESR" 태그가 표시되는데, 이는 GNOME이 firefox실행 중인 프로그램을 확인하기 위해 실행 파일 이름(이 경우)을 사용하고 있을 수도 있음을 나타냅니다.

그렇다면 이 문제를 어떻게 해결해야 할까요?

편집하다:테스트하기 위해 심볼릭 링크를 만들고 /opt/firefox/firefox -> /opt/firefox/firefoxbin.realDesktop Files의 "새" 파일을 사용했지만 아무것도 변경되지 않았으므로 실행 파일 이름은 중요하지 않은 것 같습니다.

편집 2:또한 이제 를 (에서 반복 ) 에서 로 StartupWMClass변경 했습니다 . 그 후 이제 GNOME은 다른 모든 Firefox 버전, 심지어 ESR 버전에서도 항상 "Firefox Debian"(에 저장된 이름)을 표시합니다 . for를 변경해 도 도움이 되지 않습니다.firefox-esr.desktopFirefoxfirefox.desktopFirefoxESRfirefox.desktopStartupWMClassfirefox.desktop

답변1

글쎄, 나는 당신의 질문에 대답할 수도 있습니다.

--classFirefox에서 이 플래그를 사용해 보세요 . 해당 파일과 일치 하면 .desktop개별 인스턴스가 올바르게 그룹화되어야 합니다. 예를 들어 .desktop 파일에서 다음과 같습니다.

Exec=firefox --class FirefoxDevel %u

동일한 Firefox 실행 파일로 작동하므로 버전이 플래그를 지원하는 한 계속 사용해도 좋습니다.

관련 정보