You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让自行编译的mupdf在Unity启动器侧边栏显示图标和名称

如何让自行编译的mupdf在Unity启动器侧边栏显示图标和名称

Hey there! I get it—你已经从源码编译好了MuPDF,手动创建的.desktop文件也让它在Unity Dash里正常显示带图标的条目了,但启动器侧边栏就是不给力。别着急,咱们一步步来搞定它:

1. 先检查.desktop文件的有效性

Unity对.desktop文件的格式要求挺严格的,先跑个命令排查错误吧(把mupdf.desktop换成你自己命名的文件名):

desktop-file-validate /usr/share/applications/mupdf.desktop

如果输出了错误提示(比如缺少必要字段、路径不对),先把这些问题修复,哪怕是个小拼写错误都可能导致启动器识别失败。

2. 确认Exec路径的正确性

从源码编译的MuPDF,二进制文件通常会安装在/usr/local/bin/mupdf(除非你指定了自定义安装目录)。确保你的.desktop文件里的Exec行用的是绝对路径,而不是只写mupdf:

Exec=/usr/local/bin/mupdf %U

末尾的%U是让图标支持拖拽打开文件的小技巧,建议加上。

3. 保证图标能被Unity找到

Unity要正常显示图标,得让它能定位到图标文件,有两种方式可选:

  • 方式一:把MuPDF的图标(推荐PNG格式,48x48或64x64尺寸)放到/usr/share/icons/hicolor/48x48/apps/目录下(目录不存在就新建),然后在.desktop文件里写:
    Icon=mupdf
    
  • 方式二:直接用图标文件的绝对路径:
    Icon=/你存放图标的路径/mupdf-icon.png
    

4. 添加StartupWMClass字段(Unity识别的关键!)

这是最容易忽略但最关键的一步。Unity靠窗口的WM_CLASS值来匹配对应的.desktop文件,操作方法如下:

  1. 打开MuPDF,让它的窗口处于可见状态
  2. 在终端里运行命令:
    xprop WM_CLASS
    
  3. 用鼠标点击MuPDF的窗口,终端会输出类似这样的内容:
    WM_CLASS(STRING) = "mupdf", "MuPDF"
    
  4. 把第一个值(比如这里的mupdf)加到你的.desktop文件里:
    StartupWMClass=mupdf
    

5. 更新桌面数据库

修改完.desktop文件后,跑个命令让Unity刷新识别:

update-desktop-database /usr/share/applications/

6. 测试效果

关闭所有MuPDF窗口,从Dash重新打开它,现在应该能在启动器侧边栏看到它的图标了。右键点击图标选择「锁定到启动器」,以后就不用每次找Dash啦!

另外,如果你在~/.local/share/applications/目录下也放了一份.desktop文件,记得它和/usr/share/applications/里的内容保持一致——本地文件优先级更高,要是本地的文件有问题也会影响显示。

备注:内容来源于stack exchange,提问作者DealTime444

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 12:47:38