Что я наблюдал:
Когда я ввожу emacs
в терминале гнома это запускается в той же среде, с переменными начинаются .bashrc
. Если я использую сочетание клавиш для команды emacs
, это открывается в среде, которая не имеет этих переменных.
Вопросы:
.bashrc
? Дополнительный фон: Мне нужно, должен смочь получить доступ к переменным из R, как описано в связанном ТАК вопрос (Как получить доступ к переменной среды удара из R в emacs), и мне также нужен путь к моему texlive распределению для Auctex. Существующий вопрос отличается в этом, я в более общем плане интересуюсь различием между запуском emacs из терминала и запуском emacs из меню Applications, Gnome - делают, или сочетание клавиш тот вызов также emacs
или /usr/bin/emacs23 %F
.
~/.bashrc
обычно читается для вторичных интерактивных оболочек после входа в систему. Если вы хотите инициализировать свои параметры при входе в систему, используйте вместо этого ~/.profile
. Для применения ваших параметров в масштабе всей системы используйте /etc/profile
. Это первый файл, прочитанный bash. Чтобы прояснить ситуацию, думаю, я объясню немного подробнее.
/etc/profile
, затем ~/.profile
и упомянутые там параметры / переменные инициализируются. Однако вы не видите эту оболочку в качестве терминала, потому что работает графический интерфейс системы X-Window. gnome-terminal
~/.bashrc
считывается, и объявленные в нем параметры / переменные доступны только для вторичного терминала. Обратите внимание, что этот вторичный терминал является дочерним процессом вашей оболочки входа в систему. .bashrc
не было доступно для основной оболочки входа в систему; поэтому он также недоступен для приложений. Поэтому что-либо в .bashrc
не будет доступно для этих приложений, если оно запускается из меню. Но когда вы открываете gnome-terminal
и выполняете команду оттуда, приложения запускаются как дочерние элементы gnome-terminal
и наследуют параметры .bashrc
от него.