Solución rápida: dado que ya tiene el $PATHconjunto correcto en su entorno (a través de las /etc/profilemodificaciones) 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 PATHvariable en el entorno de tlmgrejecución, por lo que se ejecuta con el valor $PATHque 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 .bashrcarchivo 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