web-dev-qa-db-fra.com

Modification permanente de PATH

J'essaye d'installer Latex, et en tant que partie de cela doit ajouter au $PATH. Quelque chose que j'ai lu (probablement ici) dit que modifier /etc/environment était mieux que d'ajouter à .profile (je pense parce que cela change les choses pour tous les utilisateurs?).

C'est ce que j'ai fait, puis quand je lance . /etc/environment, tout se passe bien pour le reste de la session de terminal. Lorsque j'ouvre un nouveau terminal, les commandes telles que latex ne fonctionnent plus. Le redémarrage de l'ordinateur ne modifie pas non plus les modifications apportées à /etc/environment lors des sessions Shell.

Que puis-je faire pour que ces changements se produisent à l'échelle du système?

PDATE: J'ai fini par installer via le PPA mentionné dans les commentaires, qui a installé Tex Live 2016 (et défini les variables d'environnement) sans aucun problème.

3
Mark

Vous semblez poser deux questions différentes. La première est liée aux variables de changement à l'échelle du système et l'autre, au bon fonctionnement de LaTeX. Voici donc la réponse aux deux:

Modifier les variables d'environnement à l'échelle du système

Comme décrit ici vous pouvez ajouter un fichier sous /etc/profile.d/ qui contient la variable PATH:

export PATH=$PATH:<your particular latex path>

Appelez-le /etc/profile.d/latex-path.sh et sera acheté par n'importe quel shell auquel vous vous connectez.

Si vous souhaitez modifier la variable PATH uniquement pour votre utilisateur, la méthode préférée consiste à modifier le ~/.profile avec la même ligne.

Faites en sorte que LaTeX fonctionne sans tracas

Le paquet LaTeX peut être installé à partir des référentiels d'univers comme décrit ici et il n'est pas nécessaire de changer la variable PATH. Assurez-vous que vous avez activé le référentiel de l'univers et que vous avez entré:

Sudo apt update
Sudo apt install texlive

Ou si vous aimez la distribution complète (cela installera beaucoup plus de paquets alors prenez une tasse de café):

Sudo apt install texlive-full
5
Joaquín Aramendía

/etc/environment est créé et géré par le module pam_envPAM et non par votre shell (vous ne devez donc pas sourcele). Ce fichier est lu par les programmes de connexion classiques. Vous devez donc vous déconnecter/vous connecter de la manière habituelle pour voir les modifications (en supposant que vous ne modifiez pas la PATH de quelque part par la suite).

Sur mon système, il est lu par:

% grep -l '^[^#].*pam_env' /etc/pam.d/* 
/etc/pam.d/atd
/etc/pam.d/cron
/etc/pam.d/lightdm
/etc/pam.d/lightdm-autologin
/etc/pam.d/lightdm-greeter
/etc/pam.d/login
/etc/pam.d/polkit-1
/etc/pam.d/sshd
/etc/pam.d/su
/etc/pam.d/Sudo

Si la valeur déclarée exacte n’est pas définie même après le redémarrage de votre ordinateur:

  • Vous avez peut-être commis une erreur de syntaxe. Notez que la syntaxe de déclaration est la suivante: KEY=VALUE (par ligne). Ainsi, par exemple PATH=/foo/bar:/spam/Egg.

  • Vous écrasez ensuite PATH, par exemple. à partir d'un fichier d'initialisation de session Shell

4
heemayl