Centos 7.6 emacsclient не может найти сокет - PullRequest
0 голосов
/ 12 декабря 2018

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

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"

Я пыталсячтобы добавить опцию User в 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

Любой совет будет оценен!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...