changer / etc / environment n'a pas affecté mes variables d'environnement

10

J'essaie d'installer le système expert Euler en suivant ces instructions . Pour ajouter la variable d'environnement, j'ai modifié mon /etc/environmentpour devenir comme suit:

 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
/home/mohammad/Desktop/eye"
 EYE_HOME = "/home/mohammad/Desktop/eye"

Mais lorsque j'utilise, printenv PATHje ne vois pas le nouveau répertoire ajouté à mon chemin.

Qu'est-ce que je fais mal ici?

Moha le chameau tout-puissant
la source
Ce lien ne fonctionne pas actuellement (SourceForge est en panne), mais pouvez-vous spécifier si vous souhaitez des variables d'environnement à l'échelle du système? Puisqu'il s'agit d'une application, c'est probablement le cas, et donc beaucoup de réponses ci-dessous sont fausses.
Michael Scheper

Réponses:

8

Je ne connais pas la raison pour laquelle PATH n'a pas été modifié (après la reconnexion), mais

EYE_HOME = "/home/mohammad/Desktop/eye"
--------^-^

ces espaces empêchent EYE_HOME d'être défini.

Il convient de noter qu'il /etc/environmentne s'agit pas d'un fichier de script, mais d'une sorte de fichier d'affectation qui est lu par PAM. OTOH ces espaces ne sont pas autorisés dans les fichiers de script comme /etc/profileet ~/.profilenon plus.

Si vous utilisez un fichier de script, vous devez exporter les variables comme indiqué dans la réponse d'Avinash Raj.

Veuillez noter que bien que ~/.bashrcfonctionne si vous démarrez votre programme à partir d'une fenêtre de terminal, il peut ne pas fonctionner si vous le démarrez à partir de l'environnement graphique, car il n'est pas fourni par le gestionnaire d'affichage.

Gunnar Hjalmarsson
la source
@ gunnar-hijalmarsson --- correct. Le fait que le gestionnaire d'affichage ne soit pas démarré à partir de ma coque me mord souvent. J'ai posté une astuce pour voir les variables qui sont définies dans le DE: askubuntu.com/a/356973/16395
Rmano
Belle astuce, @Rmano! Y a- t- il une chance que vous puissiez l'ajouter à help.ubuntu.com/community/EnvironmentVariables ?
Gunnar Hjalmarsson
Merci - je n'en ai jamais édité un et je ne sais pas si j'avais les autorisations. Je vais l'examiner si j'ai le temps, mais sinon, n'hésitez pas à copier / coller ce que vous voulez --- cette page a vraiment besoin d'être mise à jour. Une question: ne tous les gestionnaires d'affichage (lightdm, GDM, KDM) la source ~/.profilemême si mon shell par défaut n'est pas bashmais, par exemple, zsh?
Rmano
Vérifié par moi-même. J'utilise zsh; les applications lancées par le DE voient les variables définies dans ~/.pam_environmentet ~/.profile(NON ~/.zprofile). C'est bon et mauvais, mais la mauvaise partie est résolue en changeant de .profilefaçon à ce qu'elle source mon .zprofileet .zshenv. Et je confirme que l'utilisation .pam_environmentest mauvaise, elle est parfois remplacée (ne devrait pas, mais elle l'est).
Rmano
@Rmano: Je sais que cela ~/.profileprovient de lightdm et gdm; pas sûr de kdm.
Gunnar Hjalmarsson
5
gedit ~/.bashrc

Après cela, ajoutez les lignes ci-dessous,

export EYE_HOME="/home/mohammad/Desktop/eye"
export PATH=$PATH:$EYE_HOME

Enregistrez le fichier et souricez-le,

source ~/.bashrc
Avinash Raj
la source
1
serait-ce une variable à l'échelle du système?
Moha le tout-puissant chameau
1
@AvinashRaj: non seulement ces variables seront réservées à l'utilisateur, mais elles ne seront pas visibles si l'application n'est pas démarrée à partir d'un terminal de ligne de commande ... l'environnement graphique est démarré seul, sans utiliser le shell de l'utilisateur. Voir askubuntu.com/a/356973/16395
Rmano
0

Vous pouvez également essayer ces deux fichiers pour une configuration à l'échelle du système:

  • /etc/profile
  • /etc/bashrc

Pour une configuration à l'échelle de l'utilisateur:

  • $HOME/.profile
  • $HOME/.bashrc

Ajoutez simplement les variables comme vous l'avez fait /etc/environment. Mais vous devrez vous connecter et vous déconnecter (ou exécuter le rechargement approprié). Peut-être que la connexion et la déconnexion /etc/environmentfonctionneraient mais je ne suis pas sûr.

Tinti
la source
-1

Vous souhaitez modifier votre fichier .bashrc dans votre répertoire personnel.

Lorsque vous modifiez le chemin d'accès, vous devez l'inclure :$PATHà la fin afin de ne pas remplacer le chemin d'accès actuel.

Julian Stirling
la source