
我在 Debian Jessie 上使用 GNOME,並且安裝了不同的 Firefox:
- 與 GNOME 捆綁在一起的 ESR 版本,我無法刪除它(因為它是一個依賴項)
- 安裝的穩定版本特殊的 Debian 儲存庫
- 來自 Mozilla 的二進位(安裝在
/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
所以 ESR 版本有Name=Firefox 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.desktop
firefox-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
所以問題是GNOME 仍然會混淆這些 Firefox 安裝。當我運行它們時,所有版本有時都會在頂部面板中標記為“Firefox ESR”。因此,當我單擊“Firefox”在頂部面板中短暫打開它時,會顯示“Firefox”,但幾秒鐘後它會更改為“Firefox ESR”,儘管我可以確認執行的 Firefox 安裝是不是ESR 版本。
Firefox、「Firefox Debian」和 Firefox Developer Edition 會發生這種情況。有時甚至 Tor 瀏覽器也會獲得“Firefox ESR”標籤,這表明 GNOME 可能只是使用可執行檔名稱(firefox
在本例中)來確定正在運行的程式...
那我該如何解決這個問題呢?
編輯:為了測試,我創建了一個符號連結/opt/firefox/firefox -> /opt/firefox/firefoxbin.real
並在桌面文件中使用了該“新”文件,但這沒有改變任何內容,因此可執行文件名稱似乎並不重要。
編輯2:另外,我現在將StartupWMClass
offirefox-esr.desktop
從Firefox
(在 中重複firefox.desktop
)更改為FirefoxESR
。之後,現在 GNOME 總是向我顯示「Firefox Debian」(保存在 中的名稱firefox.desktop
),即使對於所有其他 Firefox 版本,甚至對於 ESR 版本也是如此。更改StartupWMClass
forfirefox.desktop
沒有幫助。
答案1
好吧,我不妨回答一下你的問題。
嘗試--class
在 Firefox 中使用該標誌。如果它與相關.desktop
文件匹配,則各個實例應該正確分組。例如,在您的 .desktop 檔案中:
Exec=firefox --class FirefoxDevel %u
它對我來說適用於相同的 Firefox 可執行文件,因此只要您的版本支援該標誌,您就應該可以繼續使用。