Unity 启动器中的图标(14.04)

Unity 启动器中的图标(14.04)

问题:

Visual Studio Code 的图标错误。它使用文本编辑器中的图标

到目前为止我尝试过的事情:

我尝试将图标设置为alacarte存在/usr/share/code/resources/app/resources/linux/code.png且正确的图标。菜单中的图标消失了,运行时的启动器图标仍然是文本编辑器图标。

我也完全删除了该软件包,然后重新安装了 Visual Studio Code,但没有成功

我如何指定正确的图标?

安装:下载 deb 包并使用 dpkg --install 安装

桌面文件的内容:

[Desktop Entry]
Name=Visual Studio Code
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/usr/bin/code %U
Icon=/usr/share/code/resources/app/resources/linux/code
Type=Application
StartupNotify=true
StartupWMClass=/usr/share/code/resources/app/resources/linux/code.png
Categories=Utility;TextEditor;Development;IDE;
MimeType=text/plain;
Actions=new-window;

X-Desktop-File-Install-Version=0.22

Terminal=false

[Desktop Action new-window]
Name=New Window
Name[de]=Neues Fenster
Name[es]=Nueva ventana
Name[fr]=Nouvelle fenêtre
Name[it]=Nuova finestra
Name[ja]=新規ウインドウ
Name[ko]=새 창
Name[ru]=Новое окно
Name[zh_CN]=新建窗口
Name[zh_TW]=開新視窗
Exec=/usr/bin/code --new-window %U
Icon=/usr/share/code/resources/app/resources/linux/code.png

输出xprop WM_CLASS

WM_CLASS(STRING) = "code", "Code"

PS:我搜索了这个网站,发现了很多类似的问题和答案,但这些答案并没有帮助

PPS:新建一个用户测试,他的图标是正确的

答案1

关于Alacarte

.desktop当您使用 Alacarte编辑文件图标时,Alacarte 会将全局.desktop文件复制到~/.local/share/applications,然后编辑该文件。由于下次登录时本地文件将覆盖全局文件,因此要解决您的问题,您需要手动编辑本地文件。

Alacarte 的图标扩展错误

然而 Alacarte 不能很好地处理图标如果他们需要延期(例如.png)。这是一个已知问题;即使您使用图标的完整路径,Alacarte 也会直接删除扩展名。在您的案例中,Alacarte 错误地使用了:

Icon=/usr/share/code/resources/app/resources/linux/code

应该是:

Icon=/usr/share/code/resources/app/resources/linux/code.png

还有一个问题;StartupWMClass 行不正确

还有以下这一行:

StartupWMClass=/usr/share/code/resources/app/resources/linux/code.png

是不正确的。如果.desktop文件需要该行来表示窗口,则应该是:

StartupWMClass=code

如果你解决了这两个问题,一切都会正常工作:)

相关内容