Estou iniciando o servidor emacs usando
systemctl --now --user enable emacs
Esse servidor está em execução, se eu executar
systemctl --user status emacs
Eu tenho
$ systemctl --user status emacs
● emacs.service - Emacs text editor
Loaded: loaded (/usr/local/lib/systemd/user/emacs.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-06-09 09:27:56 CDT; 2 days ago
Docs: info:emacs
man:emacs(1)
https://gnu.org/software/emacs/
Main PID: 17613 (emacs)
CGroup: /user.slice/user-1000.slice/[email protected]/emacs.service
└─17613 /usr/local/bin/emacs --fg-daemon
Mas, quando tento conectar usando emacsclient -c some_file.py
Eu tenho
$ emacsclient -t .psqlrc
emacsclient: can't find socket; have you started the server?
To start the server in Emacs, type "M-x server-start".
o que estou perdendo?
EDIT :
Seguindo o conselho de @Tobias, corri
$ sudo netstat -xauopen | grep emacs
E o resultado foi o seguinte:
unix 3 [ ] STREAM CONNECTED 61841 17982/emacs
unix 3 [ ] STREAM CONNECTED 62269 17982/emacs
unix 3 [ ] STREAM CONNECTED 62268 17982/emacs
Eu esperava ver mais informações, mas isso não parece certo. O que está acontecendo?
emacsclient
emacs-daemon
daemon
systemd-integration
nanounanue
fonte
fonte
GNU Emacs 27.0.50
--now
opçãosystemctl --user enable emacs
ou executar adicionalmentesystemctl --user start emacs
. Mas suponho que você já fez algo assim por causa do status de execução do emacs.--now
às opções.Respostas:
Estou usando a versão 24-25 emacs como daemon.
Com 26.1+, adicione opções
--fg-daemon
e--bg-daemon
. Experimente a unidade de garfo--daemon
alias antiga--bg-daemon
. Talvez funcione.Adicione também a
emacsclient -a '' -t
.fonte
--bg
e--fg
opções e sem sorte. Veja o tópico de comentários na pergunta para obter mais informaçõesEstou tendo o mesmo problema. Eu vim com um script para iniciar o emacsclient que está funcionando bem para mim:
Infelizmente, essa não parece ser a melhor solução, pois não corrige o lançamento do emacsclient diretamente (na linha de comando ou no arquivo da área de trabalho). No entanto, tenho um atalho de tecla para iniciá-lo usando o script.
fonte
SOCKET=$(lsof -c emacs | grep $USER | grep server | grep STREAM | awk '{print $9}')
-lo para encontrá-lo, independentemente de onde ele esteja (caso você o tenha definido em outro lugar)