Ich benutze einen Emacs-Daemon, um meine Emacs-Sitzung beizubehalten, selbst wenn ich den Rechner neu starten muss, auf dem ich meinen X-Server betreibe, oder wenn ich von einem anderen Rechner aus auf dieselbe Sitzung zugreifen möchte. Das funktioniert sehr gut, aber beim Wiederherstellen einer Sitzung würde ich gerne einfach "emacsclient --create-frame --no-wait" ausführen, um eine Verbindung zum Daemon herzustellen, ohne eine neue Datei zu öffnen. Es lässt mich nicht ohne Angabe eines Dateinamens davonkommen.
Ich habe versucht, mit --eval eine Funktion auszuführen, anstatt eine Datei zu öffnen, aber das Fenster verschwindet erst, wenn die Auswertung abgeschlossen ist.
(Emacs 23.1 über Backports unter Debian GNU / Linux 5.0.)
Aus der Hilfe von emacsclient haben Sie einige Möglichkeiten. Erstens, ist die bereits erwähnte, die emacsclient -c
ist. Das wird versuchen, einen mit dem Emacs-Daemon assoziierten Rahmen zu erzeugen. Der Vorteil ist, dass, wenn DISPLAY nicht gesetzt ist, Emacs im Terminal geöffnet werden.
Was uns zur nächsten Option führt (besonders, wenn Sie sich remote anmelden): emacsclient -t
, was emacs dazu zwingt, sich im Terminal-Modus zu öffnen, selbst wenn DISPLAY gesetzt ist.
Bedenken Sie auch, dass Sie die Anzeige auch über die Befehlszeile einstellen können. Ich benutze dies oft, wenn ich mich von VNC aus anmelde. Der vollständige Befehl wäre emacsclient -d DISPLAY -c
Wenn Sie emacs über die Befehlszeile verwenden, sollten Sie auch emacsclient -t
Tags und Links emacs emacsclient