сервис emacs 27 systemd наследовал переменные среды

На Ubuntu 18.04 рабочий emacs 27, emacs устанавливает конфигурацию systemd

$ cat ~/.config/systemd/user/default.target.wants/emacs.service 
[Unit]
Description=Emacs text editor
Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/

[Service]
Type=simple
ExecStart=/usr/local/bin/emacs --fg-daemon
ExecStop=/usr/local/bin/emacsclient --eval "(kill-emacs)"
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
Restart=on-failure

[Install]
WantedBy=default.target

Но когда я запускаю emacsclient, поскольку я всегда делал в прошлом (использующий предыдущие версии emacs/ubuntu), мои переменные среды больше не импортируются. Как может изменить сервис для импорта переменных среды, настроенных в моей оболочке init файлы?

1
задан 11 August 2018 в 17:08

1 ответ

Можно выполнить оболочку входа в систему прежде, чем выполнить emacs двоичный файл, чтобы считать и проанализировать среду. Как так:

ExecStart=/bin/bash -l -c 'exec /usr/local/bin/emacs --fg-daemon'

По умолчанию systemd выполняет все команды в чистой среде для обеспечения непротиворечивости и восстанавливаемых сервисных сред выполнения. Так, при необходимости в настройках новой среды обычно необходимо устанавливать их сами.

1
ответ дан 7 December 2019 в 15:15

Другие вопросы по тегам:

Похожие вопросы: