Ich starte dazu einen Emacs-Daemon, wenn ich mich anmelde. Wo Sie diesen Befehl eingeben, hängt von Ihrem Desktop-Manager ab. Ich verwende i3
, das so konfiguriert ist, dass beim Anmelden ein Skript ausgeführt wird, das Folgendes enthält:
emacs --daemon &
Damit läuft emacs immer im Hintergrund, und ich öffne einen neuen Client mit emacsclient -c -n
, gebunden an eine bequeme Tastenkombination im Fenstermanager. Wenn Sie in einem Terminal arbeiten, benötigen Sie nur eine einfache alias wie alias emc='emacsclient'
, möglicherweise mit -n
, -c
oder -t
Argumente, je nachdem , wie Sie es verwenden.
Überprüfen Sie die Optionen für emacsclient im Handbuch: ( (emacs) emacsclient-Optionen , auf die von Emacs aus zugegriffen werden kann C-h r m emacsclient options <enter>
). Sie können das -a
Flag verwenden, um einen Emacs-Daemon automatisch zu starten, wenn er noch nicht ausgeführt wird, -c
oder -t
um einen neuen Frame oder Terminal-Client zu öffnen, anstatt einen vorhandenen (in derselben Sitzung) wiederzuverwenden:
'-Ein Kommando'
'--alternate-editor = BEFEHL'
Geben Sie einen Befehl an, der ausgeführt werden soll, wenn 'emacsclient' Emacs nicht kontaktiert.
Dies ist nützlich, wenn Sie 'emacsclient' in einem Skript ausführen.
Als besondere Ausnahme gilt, wenn COMMAND die leere Zeichenfolge ist
'emacsclient' startet Emacs im Daemon-Modus (als 'emacs --daemon') und
versucht dann erneut, eine Verbindung herzustellen.
'-c'
'--create-frame'
Erstellen Sie einen neuen grafischen „Client-Frame“, anstatt einen vorhandenen zu verwenden
Emacs Rahmen. Siehe unten für das spezielle Verhalten von 'Cx C-c' in a
Client-Frame. Wenn Emacs keinen neuen grafischen Rahmen erstellen kann (z.
Wenn keine Verbindung zum X-Server hergestellt werden kann, wird versucht, einen Text zu erstellen
Terminal-Client-Frame, als hätten Sie die Option '-t' angegeben
stattdessen.
'-t'
'--tty'
'-nw'
Erstellen Sie stattdessen einen neuen Client-Frame auf dem aktuellen Textterminal
Verwenden eines vorhandenen Emacs-Rahmens. Dies verhält sich genauso wie das '-c'
Option, oben beschrieben, außer dass ein Textterminal erstellt wird
Rahmen (* Hinweis Nicht-Fenster-Terminals: :).
emacs --eval "(suspend-frame)"
stattemacs --daemon
( emacswiki.org/emacs/EmacsAsDaemon ). Gibt es einen Grund, warum Sie Emacs nicht als Daemon aufrufen? Sie könnten so etwas verwenden,pgrep -U `whoami` emacs || emacs --daemon &
um sicherzustellen, dass es ausgeführt wird.