.profile non proviene da Debian Wheezy LXDE


11

Aggiungo $HOME/bina $PATHda ~/.profile. Tuttavia, sembra che non provenga durante l'accesso. Uso un gestore degli accessi - lxdmpenso, e non startx. So che conta su quali script vengono eseguiti.

Per illustrare, vedere come $HOME/binviene aggiunto dopo che ho esplicitamente fonte ~/.profile. Ma non avrebbe dovuto provenire durante l'accesso grafico?

sashoalm@aspire:~$ echo $PATH 
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
sashoalm@aspire:~$ source ~/.profile 
sashoalm@aspire:~$ echo $PATH 
/home/sashoalm/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
sashoalm@aspire:~$ 

Hai provato ad aggiungerlo a / etc / profile?
MariusMatutiae,

3
Non voglio che sia globale per tutti gli utenti, solo per un singolo utente.
sashoalm,

Risposte:


13

Ma non avrebbe dovuto provenire durante l'accesso grafico?

C'è un piccolo dibattito su quello su cui alcuni accessi grafici assumono una posizione insolita ...

Aggiungo $ HOME / bin a $ PATH da ~ / .profile. Tuttavia, sembra che non provenga durante l'accesso. Uso un gestore degli accessi - credo lxdm

Corretta. La maggior parte dei DM leggono ~/.profilequando effettui il login. Tuttavia, devono farlo esplicitamente, poiché ~/.profileè tradizionalmente proveniente da shell di login e un DM (login GUI) non è una shell!

Qual è la giustificazione che ho visto dalla lightdmgente per non aver fatto un approvvigionamento ~/.profileesplicito, perché un DM non è una shell.

Puoi ~/.profileprocurarti da ~/.xsession- vedi qui .


2
Sourcing ~/.profileda ~/.xsessionprobabilmente funzionato quando questa risposta è stato scritto, ma non sembra funzionare più. L'ho fatto funzionare acquistandolo ~/.xsessionrcinvece.
Filip S.

2

Se bash è la shell di accesso, allora proverà ~/.bash_profile, ~/.bash_logine ~/.profilein questo ordine. Sarà tuttavia fermarsi al primo che trova.

Se il tuo ~/.profilenon è di provenienza, significa che hai una delle altre due (possibilmente entrambe) nella tua HOMEdirectory. Dovresti controllare quale, quindi inserire la nuova PATHistruzione nella prima.


3
Anche se questo è un possibile motivo, quei file non esistevano nel mio sistema (avevo controllato anche prima di chiedere).
sashoalm,

2

Concordo con @goldilocks per lo più. Voglio solo aggiungere che lo script alla fonte ~/.profileè ~/.xsessionrc, invece di ~/.xsession.

Ecco la logica:

qxu@debian:/etc/X11/Xsession.d$ cat 40x11-common_xsessionrc
# This file is sourced by Xsession(5), not executed.

#Source user defined xsessionrc (locales and other environment variables)
if [ -r "$USERXSESSIONRC" ]; then
  . "$USERXSESSIONRC"
fi

qxu@debian:/etc/X11$ grep USERXSESSIONRC Xsession
USERXSESSIONRC=$HOME/.xsessionrc

1

Quando Bash viene richiamato come shell di login interattiva o come shell non interattiva con l' --loginopzione, legge innanzitutto ed esegue i comandi dal file /etc/profile, se quel file esiste. Dopo aver letto il file, si cerca ~/.bash_profile, ~/.bash_logine ~/.profile, in questo ordine, e legge ed esegue i comandi dal primo che esiste ed è leggibile.

Quindi, quando ~/.bash_profileesiste, ~/.profilenon verrà mai letto.


4
Sì, ma non esiste nel mio caso.
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.