在 Ubuntu 以 Snap 安裝的應用程式沒有 App 圖示怎麼辦?

 Snap 這個應用程式管理平台,除了讓 mount 顯示一堆亂七八糟的掛載資訊,讓實際想要看的硬碟資訊淹沒之外,常常也會出現一些奇奇怪怪的問題,一些以往習慣用的應用程式,也在商店中搜尋不到。除了可以乾淨加入、移除這個優點之外,其他一無是處。無奈即使常常咒罵它,但近幾次發布的 LTE 版本,還是硬是要預設使用Snap。

偶爾Snap的應用程式,在安裝後沒有應用程式的圖示,而是顯示這樣的預設圖示。

這個問題出在於該應用程式的桌面設定檔,裡面沒有正確指定應用程式的 icon,甚至應用程式安裝包,根本就沒有放應用程式的 icon。這樣一來,無論是在應用程式集,還是在Dock條裡面,就得看到這樣鳥鳥的、又沒辦法辨識的 icon。

要解決這個問題,最好的方法,是把應用程式的 .desktop 檔案修正,指定正確的桌面icon給應用程式來顯示。

更改或修正桌面icon

Snap 應用程式安裝之後,桌面設定檔是放在 /var/lib/snapd/desktop/applications 下面,關於 icon 的問題,要到這個目錄下查看問題。

比方說,最近因為被笨重的 Chrome 搞的火氣大,而安裝 Falkon 這個輕量化的瀏覽器,因而遇到沒有 icon 的問題。查看Falkon的桌面設定檔:

 /var/lib/snapd/desktop/applications/falkon_falkon.desktop

在 [Desktop Entry] 段落中,他的設定是:

Icon=falkon

顯然因為某種原因,Ubuntu 24.04 的 X-Window,並沒有理解這個 icon 對應的檔案,要解決問題,就得修正這個敘述。

修正 xxx.desktop 桌面設定檔

修正設定檔的方法,最後不要直接改 /var/lib/snapd/desktop/applications/ 下面的檔案。把對應的檔案先 copy 一份到自己使用者目錄下的 ~/.local/share/applications 目錄,然後在修改。以我這個 falkon 的問題來說,就是把 /var/lib/snapd/desktop/applications/falkon_falkon.desktop 檔案複製到 ~/.local/share/applications 下面再修改。

要把原來錯誤的指令行 Icon=view-private ,改成正確的 icon,首先我需要找到合適的 Falkon 原版 icon。應用程式的 icon 一般都可以找得到,就在根目錄 /snap 裡面。以falkon 來說,我在 /snap/falkon/143/usr/share/icons 裡面,找到一堆可以用的 icon。

把原本 [Desktop Entry] 的Icon指令

Icon=falkon

改成

Icon=/snap/falkon/143/usr/share/icons/hicolor/128x128/apps/falkon.png

這樣就可以了,終於出現了原版的App圖示:


原版的 .desktop 檔案,裡面的 Icon 名稱是 falkon,未來有機會遇到的話,再看看從哪裡可以設定,讓Ubuntu可以知道預設要去哪裡抓這個 falkon 圖示的原始圖檔。

目前就先用這個方法暫時解決。

沒有留言:

張貼留言