Aggiungi $ HOME / bin a PATH per un singolo utente in Debian Wheezy con LXDE


8

In Ubuntu, se esiste $ HOME / bin, verrà automaticamente aggiunto a PATH, ma ciò non accade in Debian.

Come posso aggiungerlo permanentemente a PATH per un determinato utente, ma solo per lui, non per tutti gli utenti? Voglio che sia valido anche per i programmi GUI, non solo per il terminale.

Modifica: per chiarire, io uso LXDE, e da un gestore di login, cioè no startx. .bashrcnon funziona per i programmi che avvio al di fuori di un terminale.


Nota: poiché parli in terza persona, esiste la possibilità che l'utente non sia tu. Quindi è considerato maleducato modificare le proprie impostazioni da soli (a meno che non lo abbia chiesto esplicitamente, ovviamente).
fkraiem,

Non ti preoccupare, l'utente sono io.
sashoalm,

Risposte:


8

Si è scoperto che lightdm(il gestore degli accessi che LXDE ora utilizza) non ha origine ~/.profile.

Ciò che ha funzionato per me è stato creare ~/.xsessionrc:

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

Puoi anche aggiungerlo a /etc/X11/Xsession.d/90userbinpathse desideri che tutti gli utenti ne traggano beneficio (ogni utente trarrebbe vantaggio dal proprio percorso) con una configurazione a livello di sistema.


2
Oppure potresti if [ -f $HOME/.profile ]; then source $HOME/.profile; fi
procurarti

1

Puoi provare il profilo / etc /.

nano /etc/profile

Ci saranno due tipi di PATH, il percorso per il root e il percorso per gli utenti normali, non root. Quindi aggiungi semplicemente agli utenti root o normali il / $ HOME / bin sul finale della riga Ctrl+Oe il gioco Ctrl+Xè fatto :). Ricorda che hai bisogno di root per fare questa operazione.

Oppure, puoi andare a casa tua e guardare il .profile lì.

cd /home/YOURUSERNAME
nano .profile

In Debian lo fa anche automaticamente (aggiungi il cestino al percorso). Fai un echo $HOMEper vedere che casa è.


Sarebbe globale per tutti gli utenti, in particolare ho sottolineato "per un singolo utente". Non sarebbe meglio usare ~/.profileinvece?
sashoalm,

@sashoalm, modificato :)
Rafael Campos Nunes

OK, ma .profilenon sembra essere eseguito affatto. È il file corretto da usare? echo $PATHnon mostra le mie modifiche, nemmeno da un terminale. Non ho ~/.bash_profileo ~/.bash_login.
sashoalm,

Prova a uscire dalla sessione e fai nuovamente il login, beh non so se sia il file corretto da usare, ma ogni utente ne ha uno, quindi sarebbe la risposta alla tua domanda ...
Rafael Campos Nunes

Sì, l'ho fatto, ma non sembra essere letto affatto. Ho pubblicato una nuova domanda a riguardo - unix.stackexchange.com/questions/131320/…
sashoalm

-1

Nel tuo file ~ / .bashrc aggiungi la seguente riga:

PATH=$PATH:$HOME/bin

Salvalo e quindi crea il file per renderlo effettivo.

source ~/.bashrc

È possibile verificare quindi eseguendo

echo $PATH

Per eseguire i programmi della GUI dalla finestra di comando Esegui (Alt + F2), creare un nuovo file .xsession vuoto nella directory home e aggiungere queste righe:

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

Salvalo e ricarica la tua sessione LXDE. Ho testato spostando xterm nella directory $ HOME / bin e lo chiamo con Alt + F2 e ho iniziato con successo.


Funzionerà per una sessione X / programmi GUI, non solo per il terminale, giusto?
sashoalm,

Questo funzionerà per entrambi i casi GUI e terminale.
cioby23,

OK, pensavo che i programmi della GUI non ereditassero da .bashrc, a meno che non fossero avviati da un terminale.
sashoalm,

Attenzione, potresti finire per aggiungere $HOME/binpiù volte alla fine di $ PATH in questo modo: unix.stackexchange.com/questions/124444/…
goldilocks

OK, .bashrc non funziona - sembra funzionare solo per i programmi da cui inizio xterm, ma non per i programmi che inizio usando "Alt + F2", cioè da LXDE (il DE che uso). DE utilizza un gestore degli accessi, non startx.
sashoalm,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.