web-dev-qa-db-fra.com

/ etc / profile vs ~ / .profile

Je lance Ubuntu 12.04.1 LTS. Et je ne peux pas savoir quel est l'ordre/la priorité pour charger les fichiers de profil. Lorsque je démarre le système et que je me connecte à l'aide de l'interface graphique, quel fichier est chargé? Et pourquoi? Et si exécuter login-shell? Sera-ce la même chose? Actuellement, je ne comprends pas pourquoi mon ~/.profile ne se charge pas au démarrage du système, car ici, je vois qu'il devrait:

https://help.ubuntu.com/community/EnvironmentVariables

13
sunprophit

Vous pouvez définir une variable dans chaque fichier:

ORDER=${ORDER}+"/etc/profile"

respectivement

ORDER=${ORDER}+"~/.profile"

et effectuer un

echo ${ORDER}

pour voir, ce qui était impliqué et dans quel ordre. Bien sûr, cela ne vous le dira pas, s'il y avait différents scripts que vous avez manqués.

Donc, si vous voyez une source mentionnée, lisez ce script pour savoir si un script en utilise une autre et incluez-les également.

/etc/bash.bashrc et ~/.bashrc et ~/.bash_login me viennent à l’esprit, ainsi que des éléments de/etc/default.

3
user unknown

Tout dépend de l'utilisateur avec lequel vous essayez de vous connecter. Le fichier global /etc/profile est chargé pour chaque utilisateur, alors que le ~/.profile est chargé uniquement pour l'utilisateur.

~ pointe vers le répertoire de base de l'utilisateur actuel. Donc, si vous le placez dans /home/user-a/.profile et que vous vous connectez en tant que user-a, le fichier global et son fichier spécifique à l'utilisateur sont chargés (dans cet ordre), tandis que si vous vous connectez en tant que user-b sans fichier .profile, il ne charge que le fichier global.

7
gertvdijk

C'est de ma faute. Il y avait [[some_test]] dans mon ~/.profile et il fonctionne bien sous bash, mais je suppose que dash exécute certaines commandes pre_session_creation/post_session_creation au début de la session et dash ne sais pas [[mot-clé. Donc tout avait été chargé mais arrêté à l'erreur.

0
sunprophit

Les deux doivent être chargés et ~/.profile doit être chargé en dernier (ce qui signifie qu'il a la priorité).

0
dobey