3 votes

Rendre les changements de PATH permanents

J'essaie de mettre en place Latex, et dans le cadre de cette mise en place, j'ai besoin d'ajouter à la base de données de la $PATH . Quelque chose que j'ai lu (probablement ici) disait que modifier /etc/environment était mieux que d'ajouter à .profile (Je pense que c'est parce que cela change les choses pour tous les utilisateurs ?)

J'ai fait ça, et puis quand je lance . /etc/environment Pour le reste de la session du terminal, tout fonctionne bien. Cependant, lorsque j'ouvre un nouveau terminal, les commandes telles que latex ne travaillent plus. Le redémarrage de l'ordinateur ne permet pas non plus d'effectuer les changements sur le serveur. /etc/environment être effective à travers les sessions Shell.

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

UPDATE : 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 problème.

5voto

Vous semblez poser deux questions différentes. La première concerne la modification des variables à l'échelle du système et l'autre concerne le fonctionnement de LaTeX ; voici donc la réponse aux deux :

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

En décrit ici vous pouvez ajouter un fichier sous /etc/profile.d/ qui a le PATH dans celui-ci :

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

Appelez-le /etc/profile.d/latex-path.sh et sera sourcé par tout Shell auquel vous vous connectez.

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

Faites fonctionner LaTeX sans souci

Le paquet LaTeX peut être installé à partir des dépôts d'univers comme décrit ici et il n'est pas nécessaire de modifier le PATH variable. Assurez-vous que vous avez activé le dépôt et l'entrée de l'univers :

sudo apt update
sudo apt install texlive

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

sudo apt install texlive-full

4voto

heemayl Points 85741

/etc/environment est créé et maintenu par pam_env module PAM, et non par votre Shell (vous ne devez donc pas source le). Ce fichier est lu par les programmes de connexion typiques. Vous devez donc vous déconnecter/se connecter de la manière habituelle pour voir les changements (en supposant que vous ne modifiez pas le fichier 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

S'il n'est pas réglé sur la valeur exacte déclarée, même après avoir redémarré votre ordinateur :

  • Vous avez peut-être fait une erreur de syntaxe, notez que la syntaxe de déclaration serait la suivante KEY=VALUE (par ligne) donc par exemple PATH=/foo/bar:/spam/egg

  • Vous écrasez le PATH après, par exemple, à partir d'un fichier d'initialisation de session Shell.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X