Configurando a variável de ambiente path para os lançadores de desktop [duplicados]

3

Eu defini um $PATH personalizado em ~/.bashrc com PATH=$HOME/.bin:$PATH . Quando eu lanço o geany do terminal, ele pode encontrar minhas ferramentas de compilação personalizadas que estão localizadas em $HOME/.bin . Quando eu inicio o Geany com um lançador XFCE, ele não seleciona o caminho personalizado e minhas ferramentas de compilação personalizadas não funcionam. É possível definir um caminho personalizado para que o inicializador o capte? Eu preferiria não ter que criar um arquivo .desktop personalizado.

Enquanto existe um ".bashrc "arquivo equivalente lido por todos os shells? forneceria uma resposta se eu soubesse que shell e como esse shell é iniciado, é usado quando eu uso um atalho para iniciar um programa. Presumivelmente, não é um shell bash interativo ou então .bashrc seria originado.

    
por StrongBad 30.05.2016 / 03:32

2 respostas

2

Cada shell tem uma maneira diferente de acessar variáveis de ambiente (por exemplo, Existe um arquivo equivalente" .bashrc "lido por todos os shells? ). Para programas gráficos que são iniciados por meio do shell subjacente ao gerenciador de exibição, dependendo de como o gerenciador de exibição foi iniciado, as variáveis de ambiente são configuradas em locais diferentes (por exemplo, .xsession ou .xinitrc ).

Para sistemas com o PAM, parece que o pam_env é consistentemente "originado" no login.

Consegui resolver meu problema criando .pam_environment :

PATH DEFAULT=/home/strongbad/.bin

Eu tive que codificar no meu diretório pessoal, apesar da página do manual dizer que:

DEFAULT=${HOME}/bin:

deve funcionar.

Eu também tive que modificar /etc/profile de

PATH="/usr/local/sbin:/usr/local/bin:/usr/bin"

para

PATH="$PATH:/usr/local/sbin:/usr/local/bin:/usr/bin"

desde que /etc/profile foi simplesmente sobrescrevendo o valor definido por .pam_environment .

Para atualizar .pam_environment , você precisa fazer logout / login. Se você estragar $PATH , isso pode dificultar o login. Vale a pena manter-se logado em outro lugar (por exemplo, um TTY) para que você possa consertar as coisas com facilidade.

    
por 30.05.2016 / 18:39
0

Gostaria apenas de anexar o novo caminho de exportação ao lançador diretamente. Por exemplo, mude o comando no lançador para

export "PATH=$HOME/.bin:$PATH" ; geany %F

Você deve poder editar diretamente o arquivo do iniciador para o Geany em "/usr/share/applications/geany.desktop", o que teria um efeito mais amplo para o lançador de aplicativos.

Se você quiser que todos os usuários do sistema tenham um "$ HOME / .bin" local em sua variável de caminho, você poderá adicioná-lo ao seu arquivo "/ etc / environment". Tenha em mente que isso afetará todos os usuários no sistema e você deseja criar esse diretório em todas as pastas de usuários para evitar erros para esses usuários. Incluindo "/ root [/. Bin]".

    
por 30.05.2016 / 10:20