(G) VIM usa un $ PATH diferente que mi sistema

8

Debido a que Ubuntu no proporciona paquetes actualizados para TeXLive, lo instalé manualmente. Sin embargo, algunos programas necesitan TeXLive como dependencia. Entonces, lo que hice fue instalar el paquete TeXLive desde los repositorios de Ubuntu, que es la versión 2009. Luego cambié mi $ PATH para que contenga la versión 2011 instalada manualmente, por lo que los programas todavía siempre apuntan y usan la versión más reciente de TeXLive. Hasta ahora esto funcionó bien.

Pero aquí está el complemento: cuando cambié a VIM para editar mis archivos LaTeX, ¡noté después de un dolor de cabeza que VIM "ve" solo TeXLive2009! Ver esta captura de pantalla, izquierda es VIM, derecha un terminal:

Versión LaTeX en VIM

Luego verifiqué qué $ PATH VIM está usando, y resulta que está usando uno diferente, que NO apunta a TeXLive 2011. Ver esta captura de pantalla:

Ruta en VIM y Terminal

EMPUJE:

:! 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

¿Tiene alguna idea de cómo solucionar esto, por lo que mis complementos de LaTeX pueden usar TeXLive 2011, tal vez haciendo que VIM use el mismo $ PATH? Cualquier ayuda sería muy apreciada!

Ingo
fuente
44
¿Dónde cambiaste tu RUTA?
enzotib

Respuestas:

5

Parece que ha cambiado la $PATHvariable en uno de sus archivos de configuración de shell, pero inicia VIM desde un icono o entrada de menú de escritorio. Lo que establece en los archivos de configuración de shell (como ~/.bashrco /etc/profile) afecta solo a las aplicaciones iniciadas desde shell .

Generalmente hay dos posibles tres enfoques para este problema:

  • local : cambia la forma en que se inicia VIM.

[editar]

  • por usuario : modifique el entorno de su usuario en ~/.profile.

[/editar]

  • global : modifica el entorno global.

La solución local es la más segura (ya que afecta solo a un programa), pero como ya ha estropeado el sistema al instalar dos versiones simultáneas de un paquete de software, no estoy seguro de si esto lo asustará. De todos modos, se puede hacer que modificando la .desktopentrada para VIM en su entorno de escritorio y cambiar el comando asociado a algo así como gnome-terminal -c vima PATH=(yourPathGoesHere) gnome-terminal -c vim.

El método global es modificar la PATHvariable en un archivo bajo /etc/env.d/. Debería ser suficiente para crear un archivo que /etc/env.d/99-my_path_modcontenga PATH=(yourPathGoesHere):$PATH. Tendrá que reiniciar para que esto surta efecto (Bueno, el reinicio podría evitarse cambiando el nivel de inicio y retroceso, pero es mucho más fácil de esa manera).

[editar]

La solución por usuario podría ser la mejor y, como la veo ahora, puede llamarse "la forma correcta". Como señaló Gilles (a continuación), el ~/.profilearchivo es donde deben configurarse las variables de entorno para todas sus sesiones de inicio de sesión.

rozcietrzewiacz
fuente
Gracias, siguiendo su solución, lo más fácil es llamar a gvim desde un terminal. Eso funciona bien!
Ingo
Esta respuesta es engañosa y parcialmente incorrecta. No hay necesidad de cambiar nada a nivel del sistema; en cambio, @Ingo, la solución simple es establecer variables de entorno en~/.profile y nunca en ~/.bashrc. Hacer las cosas correctamente no es difícil y evitará futuros problemas .
Gilles 'SO- deja de ser malvado'
@Gilles Admito que no me di cuenta del papel principal ~/.profile, por lo que mi respuesta puede ser engañosa. ¿Pero en qué parte es incorrecto?
rozcietrzewiacz
Ok, técnicamente creo que lo único incorrecto es "generalmente dos enfoques posibles": hay un tercer enfoque que es común y preferible. Presentarse /etc/profilecomo un archivo de configuración de shell es técnicamente cierto pero engañoso (es un archivo de configuración escrito en shell, no un archivo de configuración del shell). Sin mencionar ~/.profilees una omisión importante, que solo hace que su respuesta "no sea útil".
Gilles 'SO- deja de ser malvado'
Cuando abro mi /etc/profile, esto es lo que veo en la parte superior . Entonces, al menos en mi sistema (Gentoo), el archivo se puede llamar "archivo de configuración del shell".
rozcietrzewiacz
2

¿Dónde cambiaste tu usuario PATH? Normalmente, lo establecería en ~/.profile, donde debería ser recogido por su administrador de sesión X (es decir, en el próximo inicio de sesión X) y también se aplicaría a todas las aplicaciones en su sesión X (como su panel / escritorio desde donde inicia gvim) .

patrikf
fuente