.profile ne provient pas de Debian Wheezy LXDE


11

J'ajoute $HOME/binà $PATHpartir de ~/.profile. Cependant, il semble qu'il ne provienne pas de la connexion. J'utilise un gestionnaire de connexion - lxdmje pense, et non startx. Je sais que cela compte pour savoir quels scripts sont exécutés.

Pour illustrer, voyez comment le $HOME/binest ajouté après avoir explicitement source ~/.profile. Mais n'aurait-il pas dû provenir de la connexion graphique?

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:~$ 

Avez-vous essayé de l'ajouter à / etc / profile?
MariusMatutiae

3
Je ne veux pas que ce soit global pour tous les utilisateurs, juste pour un seul utilisateur.
sashoalm

Réponses:


13

Mais n'aurait-il pas dû provenir de la connexion graphique?

Il y a un petit débat à ce sujet sur lequel certaines connexions graphiques prennent une position inhabituelle ...

J'ajoute $ HOME / bin à $ PATH à partir de ~ / .profile. Cependant, il semble qu'il ne provienne pas de la connexion. J'utilise un gestionnaire de connexion - lxdm je pense

Correct. La plupart des DM lisent ~/.profilelorsque vous vous connectez. Cependant, ils doivent le faire explicitement, car ils ~/.profilesont traditionnellement fournis par des shells de connexion et un DM (connexion GUI) n'est pas un shell!

C'est la justification que j'ai vue des lightdmgens pour ne pas s'approvisionner ~/.profileexplicitement - parce qu'un DM n'est pas un shell.

Vous pouvez ~/.profilevous approvisionner ~/.xsession- voir ici .


2
Approvisionnement ~/.profilede ~/.xsessionprobablement travaillé quand cette réponse a été écrit, mais il ne semble pas fonctionner plus. Je l'ai fait fonctionner à la ~/.xsessionrcplace.
Filip S.

2

Si bash est votre shell de connexion, il essaiera ~/.bash_profile, ~/.bash_loginet ~/.profiledans cet ordre. Il s'arrêtera cependant au premier qu'il trouve.

Si votre ~/.profilen'est pas d'origine, cela signifie que vous avez l'un des deux autres (éventuellement les deux) dans votre HOMErépertoire. Vous devez vérifier laquelle, puis placer la nouvelle PATHinstruction dans la première.


3
Bien que ce soit une raison possible, ces fichiers n'existaient pas dans mon système (j'avais vérifié avant même de demander).
sashoalm

2

D'accord avec @goldilocks principalement. Je veux juste ajouter que le script à la source ~/.profileest ~/.xsessionrc, au lieu de ~/.xsession.

Voici la justification:

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

Lorsque Bash est invoqué en tant que shell de connexion interactif ou en tant que shell non interactif avec l' --loginoption, il lit et exécute d'abord les commandes du fichier /etc/profile, si ce fichier existe. Après avoir lu ce fichier, il recherche ~/.bash_profile, ~/.bash_loginet ~/.profile, dans cet ordre, et lit et exécute les commandes de la première qui existe et est lisible.

Ainsi, lorsqu'il ~/.bash_profileexiste, ~/.profileil ne sera jamais lu.


4
Oui, mais cela n'existe pas dans mon cas.
sashoalm
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.