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.