如何为系统上当前安装的所有应用程序重新生成 .desktop 文件

如何为系统上当前安装的所有应用程序重新生成 .desktop 文件

我意外地.desktop从目录中删除了所有文件/usr/share/applications

有什么方法可以恢复/恢复/重新生成我当前安装在 Ubuntu 16.04 LTS 笔记本电脑上的所有应用程序吗?

答案1

由于只有从包中提取的文件才应该存储在/usr(但不是/usr/local),因此您可以使用包管理器来恢复所有这些文件:

  • dpkg-query -S [PATH]列出所有当前安装的、曾经在 中包含文件的软件包[PATH]

  • 经过一些处理,我们可以传递包名称来apt-get重新安装它们:

    xargs -r -d '\n' -a <(
        dpkg-query -S /usr/share/applications/ <&- |
        gawk -F '[,:][ \t]' '{ for (i=1; i<NF; i++) if (!a[$i]++) print $i; }'
      ) -- sudo apt-get install --reinstall --
    
  • 如果其中有些软件包不是从软件包存储库安装的,而是从 Deb 软件包文件手动安装的,apt-get则会抱怨找不到这些特定的软件包,您必须重新安装它们。

相关内容