Adicione $ HOME / bin ao PATH para um único usuário no Debian Wheezy com o LXDE

8

No Ubuntu, se $ HOME / bin existir, ele será adicionado automaticamente ao PATH, mas isso não acontece no Debian.

Como o adiciono permanentemente ao PATH para um determinado usuário, mas apenas para ele, não para todos os usuários? Quero que seja válido também para programas GUI, não apenas para o terminal.

Editar: para esclarecer, eu uso o LXDE e de um gerenciador de login, ou seja, não startx. .bashrcnão funciona para programas iniciados fora de um terminal.

sashoalm
fonte
Nota: Como você fala na terceira pessoa, existe a possibilidade de o usuário não ser você. Então é considerado rude modificar suas configurações você mesmo (a menos que ele tenha solicitado explicitamente, é claro).
Fkraiem
Não se preocupe, o usuário sou eu.
Sashoalm 21/05

Respostas:

8

Aconteceu que lightdm(o gerenciador de login que o LXDE agora usa) não é fonte ~/.profile.

O que funcionou para mim foi criar ~/.xsessionrc:

if [ -d $HOME/bin ]; then
    export PATH="$HOME/bin:$PATH"
fi

Você também pode adicionar isso /etc/X11/Xsession.d/90userbinpathse desejar que todos os usuários se beneficiem disso (cada usuário se beneficiaria com seu próprio caminho) com uma configuração em todo o sistema.

sashoalm
fonte
2
Ou você poderia fonte de todo o arquivo .profile (que pode fazer mais do que apenas set $ PATH):if [ -f $HOME/.profile ]; then source $HOME/.profile; fi
basic6
1

Você pode tentar o / etc / profile.

nano /etc/profile

Haverá dois tipos de PATH, o caminho para a raiz e o caminho para usuários normais, não raiz. Então você apenas adiciona aos usuários root ou normais o / $ HOME / bin na final da linha Ctrl+Oe Ctrl+Xpronto :): Lembre-se de que você precisa do root para fazer esta operação.

Ou você pode ir para sua casa e ver o perfil. Lá.

cd /home/YOURUSERNAME
nano .profile

No debian, ele também faz isso automaticamente (adicione a lixeira no caminho). Faça um echo $HOMEpara ver qual é o lar.

Rafael Campos Nunes
fonte
Isso seria global para todos os usuários, apontei especificamente "para um único usuário". Não seria melhor usá-lo ~/.profile?
Sashoalm 21/05
@sashoalm, editado :)
Rafael Campos Nunes
OK, mas .profilenão parece ser executado. É o arquivo correto para usar? echo $PATHnão mostra minhas alterações, mesmo de um terminal. Eu não tenho ~/.bash_profileou ~/.bash_login.
Sashoalm 21/05
Tente sair da sessão e faça um login novamente, bem, não sei se é o arquivo correto para usar, mas todo usuário tem um, por isso seria a resposta para sua pergunta ...
Rafael Campos Nunes
Sim, eu fiz isso, mas não parece ser lido. Eu postei uma nova pergunta sobre isso - unix.stackexchange.com/questions/131320/…
sashoalm
-1

No seu arquivo ~ / .bashrc, adicione a seguinte linha:

PATH=$PATH:$HOME/bin

Salve-o e depois crie o arquivo para entrar em vigor.

source ~/.bashrc

Você pode verificar então executando

echo $PATH

Para executar programas GUI na janela de comando Executar (Alt + F2), crie um novo arquivo .xsession vazio no diretório inicial e adicione estas linhas:

#!/bin/bash -l
PATH=$PATH:$HOME/bin

Salve-o e recarregue sua sessão do LXDE. Eu testei movendo o xterm no diretório $ HOME / bin e chame-o com Alt + F2 e iniciei com êxito.

cioby23
fonte
Isso funcionará para uma sessão X / programas GUI, não apenas para terminal, certo?
Sashoalm 21/05
Isso funcionará para ambos os casos, GUI e terminal.
cioby23
OK, pensei que os programas GUI não herdam do .bashrc, a menos que sejam iniciados a partir de um terminal.
Sashoalm
Cuidado você pode acabar adicionando $HOME/binao final do $ PATH várias vezes desta maneira: unix.stackexchange.com/questions/124444/...
Goldilocks
OK, o .bashrc não funciona - parece funcionar apenas nos programas em que inicio xterm, mas não nos programas que começo a usar "Alt + F2", ou seja, no LXDE (o DE que eu uso). O DE usa um gerenciador de login, não startx.
Sashoalm