Qual é a definição do Ubuntu de um "aplicativo registrado"?


11

Eu já me deparei com isso algumas vezes ao instalar aplicativos da fonte e durante o hack ocasional update-alternatives. Até agora, houve apenas um pequeno aborrecimento (isto é, não atrapalhou o objetivo final), mas agora é uma frustração, pois aponta para um buraco na minha base de conhecimento ... então, quando recebo uma mensagem que ' foo 'não é um aplicativo registrado (ou 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 modo que compacte a mesma funcionalidade que um pacote instalado a partir de um .deb? (se a solução não for evidente pela resposta 1)

Exemplo:

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

Quando eu instalar sublime-text-2 a partir de um pacote .deb, ele instala sob /usr/bin && /usr/libo instalado .desktop arquivo é armazenado sob /usr/share/applications, e a linha relevante lê: icon=sublime_text.

Onde está o elo que estou perdendo? De alguma forma, o Ubuntu sabe como solicitar o ícone sublime_textno último, mas não no primeiro (novamente, mesmo com um caminho completo fornecido).


Onde na sua pasta pessoal você está colocando este iniciador?
Isaiah

Além disso, quando você recebe a mensagem: "foo não é um aplicativo registrado"?
Isaiah

@DoR: meu sublime * .desktop está abaixo /.local/share/applications. O lugar mais notável em que me lembro da mensagem "aplicativo registrado" foi ao tentar inserir uma versão compilada a partir do código-fonte do vim na update-alternativeslista para que ela surgisse em vez da instalação "padrão". Útil? Acho que o que estou procurando é o mecanismo que fornece ao Ubuntu o conhecimento de onde encontrar (por exemplo) o ícone correto para o aplicativo A - como acontece com os arquivos * .desktop em /usr/share/applications/.
Tom

Se você definir o valor do "ícone" em seu ~/.local/share/applicationslançador para apenas sublime_text( não o caminho completo, é que isso funciona?
Isaías

Respostas:


3

Eu acho que você está tendo vários problemas ao mesmo tempo nas instalações de origem.

update-alternativesnão permitirá que você defina qualquer programa como um aplicativo preferido para um determinado nome. O programa deverá ser registrado primeiro com a --installopção 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.

Observe, no entanto, que seria bastante falso definir uma alternativa para todo o sistema que aponte para o diretório inicial de algum usuário. Geralmente, existem variáveis ​​de ambiente ou outras configurações para definir uma preferência para apenas 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 da fonte pode ser bastante difícil de se integrar bem ao restante do sistema, dependendo do aplicativo em particular.


Peter: Sim, acho que você acertou em cheio ... e, refletindo, corrigir meu pensamento é a resposta. Estou usando o sistema em um laptop - apenas em um laptop que uso, entrei etc. E, claro, o UNIX é um sistema operacional multiusuário e define a instalação do programa como tal. A coisa do ícone é trivial e acredito uma peculiaridade. Encontrei um arquivo de ícone separado nas minhas sublime-text postinstverificações, como você sugeriu, para que agora eu possa apontar a instalação alternativa (dentro do meu $ HOME) para um arquivo específico, em vez de deixá-lo buscar automaticamente o executável. Estou marcando isso como fechado / resolvido, pois acredito que tenho o que preciso agora.
Tom

Como o registramos --install?
fiatjaf 02/09
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.