Режим Org с Emacs: где я должен разместить свой экспорт, чтобы иметь возможность использовать его в демоне Emacs? - PullRequest
0 голосов
/ 23 января 2019

Я борюсь с этим утром после установки CUDA 9 и cudnn 7. Я использую emacs как демон, zsh - как оболочку по умолчанию, и я хочу использовать org-mode для записи блокнота.

Вот мой .zshenv:

...
export LIBRARY_PATH="/usr/include/gtk-3.0:$LIBRARY_PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64:$LD_LIBRARY_FOUND"
export PATH="/usr/local/cuda-9.0/bin:$PATH"
export SHELL="/bin/zsh"
export WORKON_HOME=$HOME/.virtualenvs

а вот минимальный блокнот:

#+BEGIN_SRC ipython :results drawer :async t :session test
  import os

  print(os.environ["LD_LIBRARY_PATH"])
#+END_SRC

Проблема в том, что emacs не знает LD_LIBRARY_PATH. Там написано KeyError.

Знаете ли вы, куда я могу поместить свои переменные окружения, чтобы их мог читать как мой терминал, так и Emacs-As-A-Daemon? Я думал, что это было в .zshenv и .zprofile, но ни один из них не работает в режиме демона ... (Потому что да, он работает, когда я регулярно запускаю его).

Точность: Содержимое os.environ показывает, что он читает только файл .profile ... Но почему? Мой терминал по умолчанию - zsh, а не bash. Я попытался поместить свой экспорт в .zprofile, перезапустить демон systemmac из emacs, даже перезагрузиться, но безрезультатно. Извините, если это глупый вопрос.

1 Ответ

0 голосов
/ 24 января 2019

Хорошо, мне удалось решить мою проблему. Вместо того, чтобы работать с конфигурацией Emacs, я изменил файл модуля systemd, добавив переменную EnvironmentFile, в которой я установил его равным пути моего .zshenv:

EnvironmentFile=~/.zshenv
...