Как запустить emacs как сервис?

Я пытаюсь запустить emacs демона как услуга, но сервисные остановки непосредственно после запуска.

в Emacs страница является этим сервисным сценарием для systemd.

[Unit]
Description=Emacs text editor
Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/
[Service]
Type=simple
ExecStart=/usr/bin/emacs --daemon
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
Restart=on-failure

[Install]
WantedBy=default.target

но я не могу заставить демона запускаться

что я делаю неправильно?

ОС: Ubuntu 18.04.1 LTS

Emacs: 25.2

1
задан 28 December 2018 в 17:19

1 ответ

systemd сервисному файлу, кажется, нужны некоторые модификации для работы. Из ссылки Вы, если, --fg-daemon опция только доступна для Emacs 26.1 +, тогда как версия ниже должна использовать --daemon (был представлен в Emacs 23.1).
Далее Type= должен быть принят к разветвлению, с тех пор emacs разветвляется.

Так получающееся systemd единица должна быть похожей следующим образом.

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

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

[Install]
WantedBy=default.target

После применения изменений не забывайте перезагружать конфигурацию.

user@host:~$ systemctl daemon-reload --user

Затем запустите сервис как обычного пользователя.

user@host:~$ systemctl start --user emacs
3
ответ дан 3 December 2019 в 07:22

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

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