问题:
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
如果你解决了这两个问题,一切都会正常工作:)