Agregue $ HOME / bin a PATH para un solo usuario en Debian Wheezy con LXDE

8

En Ubuntu, si existe $ HOME / bin, se agregará automáticamente a PATH, pero esto no sucede en Debian.

¿Cómo lo agrego permanentemente a PATH para un usuario determinado, pero solo para él, no para todos los usuarios? Quiero que sea válido para los programas GUI también, no solo para el terminal.

Editar: para aclarar, uso LXDE, y desde un administrador de inicio de sesión, es decir, no startx. .bashrcno funciona para programas que inicio fuera de una terminal.

Sashoalm
fuente
Nota: Dado que usted habla en tercera persona, existe la posibilidad de que el usuario no sea usted. Entonces se considera grosero modificar su configuración usted mismo (a menos que él lo solicite explícitamente, por supuesto).
fkraiem
No te preocupes, el usuario soy yo.
sashoalm

Respuestas:

8

Resultó que lightdm(el administrador de inicio de sesión que LXDE ahora usa) no tiene fuente ~/.profile.

Lo que funcionó para mí fue crear ~/.xsessionrc:

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

También puede agregar esto /etc/X11/Xsession.d/90userbinpathsi desea que todos los usuarios se beneficien de esto (cada usuario se beneficiaría de su propia ruta) con una configuración de todo el sistema.

Sashoalm
fuente
2
O puede obtener todo el archivo .profile (que podría hacer algo más que establecer $ PATH):if [ -f $HOME/.profile ]; then source $HOME/.profile; fi
basic6
1

Puedes probar el / etc / profile.

nano /etc/profile

Habrá dos tipos de PATH, la ruta para la raíz y la ruta para usuarios normales, no root. Así que acaba de añadir a los usuarios root o normales, el / $ HOME / bin en la final de la línea Ctrl+Oy Ctrl+Xy hay que ir :). Recuerde que necesita root para hacer esta operación.

O bien, puede ir a su casa y ver el perfil allí.

cd /home/YOURUSERNAME
nano .profile

En debian también lo hace automáticamente (agregue el bin a la ruta). Haga un echo $HOMEpara ver qué es el hogar.

Rafael Campos Nunes
fuente
Eso sería global para todos los usuarios, señalé específicamente "para un solo usuario". ¿No sería mejor usarlo ~/.profileen su lugar?
sashoalm
@sashoalm, editado :)
Rafael Campos Nunes
OK, pero .profileparece que no se ejecuta en absoluto. ¿Es el archivo correcto para usar? echo $PATHno muestra mis cambios, incluso desde una terminal. No tengo ~/.bash_profileo ~/.bash_login.
sashoalm
Intente salir de su sesión y vuelva a iniciar sesión, bueno, no sé si es el archivo correcto para usar, pero cada usuario tiene uno, por lo que sería la respuesta a su pregunta ...
Rafael Campos Nunes
Sí, lo hice, pero parece que no se lee en absoluto. Publiqué
sashoalm
-1

En su archivo ~ / .bashrc agregue la siguiente línea:

PATH=$PATH:$HOME/bin

Guárdelo y luego obtenga el archivo para que surta efecto.

source ~/.bashrc

Puede verificar entonces ejecutando

echo $PATH

Para ejecutar programas GUI desde la ventana de comando Ejecutar (Alt + F2), cree un nuevo archivo .xsession vacío en su directorio de inicio y agregue estas líneas:

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

Guárdelo y vuelva a cargar su sesión de LXDE. Lo probé moviendo xterm en el directorio $ HOME / bin y lo llamé con Alt + F2 y comencé con éxito.

cioby23
fuente
Esto funcionará para una sesión X / programas GUI, no solo para terminal, ¿verdad?
sashoalm
Esto funcionará para ambos casos GUI y terminal.
cioby23
OK, pensé que los programas GUI no heredan de .bashrc, a menos que se inicien desde una terminal.
sashoalm
Tenga en cuenta que podría terminar agregando $HOME/binal final de $ PATH varias veces de esta manera: unix.stackexchange.com/questions/124444/…
goldilocks
OK, .bashrc no funciona, parece funcionar solo para los programas desde los que comienzo xterm, pero no para los programas que empiezo a usar "Alt + F2", es decir, desde LXDE (el DE que uso). El DE utiliza un administrador de inicio de sesión, no startx.
sashoalm