¿Cómo iniciar el servidor emacs solo si no está iniciado?
configuration mutt (4)
Me gustaría usar emacsclient para editar correos electrónicos en Mutt.
Agregué esto en .emacs
(server-start)
Y en .muttrc he añadido.
set editor="emacsclient -nw %s"
Parece que funcionan. Cuando inicio un segundo Emacs, se queja de que ya hay un servidor en ejecución, por lo que emite errores. ¿Cómo asegurarse de hacer (server-start)
solo si el servidor aún no se ha iniciado?
Gracias
El demonio emacs puede iniciarse automáticamente de una manera muy simple. Solo agrega esto a tu .bashrc / .zshrc / lo que sea
export ALTERNATE_EDITOR=""
Ahora, cuando invoque emacsclient
(usando --tty
o --create-frame
), el servidor se iniciará (con emacs --daemon
) si aún no se está ejecutando.
También me parece útil este alias de shell:
alias e=''emacsclient --tty''
Tenga en cuenta que desde Emacs 23, esta es la forma preferida de usar Emacs en modo daemon. (start-server)
ahora está en su mayoría en desuso.
Este código inicia el servidor solo si no se está ejecutando:
(load "server")
(unless (server-running-p) (server-start))
Evita todo el problema a través de
emacs --daemon
en cualquier shell o terminal para que Emacs se ejecute en segundo plano. De esa manera, emacsclient
siempre está contento, ya que siempre hay un servidor Emacs para conectarse.
Al ser Emacs, también hay una función que inicia el servidor solo cuando es necesario, pero no puedo recordar su nombre en este momento. Yo uso la opción --daemon
felizmente muy feliz yo mismo.
Un poco de una respuesta tardía, pero aquí está la solución que funciona para mí. Cada vez que inicio emacsclient, uso emacsclient -a '''' -c
-a ''''
le dice a emacsclient que intente conectarse a un servidor existente, y si no existe un servidor, inicie uno y luego conéctese a él.