He instalado TeX Live 2011 vanilla y tengo problemas para configurar la ruta de TeX Live para root (en Ubuntu 11.10).
El problema es que cuando corro sudo tlmgr
me sale:
sudo: tlmgr: command not found
Para arreglar la ruta para no root, fue suficiente agregar
PATH=/usr/local/texlive/2011/bin/x86_64-linux:$PATH
a /etc/profile
.
Intenté agregar esta misma línea /root/.bashrc
y también traté de agregarla a Me /etc/profile.d/zzz-texlive.sh
gusta como sugiere Herbert en /tex/26624/tlmgr-inaccessible/26626#26626 pero no ayuda.
Respuestas:
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: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 laPATH
variable en el entorno detlmgr
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:y luego simplemente puede emitir esto en un símbolo del sistema:
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:
De nuevo, puede definir un alias de comando de shell para acortar esto:
que se puede usar como:
fuente
$PATH
mi entorno? Además, ¿tengo que hacerenv
para cada comando en la ruta de TeX Live que deseo habilitarsudo
? Hay muchos binarios en / usr / local / texlive / 2011 / bin / x86_64-linux que es posible que desee ejecutar como root.Si agrega los enlaces simbólicos, no necesitará crear un script. Puedes hacer esto de dos maneras:
Usando la GUI:
sudo env PATH="$PATH" tlmgr --gui
.Usando la línea de comando (no probado, ya que usé la GUI):
sudo env PATH="$PATH" tlmgr path add
. (encuentre más información en la documentación de tlmgr )fuente
Lo que funcionó para mí: comencé
tlmgr
en modo gui cony luego, en el tercer menú, elegí el último elemento, pero uno (en mi menú alemán, que es el menú "Aktionen" (acciones?) y el elemento "Verwaltung der symbolischen Links" (¿administración de enlaces simbólicos?). hizo clic en el botón "Symbolische Links erneuern" (¿renovar enlaces simbólicos?). Ahora
Funciona sin problemas. Estoy seguro de que también hay una forma de línea de comando para hacerlo;)
fuente
Para pasar el usuario
$PATH
al archivosudo
modificado/etc/sudoers
, use elvisudo
comando y agregue la siguiente línea:Ahora puedo ejecutar (por ejemplo)
o
Y todo funciona perfecto.
Agradecería mucho cualquier comentario sobre este enfoque.
fuente
Realmente no tiene que agregar el directorio de
tlmgr
a la ruta. Se está utilizando una solución rápida simplewhich
, por ejemplo:fuente
No es una buena práctica instalar y administrar TeX Live usando privilegios de "root". En su lugar, cree el
/usr/local/texlive
directorio, por ejemplo, usando sudo, y luego cambie la propiedad al usuario que administrará TeX Live. Después de eso, TeX Live se puede instalar y actualizar sin usar privilegios "root".fuente