O que é a definição do Ubuntu de um “aplicativo registrado”?

11

Eu me deparei com isso algumas vezes ao instalar aplicativos a partir do código-fonte e durante a invasão ocasional com update-alternatives . Até agora, tem sido apenas um aborrecimento menor (ou seja, não atrapalhou o objetivo final), mas agora é uma frustração, pois está apontando para um buraco na minha base de conhecimento ... então quando eu recebo uma mensagem que ' foo 'não é "uma aplicação registrada" (ou eu não posso usar o ícone padrão do foo porque o Ubuntu não tem conhecimento de' foo '):

  1. O que define um "aplicativo registrado"?

  2. Como posso definir um aplicativo instalado a partir da origem (e provavelmente residindo em $ HOME / bin / app-name) de forma que ele empacote a mesma funcionalidade de um pacote instalado de um .deb? (se a solução não for auto-evidente na resposta 1)

Exemplo:

Eu faço o download e descompacto de compilações diárias de sublime-text-2 para /home/tom/bin/sublime-text-2 . Eu criei um arquivo * .desktop com atalhos apropriados, etc. Mas o ícone para sublime não pode ser exibido em nenhum inicializador, mesmo se eu fornecer um nome de caminho completo para a opção. A solução é instalar uma instância 2nd do sublime de um pacote deb.

Quando eu instalo sublime-text-2 a partir de um pacote .deb, ele é instalado em /usr/bin && /usr/lib , o arquivo .desktop é armazenado em /usr/share/applications e a linha relevante é: icon=sublime_text .

Onde está a ligação que estou perdendo? De alguma forma, o Ubuntu sabe como obter o ícone de sublime_text no último, mas não no primeiro (novamente, mesmo com um caminho completo fornecido).

    
por Tom 25.06.2011 / 18:16

1 resposta

3

Acho que você está tendo vários problemas de uma só vez com as instalações de origem.

update-alternatives não permitirá que você defina qualquer programa como um aplicativo preferido para um determinado nome. O programa terá que ser registrado primeiro com a opção --install . Por exemplo:

sudo update-alternatives --set editor /home/peter/bin/foo
update-alternatives: error: alternative /home/peter/bin/foo for editor not registered, not setting.

Se você quiser ver como o registro é feito, verifique por exemplo /var/lib/dpkg/info/nano.postinst .

Note, no entanto, que seria bastante falso definir uma alternativa para todo o sistema que aponte para o diretório pessoal de algum usuário. Geralmente, há variáveis de ambiente ou outras configurações para definir uma preferência apenas para um usuário.

O problema com o arquivo da área de trabalho é provavelmente completamente separado, mas você precisará fornecer mais detalhes sobre exatamente quais caminhos você usou.

Em geral, a instalação de um aplicativo a partir do código-fonte pode ser bem difícil de se integrar bem com o restante do sistema, dependendo do aplicativo específico.

    
por Peter Eisentraut 29.06.2011 / 08:15