Ich starte den Emacs-Server mit
systemctl --now --user enable emacs
Dieser Server läuft, wenn ich laufe
systemctl --user status emacs
ich habe
$ 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
Aber wenn ich versuche, eine Verbindung mit herzustellen emacsclient -c some_file.py
ich habe
$ emacsclient -t .psqlrc
emacsclient: can't find socket; have you started the server?
To start the server in Emacs, type "M-x server-start".
Was vermisse ich?
BEARBEITEN :
Auf Anraten von @Tobias bin ich gelaufen
$ sudo netstat -xauopen | grep emacs
Und das Ergebnis war das Folgende:
unix 3 [ ] STREAM CONNECTED 61841 17982/emacs
unix 3 [ ] STREAM CONNECTED 62269 17982/emacs
unix 3 [ ] STREAM CONNECTED 62268 17982/emacs
Ich hatte erwartet, mehr Informationen zu sehen, aber das scheint nicht richtig zu sein. Was ist los?
emacsclient
emacs-daemon
daemon
systemd-integration
nanounanue
quelle
quelle
GNU Emacs 27.0.50
--now
Option auch an übergebensystemctl --user enable emacs
oder zusätzlich ausführensystemctl --user start emacs
. Aber ich gehe davon aus, dass Sie wegen des Run-Status von Emacs bereits so etwas gemacht haben.--now
zu den Optionen hinzugefügt .Antworten:
Ich verwende die 24-25 Emacs-Version als Daemon.
Mit 26.1+ Optionen hinzufügen
--fg-daemon
und--bg-daemon
. Versuchen Sie es mit einer alten--daemon
Alias---bg-daemon
Gabeleinheit. Vielleicht arbeiten.Fügen Sie auch hinzu
emacsclient -a '' -t
.quelle
--bg
und--fg
Optionen ausprobiert und kein Glück. Siehe den Kommentarthread in der Frage für weitere InformationenIch habe das gleiche Problem. Ich habe mir ein Skript ausgedacht, um emacsclient zu starten, das für mich gut funktioniert:
Leider scheint dies nicht die beste Lösung zu sein, da der Start von emacsclient nicht direkt behoben werden kann (entweder in der Befehlszeile oder in der Desktop-Datei). Ich habe jedoch eine Tastenkombination, um es mit dem Skript zu starten.
quelle
SOCKET=$(lsof -c emacs | grep $USER | grep server | grep STREAM | awk '{print $9}')
, um es zu finden, unabhängig davon, wo es sich befindet (falls Sie es an anderer Stelle eingestellt haben)