Como gerar arquivos .desktop para todos os aplicativos atualmente instalados no sistema

2

Eu acidentalmente excluí todos os arquivos .desktop do diretório /usr/share/applications .

Existe alguma maneira de restaurar / recuperar / regenerar de volta para todos os aplicativos que eu tenho atualmente instalado no meu laptop Ubuntu 16.04 LTS?

    
por Vinay Sudani 20.09.2017 / 18:43

1 resposta

7

Como apenas arquivos extraídos de pacotes devem ser armazenados em /usr (mas não em /usr/local ) você pode usar o gerenciador de pacotes para recuperar todos esses arquivos:

  • dpkg-query -S [PATH] lista todos os pacotes atualmente instalados que (costumavam) ter arquivos em [PATH] .

  • Com um pouco de confusão, podemos passar os nomes dos pacotes para apt-get para reinstalá-los:

    xargs -r -d '\n' -a <(
        dpkg-query -S /usr/share/applications/ |
        gawk -F '[,:] ' '{ for (i=1; i<NF; i++) if (!a[$i]++) print $i; }'
      ) -- sudo apt-get install --reinstall --
    
  • Se houver pacotes entre eles que não foram instalados a partir de um repositório de pacotes, mas manualmente a partir de um arquivo de pacote Deb, apt-get irá reclamar que não pode encontrar esses pacotes específicos e você terá que instalar eles de novo.

por David Foerster 20.09.2017 / 20:02