gmrun parou de procurar o caminho adicionado pelo usuário

2

O gmrun começou a ignorar a variável PATH que defini em ~/.bashrc sem nenhuma razão óbvia. Alguém tem alguma idéia de como eu posso descobrir uma maneira de resolver esse problema chato?

EDITAR

Eu não encontrei a solução, mas acabei mudando para bashrun2 , que faz o que eu preciso para fazer.

    
por qed 30.07.2013 / 15:36

3 respostas

3

gmrun herda a variável $PATH definida pelo pai que a gerou. Assim, você pode tornar a fonte ~/.bashrc iniciando com:

bash -ci 'gmrun'

Isso cria um shell "interativo"; isso tem algumas diferenças para um não -interactive shell, mas funciona perfeitamente com gmrun . Simplesmente ligue o comando acima ao seu atalho.

    
por 09.02.2015 / 01:41
4

the PATH variable I defined in ~/.bashrc

Existe o seu problema aí mesmo. .bashrc é um arquivo de inicialização para shells interativos. O Gmrun não inicia um shell interativo, ele inicia o programa que você diz para iniciar. Portanto, o seu PATH nunca está definido. De fato, para obter a conclusão em gmrun, você precisa que a variável de ambiente PATH seja configurada no ambiente em que você executa o gmrun.

Defina o PATH no lugar certo: ~/.profile . Este arquivo é lido quando sua sessão é iniciada. É aí que você deve definir suas variáveis de ambiente.

Não leia .profile de .bashrc ou vice-versa. Eles têm propósitos completamente diferentes e são usados em diferentes propósitos.

Devido a um capricho do bash, .bashrc não é lido em um shell de login interativo, então você deve escrever um .bash_profile que carregue os outros dois para este caso:

. ~/.profile
case $- in *i*) . ~/.bashrc;; esac

Veja Existe um arquivo equivalente ".bashrc" lido por todos os shells? e os outros posts que eu cito lá para mais detalhes.

    
por 31.07.2013 / 03:02
1

.bashrc é um arquivo de inicialização para instâncias bash interativas não-login , duvido que qualquer configuração já tenha sido levada em conta por gmrun quando não iniciada a partir de uma instância de shell. / p>

Se o seu ambiente de área de trabalho for configurado para que qualquer arquivo de inicialização bash seja considerado, ele deve ser seu .profile ou .bash_profile , e você precisa sair e reiniciar o ambiente de área de trabalho antes que as modificações sejam efetivas pelo meio ambiente.

    
por 30.07.2013 / 15:47