Comme Ubuntu ne fournit aucun package à jour pour TeXLive, je l'ai installé manuellement. Cependant, certains programmes ont besoin de TeXLive comme dépendance. J'ai donc installé le package TeXLive à partir des référentiels Ubuntu en plus de cela, qui est la version 2009. J'ai ensuite changé mon $ PATH pour contenir la version 2011 installée manuellement, donc les programmes pointent toujours vers et utilisent la version la plus récente de TeXLive. Jusqu'à présent, cela a bien fonctionné.
Mais voici le cliché: lorsque je suis passé à VIM pour éditer mes fichiers LaTeX, j'ai remarqué après trop de maux de tête que VIM "ne voit" que TeXLive2009! Voir cette capture d'écran, à gauche est VIM, à droite un terminal:
J'ai ensuite vérifié ce que $ PATH VIM utilise, et il s'avère qu'il en utilise un autre, qui ne pointe PAS vers TeXLive 2011. Voir cette capture d'écran:
VIGUEUR:
:! echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Terminal:
echo $PATH
/usr/local/texlive/2011/bin/x86_64-linux:/usr/local/texlive/2011/bin/x86_64-linux:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Avez-vous une idée de comment résoudre ce problème, afin que mes plugins LaTeX puissent utiliser TeXLive 2011, peut-être en faisant utiliser à VIM le même $ PATH? Toute aide serait grandement appréciée!
Réponses:
Il semble que vous ayez modifié la
$PATH
variable dans l'un de vos fichiers de configuration de shell, mais vous démarrez VIM à partir d'une icône ou d'une entrée de menu du bureau. Les choses que vous définissez dans les fichiers de configuration du shell (comme~/.bashrc
ou/etc/profile
) n'affectent que les applications démarrées à partir du shell .Il existe généralement
deuxtrois approches possibles à ce problème:[Éditer]
~/.profile
.[/Éditer]
La solution locale est la plus sûre (car elle n'affecte qu'un seul programme), mais comme vous avez déjà foiré le système en installant deux versions simultanées d'un progiciel, je ne sais pas si cela vous fera peur. Quoi qu'il en soit, vous pouvez le faire en modifiant l'
.desktop
entrée pour VIM dans votre environnement de bureau et changer la commande associée de quelque chose commegnome-terminal -c vim
enPATH=(yourPathGoesHere) gnome-terminal -c vim
.La méthode globale consiste à modifier la
PATH
variable dans un fichier sous/etc/env.d/
. Il devrait suffire de créer un fichier/etc/env.d/99-my_path_mod
, contenantPATH=(yourPathGoesHere):$PATH
. Vous devrez redémarrer pour que cela prenne effet (Eh bien, le redémarrage pourrait être évité en changeant le niveau d'initialisation d'avant en arrière, mais c'est beaucoup plus facile de cette façon.)[Éditer]
La solution par utilisateur peut être la meilleure et, comme je le vois maintenant, peut être appelée "la bonne façon". Comme l'a souligné Gilles (ci-dessous), le
~/.profile
fichier est l'endroit où les variables d'environnement pour toutes vos sessions de connexion doivent être définies.la source
~/.profile
et jamais dans~/.bashrc
. Faire les choses correctement n'est pas difficile et évitera de futurs problèmes .~/.profile
, donc ma réponse peut être trompeuse. Mais dans quelle partie est-ce incorrect?/etc/profile
sous forme de fichier de configuration shell est techniquement vraie mais trompeuse (c'est un fichier de configuration écrit en shell, pas un fichier de configuration du shell). Ne pas mentionner~/.profile
est une omission majeure, ce qui à lui seul rend votre réponse «non utile»./etc/profile
, c'est ce que je vois tout en haut . Donc, au moins sur mon système (Gentoo), le fichier peut être appelé "fichier de configuration du shell".Où avez-vous changé votre utilisateur
PATH
? Normalement, je définirais cela dans~/.profile
, où il devrait être récupéré par votre gestionnaire de session X (c'est-à-dire lors de la prochaine connexion X) et s'appliquer également à toutes les applications de votre session X (comme votre panneau / bureau à partir duquel vous démarrez gvim) .la source