Firefox Developer桌面图标丢失求助:启动器打开无图标终端启动正常
解决Ubuntu 12.04 Unity启动器中Firefox Dev图标不显示的问题
我之前碰到过完全一样的问题——终端运行firefox(或你的Dev版本命令)图标正常,但从启动器打开就没图标,试过通用图标方案、重装都没用。后来发现核心问题要么是.desktop文件配置不对,要么是Unity的图标缓存没跟上。试试下面这些具体操作:
1. 检查并修正firefox_dev.desktop的关键配置
首先得确保你的.desktop文件里几个核心字段是正确的,这是Unity匹配图标的关键:
- 打开终端,编辑你的desktop文件(如果是用户自定义的,路径一般是
~/.local/share/applications/firefox_dev.desktop;系统级的话是/usr/share/applications/firefox_dev.desktop):gedit ~/.local/share/applications/firefox_dev.desktop - 重点检查这三个字段:
Exec=:必须指向Firefox Dev的实际可执行文件路径。比如如果你的Dev版命令是firefox-dev,就改成Exec=firefox-dev %u;如果是自定义安装路径,比如/opt/firefox-developer-edition/firefox,就写全路径。Icon=:指定正确的图标路径或系统图标名。比如可以用安装目录里的图标:Icon=/opt/firefox-developer-edition/browser/chrome/icons/default/default128.png,或者直接用系统已有的图标名Icon=firefox-developer-edition(如果系统里有这个图标的话)。StartupWMClass=:这个是Unity匹配窗口和启动器图标的核心!你需要先启动Firefox Dev,然后在终端运行xprop WM_CLASS,接着点击Firefox Dev的窗口,会输出类似WM_CLASS(STRING) = "Navigator", "Firefox Developer Edition",把第二个值(比如Firefox Developer Edition)填到这个字段后面,比如StartupWMClass=Firefox Developer Edition。
- 保存文件后,先把启动器上的Firefox Dev图标解锁,再把修改后的desktop文件拖回启动器。
2. 重置Unity图标缓存
有时候图标缓存会出问题,导致新配置不生效:
在终端依次运行这些命令:
# 删除用户级图标缓存 rm ~/.local/share/icons/hicolor/icon-theme.cache # 更新系统级图标缓存 sudo update-icon-caches /usr/share/icons/hicolor/ # 重置Unity图标配置 unity --reset-icons
然后注销再登录,或者运行unity --replace重启Unity。
3. 确保.desktop文件有可执行权限
如果desktop文件没有可执行权限,Unity可能无法正确识别它:
chmod +x ~/.local/share/applications/firefox_dev.desktop # 如果是系统级文件,加sudo: # sudo chmod +x /usr/share/applications/firefox_dev.desktop
如果上面的步骤都不行,你可以试试用alacarte(Ubuntu自带的菜单编辑器)重新创建一个Firefox Dev的启动项——它会自动帮你配置好正确的Exec、Icon和StartupWMClass参数,比手动编辑更靠谱。
内容的提问来源于stack exchange,提问作者Øystein Seel




