
Ich richte Emacs immer im Servermodus ein und jedes Mal, wenn ich Ubuntu aktualisiere, ändert sich das entsprechende Verfahren.
Obwohl ich in meinem /.bash_aliases
und alle dieselben Einstellungen habe /.emacs
, funktioniert es nicht.
Ich habe Emacs 24.3.x (je nachdem, welche Version aktuell ist), ich habe AUCTeX cvs und TeX Live 2013 installiert.
In meinem ./bash_aliases
habe ich
emacs = 'emacsclient -t --alternate-editor='
Die relevanten Informationen in /.emacs
meinem
;; Start server and set directory
(setq server-socket-dir (format "/tmp/emacs%d" (user-uid)))
(server-start)
(custom-set-variables
'(TeX-PDF-mode t)
'(TeX-show-compilation t)
'(TeX-newline-function (quote newline-and-indent))
'(TeX-source-correlate-method (quote synctex))
'(TeX-source-correlate-mode t)
'(TeX-source-correlate-start-server t))
Probleme treten nur beim Öffnen von LaTeX-Dateien auf. Manchmal heißt es, dass ein anderer Server läuft, und manchmal heißt es:
dustin@dustin:~/Documents/NUPOC/NUPOCSoln$ emacs SolnNUPOC.tex
emacsclient.emacs24: can't find socket; have you started the server?
To start the server in Emacs, type "M-x server-start".
Warning: due to a long standing Gtk+ bug
http://bugzilla.gnome.org/show_bug.cgi?id=85715
Emacs might crash when run in daemon mode and the X11 connection is unexpectedly lost.
Using an Emacs configured with --with-x-toolkit=lucid does not have this problem.
("emacs")
Loading 00debian-vars...
Loading 00debian-vars...done
Loading /etc/emacs/site-start.d/50autoconf.el (source)...
Loading /etc/emacs/site-start.d/50autoconf.el (source)...done
Loading /etc/emacs/site-start.d/50cmake-data.el (source)...
Loading /etc/emacs/site-start.d/50cmake-data.el (source)...done
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...
Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)...
Error while loading 50dictionaries-common: Symbol's value as variable is void: debian-aspell-only-dictionary-alist
Loading paren...
Loading paren...done
Warning: no abbrev-file found, customize `abbrev-file-name' in order to make mode-specific abbrevs work.
Starting Emacs daemon.
Restarting server
Ich las imHandbucheine Fußnote, die besagt:
Einige Programme verwenden eine andere Umgebungsvariable. Um beispielsweise TeX dazu zu bringen, „emacsclient“ zu verwenden, legen Sie die Umgebungsvariable TEXEDIT auf „emacsclient +%d %s“ fest.
Es gibt (soweit ich finden kann) keinen Hinweis darauf, wo und wie die TEXEDIT-Umgebung eingestellt wird.
- Wie stelle ich die TEXEDIT-Umgebung ein? oder
- Wie kann ich Emacsclient für den Betrieb einrichten?
Diese Einrichtung hat funktioniert, bevor alles neu installiert werden musste.
Antwort1
Ich konnte den Server starten und zum Laufen bringen synctex
. Es wird immer noch diese Meldung ausgegeben:
emacsclient: can't find socket; have you started the server?
To start the server in Emacs, type "M-x server-start".
Warning: due to a long standing Gtk+ bug
http://bugzilla.gnome.org/show_bug.cgi?id=85715
Emacs might crash when run in daemon mode and the X11 connection is unexpectedly lost.
Using an Emacs configured with --with-x-toolkit=lucid does not have this problem.
Loading paren...
Loading paren...done
Loading server...
Loading server...done
Warning: no abbrev-file found, customize `abbrev-file-name' in order to make mode-specific abbrevs work.
Starting Emacs daemon.
Restarting server
Emacs daemon should have started, trying to connect again
Was ich geändert habe, war mein /.bash_aliases
und /.emacs
.
Wenn Sie Emacs zuerst öffnen, ohne eine Datei anzugeben, und dann eine Datei öffnen, erhalten Sie die obige Warnung nicht. Ich habe keine Ahnung, warum es in dieser Reihenfolge einwandfrei funktioniert, anstatt direkt zu einer Datei zu gehen.
Für meine Aliase habe ich jetzt:
# emacs aliases for server mode
alias emacs='emacsclient -t -s server --alternate-editor='
Das -s
ist die Abkürzung für --socket-name=
; daher -s server
ist --socket-name=server
.
Ich habe das bis M-x describe-variable
dahin gefunden server-socket-name
und der Name sollte für Sie ausgegeben werden. Außerdem können wir das Verzeichnis mit dem gleichen Namen finden M-x
und dannserver-socket-dir
In meinem ~/.emacs
habe ich Folgendes geändert:
;; Start server and set directory
(setq server-socket-dir (format "/tmp/emacs1000" (user-uid)))
;(server-start) has been commented out
In den benutzerdefinierten Satzvariablen habe ich Folgendes hinzugefügt: '(server-mode t)
.
Ich weiß nicht, ob es einen Unterschied zwischen (server-start)
und den benutzerdefinierten Variablen gibt '(server-mode t)
. Ich werde es mit dem einen oder dem anderen und mit beiden ausprobieren, um zu sehen, was später passiert.