Quels sont les bons endroits pour:
- Des variables d'environnement globales censées affecter tous les utilisateurs?
- Variables d'environnement spécifiques à l'utilisateur?
Quels sont les bons endroits pour:
Je pense que la page wiki de la communauté sur les variables d'environnement vous aidera à faire le tri
Pour ajouter à la réponse de sagarchalise, je peux résumer ce que le lien suggère comme lieux appropriés pour les paramètres.
Pour les paramètres globaux, variables d'environnement à l'échelle du système
/etc/environment
/etc/profile
ou/etc/bash.bashrc
De la page:
L'utilisation
/etc/profile
est un moyen très Unix-y, mais sa fonctionnalité est grandement réduite sous Ubuntu. Il n’existe que de pointer/etc/bash.bashrc
et de recueillir des entrées/etc/profile.d
.Sur mon système, la seule entrée intéressante dans profile.d est
/etc/profile.d/bash_completion.sh
.Pour les paramètres locaux ou par utilisateur
Une version précédente de la page Ubuntu était recommandée
~/.pam_environment
, mais la page suggère actuellement que si cela ne fonctionne pas, vous devez utiliser~/.bash_profile
ou~./bash_login
- Si l'un d'entre eux existe, bash l'exécute au lieu de~/.profile
démarrer bash en tant que shell de connexion. Bash préférera~/.bash_profile
à~/.bash_login
. [...] Ces fichiers n'influenceront pas une session graphique par défaut. "~/.bashrc
- "... peut être le lieu le plus facile pour définir des variables".la source
/etc/environment
et quand? Il ne semble pas fonctionner avec cron, même lors de l'utilisationSHELL=/bin/bash
/etc/environment
aimerJAVA_HOME="/opt/java"
etANT_HOME="/opt/ant"
comment le faireTu as:
qui dans Lucid et Maverick courir
si présent, et si le shell de l'utilisateur est bash:
Pour l’environnement utilisateur, il existe un tableau spécifique au shell qui porte à confusion et s’il est considéré comme un "shell de connexion". Si le shell est bash:
pour sh / dash:
pour zsh, je ne vais même pas essayer de donner un sens à cela .
la source
Comme recommandé sur https://help.ubuntu.com/community/EnvironmentVariables :
Les variables d'environnement globales censées affecter tous les utilisateurs doivent entrer
/etc/environment
.Les variables d'environnement spécifiques à l'utilisateur doivent être définies dans
~/.pam_environment
.Évitez les fichiers profile et rc pour la définition de variables d’environnement sur Ubuntu. Ils m'ont causé plus de maux de tête que ce qu'ils valent.
C'est plus facile à dire qu'à faire cependant;)
Il est possible que vous rencontriez le même problème de configuration que celui qui existait pour moi. Voir la solution de contournement pour la maison cryptée ci-dessous.
Mon
~/.pam_environment
:Pourquoi le chemin statique laide?
${PATH}
ne fonctionnerait pas pour moi. J'ai bricolé mon identifiant plusieurs fois en essayant de le contourner, donc je m'en tiens à la copie statique laide des valeurs par défaut :)Solution de contournement pour les dossiers de départ cryptés
Dans les versions Ubuntu jusqu’à Precise 12.04 Bêta 2 inclus, si vous utilisez un répertoire personnel chiffré, vous devez le modifier
/etc/pam.d/common-session
pour le charger~/.pam_environment
. Cette solution fonctionne apparemment pour les versions précédentes, mais je ne l’ai pas testée.Guenther Montag (g-montag) a écrit le 2010-08-19:
Adapté de ma réponse sur Super User: https://superuser.com/a/408373/66856
la source
${HOME}
ça ne marchera pas non plus. Il n'y a pas d'expansion dans.pam_environment
..pam_environment
, maisHOME
n'est pas réglé si tôt que d'habitude. Si cette ligne avait été lueDEFAULT=${PATH}/Applications/jdk
, vous auriez vu la valeur dePATH
insérée dans celle-ci.