Centos 7.6 emacsclient не может найти сокет

Я следовал инструкциям

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-managing_services_with_systemd-unit_files

создать emacs.service под /etc/systemd/system/как это

Description=Emacs text editor
Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/

[Service]
Type=forking
ExecStart=/home/hye/bin/emacs --fg-daemon
ExecStop=/home/hye/bin/emacsclient --eval "(kill-emacs)"
Environment=SSH_AUTH_SOCK=%t/keyring/ssh
Restart=always

[Install]
WantedBy=default.target

тогда я выполняю:

systemctl daemon-reload
systemctl start emacs.service

emacs.service успешно запущен

Однако когда я бегу emacsclient -t в терминале это показывает:

emacsclient: can't find socket; have you started the server?

Я нахожу, что если я переключаюсь на root и запускаю emacsclient -t в терминале все работает хорошо.

На самом деле, имя хоста /tmp/emacs0/server, но я не могу получить к нему доступ, так как его владелец - root.

emacsclient -t -s /tmp/emacs0/server
emacsclient: can't stat /tmp/emacs0/server: Permission denied
emacsclient: error accessing socket "/tmp/emacs0/server"

Я попытался добавить опцию пользователя в emacs.service, как это

[Service]
User=hye
Group=hye
Type=forking

но systemctl не может запустить этот сервис, он всегда терпит неудачу.

Я также попытался поставить emacs.service под ~/.config/systemd/user/

но Centos 7 не поддерживает systemctl --user,

системная информация:

Centos 7.6
Emacs-26.1 manually installed

Любой совет будет принят во внимание!

0 ответов

У меня такая же проблема....

.. дошло до того, что я использовал emacs-snapshot для emacs в

   update-alternatives --display emacs

..и другая версия для emacsclient

Установите ту же версию, и тогда случились хорошие вещи.

sudo update-alternatives --set emacsclient /usr/bin/emacsclient-snapshot
Другие вопросы по тегам