GNOME 混淆了多個不同 Firefox 安裝的名稱
我在 Debian Jessie 上使用 GNOME,並且安裝了不同的 Firefox:
- 與 GNOME 捆綁的 ESR 版本,我無法刪除(因為它是一個依賴項)
- 從特殊 Debian 儲存庫安裝的穩定版本
/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=
and以將其與二進製版本區分開來,並更改為這個: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 開發者版會發生這種情況。有時甚至 Tor 瀏覽器也會得到標籤“Firefox ESR”,這表明 GNOME 可能只是使用執行檔名稱(
firefox
在這種情況下)來確定正在執行的程序……那麼我該如何解決這個問題呢?
**編輯:**為了測試,我創建了一個符號連結
/opt/firefox/firefox -> /opt/firefox/firefoxbin.real
並在桌面文件中使用了那個“新”文件,但這沒有改變,所以執行檔名似乎無關緊要。**Edit2:**此外,我現在將
StartupWMClass
fromfirefox-esr.desktop
(Firefox
在 中重複firefox.desktop
)更改為FirefoxESR
. 之後現在 GNOME 總是向我顯示“Firefox Debian”(保存在 中的名稱firefox.desktop
),即使對於所有其他 Firefox 版本,甚至對於 ESR 版本也是如此。更改StartupWMClass
forfirefox.desktop
沒有幫助。
好吧,我還不如回答你的問題。
嘗試
--class
在 Firefox 中使用該標誌。如果它與相關.desktop
文件匹配,則應正確分組各種實例。例如,在您的 .desktop 文件中:Exec=firefox --class FirefoxDevel %u
它適用於相同的 firefox 執行檔,因此只要您的版本支持該標誌,您就可以使用了。