Solución rápida: dado que ya tiene el $PATH
conjunto correcto en su entorno (a través de las /etc/profile
modificaciones) puede usar:
sudo env PATH="$PATH" tlmgr
Básicamente, sudo restablece el valor de
$PATH
(todo el entorno, de hecho) a un "bien conocido", y por lo tanto ignora cualquier cambio que haya realizado en su entorno local. El
comando env anterior establece la PATH
variable en el entorno de tlmgr
ejecución, por lo que se ejecuta con el valor $PATH
que especifique en la línea de comando.
Para evitar escribir todo eso para cada comando TeXlive, puede definir un
alias en su shell: agregue la siguiente línea al .bashrc
archivo en su hogar:
alias psudo='sudo env PATH="$PATH"'
y luego simplemente puede emitir esto en un símbolo del sistema:
psudo tlmgr
Además, sudo no ejecuta un shell de inicio de sesión para ejecutar el comando, razón por la cual sus trucos "profile.d" no funcionaron para root. Puede forzar a
sudo a ejecutar un comando en un shell, que es una forma alternativa de lograr el mismo efecto:
sudo sh -l -c tlmgr
De nuevo, puede definir un alias de comando de shell para acortar esto:
alias shsudo='sudo sh -l -c'
que se puede usar como:
shsudo tlmgr