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.


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.


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.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.