有人能解释一下为什么有两个 org.gnome.Software.desktop 文件吗? 哪一个 (如何) 被加载?

有人能解释一下为什么有两个 org.gnome.Software.desktop 文件吗? 哪一个 (如何) 被加载?

最近,我发现org.gnome.Software.desktop两个地方有两个文件:一个在

/usr/share/ubuntu/applications/

一个

/usr/share/applications/

有人能解释一下为什么(以及如何)

/usr/share/ubuntu/applications/org.gnome.Software.desktop

是在左边加载而不是后者?

文件内容/usr/share/ubuntu/applications/org.gnome.Software.desktop

[Desktop Entry]
Name=Ubuntu Software
Comment=Add, remove or update software on this computer
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=ubuntusoftware
Exec=gnome-software %U
Terminal=false
Type=Application
Categories=GNOME;GTK;System;PackageManager;
# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
Keywords=Updates;Upgrade;Sources;Repositories;Preferences;Install;Uninstall;Program;Software;App;Store;
StartupNotify=true
MimeType=x-scheme-handler/appstream;x-scheme-handler/apt;x-scheme-handler/snap;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-software
X-GNOME-Bugzilla-Component=gnome-software
X-GNOME-UsesNotifications=true
DBusActivatable=true
X-Ubuntu-Gettext-Domain=gnome-software

这是我的桌面截图(注意左侧的 dock)

这是我的 Ubuntu 版本:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.5 LTS
Release:    18.04
Codename:   bionic

我发现我可以通过这个命令获取我的应用程序列表:

$ gsettings get org.gnome.shell favorite-apps
['firefox.desktop', 'thunderbird.desktop', 'org.gnome.Nautilus.desktop', 'rhythmbox.desktop', 'libreoffice-writer.desktop', 'org.gnome.Software.desktop', 'yelp.desktop', 'org.gnome.Terminal.desktop', 'gnome-control-center.desktop']

因此,我认为我的问题可以简化为:是否存在确定org.gnome.Software.desktop加载哪个环境变量

答案1

来自此链接https://developer.gnome.org/desktop-entry-spec/

如果多个文件具有相同的桌面文件 ID,则使用 $XDG_DATA_DIRS 优先顺序中的第一个文件。

如果你运行命令

echo $XDG_DATA_DIRS

你会注意到,/usr/share/ubuntu/之前/usr/share/

例子:

$ echo $XDG_DATA_DIRS
/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
$ 

答案2

当您比较这两个文件时:

$ diff /usr/share/ubuntu/applications/org.gnome.Software.desktop /usr/share/applications/org.gnome.Software.desktop
2c2
< Name=Ubuntu Software
---
> Name=Software
4c4
< Icon=ubuntusoftware
---
> Icon=org.gnome.Software

您会看到ubuntu版本使用“Ubuntu 软件”,而通用版本使用“软件”。

您可以在系统中直观地看到:

ubuntu 软件

图片来源:如何在 Ubuntu 20.04 中将 Gnome 软件安装为 Ubuntu 软件

单击链接来了解如何更改设置。

相关内容