Solution rapide: puisque vous avez déjà le bon $PATH
ensemble dans votre environnement (via les /etc/profile
modifications), vous pouvez utiliser:
sudo env PATH="$PATH" tlmgr
Fondamentalement, sudo réinitialise la valeur de
$PATH
(l'ensemble de l'environnement, en effet) à un "bien connu", et ignore ainsi toutes les modifications que vous avez apportées à votre environnement local. La
commande env ci-dessus définit la PATH
variable dans l'environnement de l' tlmgr
exécution, de sorte qu'elle s'exécute avec la valeur que $PATH
vous spécifiez sur la ligne de commande.
Pour éviter de taper tout cela pour chaque commande TeXlive, vous pouvez définir un
alias dans votre shell: ajoutez la ligne suivante au .bashrc
fichier de votre home:
alias psudo='sudo env PATH="$PATH"'
puis vous pouvez simplement émettre ceci à une invite de commande:
psudo tlmgr
De plus, sudo n'exécute pas de shell de connexion pour exécuter la commande, c'est pourquoi vos astuces "profile.d" n'ont pas fonctionné pour root. Vous pouvez forcer
sudo à exécuter une commande dans un shell, ce qui est une autre façon d'obtenir le même effet:
sudo sh -l -c tlmgr
Encore une fois, vous pouvez définir un alias de commande shell pour raccourcir ceci:
alias shsudo='sudo sh -l -c'
qui peut être utilisé comme:
shsudo tlmgr