Centos 7.6 emacsclient не может найти сокет
Я следовал инструкциям
создать 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