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 /opt
diretório usando sudo.
Consigo iniciar o script de shell principal a partir da linha de comando sem usá-lo sudo
e 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 .desktop
problema de arquivo? Algo mais?
Executei o comando /opt/PhpStorm-111.344/bin/phpstorm.sh
doALT+F2
correrbox , invocando um terminal. Recebi uma mensagem reclamando que a $JAVA_HOME
variável não pode ser encontrada.
Agora, eu realmente tenho uma $JAVA_HOME
configuração de variável de ambiente em meu .bashrc
arquivo e ela pode ser vista em um echo $JAVA_HOME
comando. Novamente, posso executar o aplicativo sem problemas se simplesmente abrir um terminal e executar o shell script a partir daí, para que a $JAVA_HOME
variá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_HOME
variável que está impedindo sua execução.
Alguma sugestão?
Responder1
Dependendo de como o seu gerenciador de display/xsession está configurado, ~/.bashrc
pode não ser originado antes de startkde
ser chamado, então se é onde você está configurando $JAVA_HOME
, nada na sua área de trabalho do KDE poderá vê-lo.
Felizmente, startkde
está configurado para fonte *.sh
de todos os diretórios em kde4-config --path lib | tr : '\n' | sed -n -e 's,/lib[^/]*/,/env/,p'
. Provavelmente contém ~/.kde4/env
algo 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 export
ali.
Responder2
Eu tenho uma solução simples que envolve um script de 2 linhas. Ele simplesmente reexporta a $JAVA_HOME
variá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_HOME
definiçã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.