Поскольку Ubuntu не предоставляет современных пакетов для TeXLive, я установил его вручную. Однако некоторые программы нуждаются в TeXLive в качестве зависимости. Итак, я установил пакет TeXLive из репозиториев Ubuntu поверх этой версии 2009 года. Затем я изменил свой $ PATH на версию 2011 года, установленную вручную, поэтому программы по-прежнему всегда указывают и используют самую последнюю версию TeXLive. До сих пор это работало нормально.
Но здесь есть одно мгновение: когда я переключился на VIM для редактирования моих файлов LaTeX, я заметил после слишком большой головной боли, что VIM «видит» только TeXLive2009! Смотрите этот скриншот, слева VIM, справа терминал:
Затем я проверил, что использует $ PATH VIM, и, как выяснилось, он использует другой, который НЕ указывает на TeXLive 2011. Смотрите этот скриншот:
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? Любая помощь будет с благодарностью!
Ответы:
Похоже, вы изменили
$PATH
переменную в одном из ваших файлов конфигурации оболочки, но вы запускаете VIM с помощью значка или пункта меню рабочего стола. То, что вы устанавливаете в файлах конфигурации оболочки (например,~/.bashrc
или/etc/profile
), влияет только на приложения, запущенные из оболочки .Как правило, есть
двавозможных подхода к этой проблеме:[редактировать]
~/.profile
.[/редактировать]
Локальное решение является наиболее безопасным (как это влияет только одна программа), но так как вы уже испортили систему путем установки двух параллельных версий программного пакета, я не уверен , если это будет пугать вас. В любом случае, вы можете сделать это, изменив
.desktop
запись для VIM в вашей среде рабочего стола и изменив соответствующую команду с чего-то вроде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
файле должны быть установлены переменные среды для всех ваших сеансов входа в систему.источник
~/.profile
а не в~/.bashrc
. Делать вещи правильно не сложно и предотвратит будущие проблемы .~/.profile
, поэтому мой ответ может вводить в заблуждение. Но в какой части это неверно?/etc/profile
в виде файла конфигурации оболочки технически верно, но вводит в заблуждение (это файл конфигурации, написанный в оболочке, а не файл конфигурации оболочки). Не упоминание~/.profile
- главное упущение, которое само по себе делает ваш ответ «бесполезным»./etc/profile
, это то, что я вижу на самом верху . Итак, по крайней мере, в моей системе (Gentoo) этот файл можно назвать «конфигурационным файлом оболочки».Где вы изменили своего пользователя
PATH
? Обычно я устанавливаю это там~/.profile
, где он должен быть выбран вашим менеджером сеансов X (т.е. при следующем входе в систему X), а также применяется ко всем приложениям в вашем сеансе X (например, к панели / рабочему столу, с которого вы запускаете gvim) ,источник