(G) VIM использует другую $ PATH, чем моя система

Поскольку Ubuntu не предоставляет обновленные пакеты для TeXLive, я установил его вручную. Однако некоторые программы нуждаются в TeXLive в качестве зависимости. Так что я сделал, я установил пакет TeXLive из репозиториев Ubuntu поверх этого, что является версией 2009 года. Затем я изменил свой $ PATH, чтобы он содержал установленную вручную версию 2011 года, поэтому программы все еще всегда указывают и используют самую последнюю версию TeXLive. До сих пор это работало нормально.

Но вот привязка: когда я перешел на VIM для редактирования моих файлов LaTeX, я заметил после слишком большой головной боли, что VIM «видит» только TeXLive2009! Смотрите этот снимок экрана, слева – VIM, справа – терминал:

Версия LaTeX в VIM

Затем я проверил, что использует PATH VIM, и, как оказалось, он использует другой, который НЕ указывает на TeXLive 2011. Смотрите этот скриншот:

Путь в VIM и терминал

VIM:

:! echo $PATH /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 

Терминал:

 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 

У вас есть идея, как это исправить, поэтому мои плагины LaTeX могут использовать TeXLive 2011, возможно, если VIM использует тот же $ PATH? Любая помощь была бы высоко оценена!

2 Solutions collect form web for “(G) VIM использует другую $ PATH, чем моя система”

Похоже, вы изменили $PATH в одном из файлов конфигурации оболочки, но вы запускаете VIM из значка или записи в меню рабочего стола. То, что вы установили в файлах конфигурации оболочки (например, ~/.bashrc или /etc/profile ), влияет только на приложения, запущенные из оболочки .

Как правило, существует два возможных подхода к этой проблеме:

  • local : измените способ запуска VIM.

[редактировать]

  • для пользователя : измените среду своего пользователя в файле ~/.profile .

[/редактировать]

  • global : изменение глобальной среды.

Локальное решение является самым безопасным (поскольку оно затрагивает только одну программу), но поскольку вы уже перепутали систему, установив две параллельные версии программного пакета, я не уверен, что это вас пугает. В любом случае, вы можете это сделать, изменив запись .desktop для VIM в Desktop Environment и изменив связанную команду с чем-то вроде gnome-terminal -c vim на PATH=(yourPathGoesHere) gnome-terminal -c vim .

Глобальный метод заключается в изменении переменной PATH в файле под /etc/env.d/ . Достаточно создать файл /etc/env.d/99-my_path_mod , содержащий PATH=(yourPathGoesHere):$PATH . Для этого вам потребуется перезагрузка, чтобы это входило в силу (ну, перезагрузки можно было бы избежать, переключив уровень инициализации вперед и назад, но это намного проще).

[редактировать]

Решение для каждого пользователя может быть лучшим и, как я вижу сейчас, можно назвать «правильным способом». Как указал Жиль (внизу), файл ~/.profile – это переменные среды для всех ваших сеансов входа в систему.

Где вы изменили PATH вашего пользователя? Обычно я устанавливал это в ~/.profile , где его должен был подхватить ваш менеджер сеансов X (т. Е. В следующем X-входе в систему), а также примениться ко всем приложениям вашего X-сеанса (например, к вашей панели / начать gvim от).

  • Подавление стандартного вывода в vim-latex-suite
  • Vim Error 'E212: невозможно открыть файл для записи' при попытке создания новых файлов вне домашнего каталога
  • Заставить sed запрашивать подтверждение перед каждой заменой?
  • Команды Bash внутри vi
  • Отправка команд на dbx из Vim
  • Сопоставимые определения цвета в файле vimrc
  • Редактирование Live diff-mode в vim
  • vim.googlecode.com Изменение сертификата SSL
  • Изменение числового значения в файле с помощью Vim из сценария
  • Утилита автоматического копирования и вставки для Mac и Vim
  • Отключить или удалить по умолчанию vim keybinding
  • Interesting Posts

    Последствия создания системных учетных записей «useradd -r» Linux Fedora / RHEL / CentOS

    Как вручную скомпилировать ядро ​​Fedora 20

    Даты выпуска для ядра Linux

    Разрешение взаимодействия веб-сервера в брандмауэре Linux

    Не удалось загрузить модуль 'vgui2_s.so'

    Создать каталог для каждой строки в данном текстовом файле?

    OS X Yosemite сертифицирована по SUS – Single Unix Specification 3. Но какой стандарт posix он совместим? последний – 2008 год

    Использование ssh с аутентификацией на основе сертификатов

    Хотите заменить только первое вхождение с sed

    Является ли mkdir -p полностью безопасным при создании папки уже

    Почему сортировки корневых процессов не будут сортироваться при попытке сортировки пользователей на основе количества запущенных процессов?

    Показывать монтируемые btrfs подвыборы?

    Откуда появилась эта копия моего домашнего каталога?

    Почему я продолжаю уничтожать свои текстовые файлы?

    что такое фоновый процесс?

    Linux и Unix - лучшая ОС в мире.