为什么/ usr / share / app-install / desktop中有这么多文件?

14.04,我正在试用Lubuntu LTS。

如果我运行ls -l /usr/share/app-install/desktop ,我会得到一个3085 .desktop文件的列表。 除了一个以外的所有日期都是4月18日。例外是:

 -rw-r--r-- 1 root root 6328 Mar 28 2013 applications.menu 

从日期来看,很明显所有这些都是默认安装而不是我。

  • 每个基于GUI的程序在安装时(主要在/usr/share/applications )都不会引入自己的.desktop文件吗?

  • 那为什么需要这些成千上万的其他.desktop文件呢? 从他们的名字来看,他们中的大部分与Lubuntu没有任何关系。

  • 它们的名称与常规的.desktop文件(例如/usr/share/applications )不同:许多(而非全部)文件name:name.desktop而常规文件只是name.desktop
  • 我看过的所有人都有一行X-AppInstall-Popcon=nnn ,其中nnn是一串数字。 我知道Popcon“收集统计数据,确定哪些软件包最受Ubuntu用户欢迎”。 但为什么这些.desktop文件的那部分?

/usr/share/app-install/desktop下的.desktop文件由app-install-data安装 安装app-install-data 包。 该软件包提供有关Ubuntu软件中心和(在您的情况下)Lubuntu软件中心使用的应用程序的元数据。 该程序包还包含从.desktop文件引用的每个应用程序图标的副本。

基本上,这些.desktop文件非常类似于桌面环境菜单用于启动应用程序的.desktop文件。 但是,正如您所注意到的,他们为人气统计和搜索关键字等内容添加了额外的元数据。

而且,很明显, app-install-data软件包在所有Ubuntu系统上安装了一整套.desktop文件和图标,无论安装了哪种风格,默认安装了哪些应用程序,或者安装或删除了哪些应用程序在特定的系统上。

所有这一切的目的是为用户提供完美的软件中心体验,提供有关可以安装在Ubuntu中的所有应用程序的信息,而无需从Web服务查询和缓存所有应用程序。 app-install-data包是为Ubuntu存储库中所有已知应用程序的每个Ubuntu版本构建的。 这允许用户打开软件中心,按名称或关键字搜索应用程序,并且能够看到在安装应用程序时将在其桌面菜单或启动器中显示的相同名称,描述和图标。

如果需要,只需卸载包含它们的软件包即可删除这些元数据文件和图标:

 sudo apt-get remove app-install-data 

请注意,删除app-install-data将依次强制删除lubuntu-software-centerlubuntu-desktopsoftware-centerubuntu-desktop 。 但是,删除这些包不会影响apt包管理器的Synaptic,aptitude,apt-get或任何其他前端。 只有Ubuntu软件中心应用程序需要这些文件。