Ubuntu 22.04 LTS中不同目录下同名.desktop文件的技术疑问
Ubuntu 22.04 LTS中不同目录下同名.desktop文件的技术疑问
嘿,针对你在Ubuntu 22.04 LTS里捣鼓应用图标时遇到的同名.desktop文件问题,我来给你理清楚:
第一个问题:第二个和第三个文件是否过时或仅作兼容用途?
先结合文件位置和内容拆解:
- ~/.gnome/apps/bluetooth-sendto.desktop:这个目录是GNOME 2.x时代的遗留路径,现在你的系统用的GNOME 42已经完全不再从这个目录加载应用配置了。文件里的
OnlyShowIn=Old;也明确标注它只针对旧环境生效,所以这个文件纯属于向后兼容的遗留文件,对当前系统来说已经没用,删掉也不会影响蓝牙传输功能。 - ~/.local/share/applications/bluetooth-sendto.desktop:这是当前GNOME桌面标准的用户级应用配置目录,完全不属于过时文件。当你需要自定义某个应用的启动行为(比如改图标、调整命令)时,系统会优先读取这个目录下的文件,覆盖系统级(
/usr/share/applications/)的默认配置。如果你之前没手动改过这个应用,它可能是旧版工具自动生成的,但现在依然是有效的用户自定义入口。
第二个问题:哪个文件受menulibre控制?
Menulibre作为面向普通用户的菜单编辑工具,只会操作用户级的配置文件——也就是~/.local/share/applications/bluetooth-sendto.desktop。原因很简单:系统级的/usr/share/applications/目录需要root权限才能修改,而menulibre是为普通用户设计的,不会要求你输入sudo密码去碰系统文件。
如果这个用户级文件不存在,当你用menulibre编辑“Bluetooth Transfer”的设置时,它会自动从系统目录复制一份.desktop文件到~/.local/share/applications/,后续所有编辑操作也都会针对这个用户级副本。
备注:内容来源于stack exchange,提问作者Yiyang Yan
相关产品推荐
相关产品推荐

