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

Vin*_*ani 3 package-management .desktop

我不小心删除了目录中的所有.desktop文件/usr/share/applications

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

Dav*_*ter 8

由于只有从包中提取的文件应该存储在/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 --
    
    Run Code Online (Sandbox Code Playgroud)
  • 如果其中有些包不是从包存储库安装而是从 Deb 包文件手动安装的,apt-get则会抱怨它找不到那些特定的包,您必须重新安装它们。