Registrando um aplicativo autônomo no lançador de aplicativos do KDE

Registrando um aplicativo autônomo no lançador de aplicativos do KDE

Primeiro, estou usando o Kubuntu 12.04.

Acabei de baixar e descompactar uma instalação independente de algum software (IDE Phpstorm da Intellij, mas não acho que isso importe). Copiei o diretório descompactado para o meu /optdiretório usando sudo.

Consigo iniciar o script de shell principal a partir da linha de comando sem usá-lo sudoe sem problemas.


Gostaria de executar o aplicativo a partir do meu Application Launcherícone, executei o Edit Applications...aplicativo a partir do ícone do Launcher e adicionei o caminho para o script de shell principal em uma nova entrada ( /opt/PhpStorm-111.344/bin/phpstorm.sh) e salvei-o. Sempre que clico na entrada recém-adicionada, nada acontece, o aplicativo não inicia. Eu tenho vistoesta questão sobre registrar aplicativos no kde, e não acho que isso se aplique a esta situação, pois é isso que o Edit Applications...diálogo deve fazer (eu acho).

Então, o que estou perdendo? Preciso especificar outra maneira de executar o comando na entrada da caixa de diálogo? Isso é um .desktopproblema de arquivo? Algo mais?

Executei o comando /opt/PhpStorm-111.344/bin/phpstorm.shdoALT+F2 correrbox , invocando um terminal. Recebi uma mensagem reclamando que a $JAVA_HOMEvariável não pode ser encontrada.

Agora, eu realmente tenho uma $JAVA_HOMEconfiguração de variável de ambiente em meu .bashrcarquivo e ela pode ser vista em um echo $JAVA_HOMEcomando. Novamente, posso executar o aplicativo sem problemas se simplesmente abrir um terminal e executar o shell script a partir daí, para que a $JAVA_HOMEvariável seja vista nesse contexto. Eu desconectei, entrei novamente e executei source ~/.bashrc, e nenhum dos dois parece ajudar.

Estou pensando agora que é algum tipo de problema de permissão do usuário para a $JAVA_HOMEvariável que está impedindo sua execução.

Alguma sugestão?

Responder1

Dependendo de como o seu gerenciador de display/xsession está configurado, ~/.bashrcpode não ser originado antes de startkdeser chamado, então se é onde você está configurando $JAVA_HOME, nada na sua área de trabalho do KDE poderá vê-lo.

Felizmente, startkdeestá configurado para fonte *.shde todos os diretórios em kde4-config --path lib | tr : '\n' | sed -n -e 's,/lib[^/]*/,/env/,p'. Provavelmente contém ~/.kde4/envalgo semelhante, então se você quiser que uma variável esteja presente em toda a sessão do KDE, basta colocar um script de shell com um exportali.

Responder2

Eu tenho uma solução simples que envolve um script de 2 linhas. Ele simplesmente reexporta a $JAVA_HOMEvariável para o caminho apropriado e, em seguida, invoca o script de shell principal do aplicativo. Reposicionar o Iniciador de Aplicativos do KDE para este novo script inicia o aplicativo conforme esperado.

Ainda não sei por que preciso fazer isso, já que posso ver claramente a $JAVA_HOMEdefinição correta da variável fora do contexto do meu script inventado. Portanto, se alguém puder esclarecer por que isso pode estar ocorrendo, eu ficaria feliz em marcar isso como a resposta apropriada para esta pergunta.

informação relacionada