¿Cómo puedo ejecutar la aplicación Emacs 24.x en Mac OS X en modo demonio?

7

Quiero ejecutar Emacs.app en modo daemon en Mac OS X. Puedo ejecutar emacs en modo daemon a través del terminal, pero las instrucciones para ejecutar la aplicación en un patrón cliente-servidor no funcionan (por ejemplo: http: // overtone .github.io / emacs-live / doc-starting.html , pero /Applications/Emacs.app/Contents/MacOS/bin/emacsclientno existe) con las últimas versiones de Emacs.

¿Cómo puedo ejecutar la aplicación Emacs 24.x en Mac OS X en modo daemon?

Mis objetivos son iniciar el servidor en el inicio (que sé cómo hacer) y, cuando inicio un cliente, iniciar un nuevo marco en la versión de la aplicación de Emacs que ya se está ejecutando.

pwalsh
fuente
Estoy ejecutando Emacs.app 24.4 de emacsformacosx.com y contiene emacsclient. ¿Qué construcción estás usando?
Alan Shutko
Estoy huyendo de homebrew
pwalsh

Respuestas:

1

Utilicé https://korewanetadesu.com/emacs-on-os-x.html y funcionó bien, pero recientemente instalé Emacs a través de 'brew' y funciona mucho mejor (menos problemas y una mejor experiencia de demonio) para parte del demonio: http://www.emacswiki.org/emacs/EmacsForMacOS#toc16

Una vez que lo instales, dice que haz que emacs se cargue al inicio, ejecuta:

$ ln -sfv /usr/local/opt/emacs/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.emacs.plist
Galder Zamarreño
fuente
Yo también uso la versión casera. Su respuesta ayuda a iniciar la aplicación en modo daemon, pero cuando me conecto con un cliente, por ejemplo: emacsclient -ccrea una nueva 'instancia' de la aplicación en el dock, en lugar de iniciar una nueva ventana o marco en mi instancia actual de emacs. ¿Es eso consistente con el comportamiento que tienes?
pwalsh
Yo nunca uso emacsclient. Lanzo emacsdirectamente y corre lo suficientemente rápido para mí. No sé mucho sobre esto, pero sospecho que esas dos operaciones que mencioné anteriormente aceleran la emacscarga. Al usar las sugerencias de "korewanetadesu", descubrí que cuando estaba usando emacsserver, lo que creaba una instancia de la aplicación en el documento, solía colgarse a veces.
Galder Zamarreño
Eso es genial, pero la pregunta es claramente acerca de conectarse a la aplicación en modo demonio cuando se inicia un cliente.
pwalsh
Hay un paquete en melpa llamado osx-pseudo-daemon que vale la pena mirar.
Tim X
@pwalsh Para ejecutar emacs en modo demonio, el launchctrlcomando anterior iniciará un proceso de emacs por usted. Entonces, para hacer un nuevo marco, lo haría: emacsclient -n -c el icono de emacs aparecerá en el dock, permanecerá en el dock hasta que el proceso iniciado por launchctrl (emacs -daemon) salga o se elimine. También se puede usar emacsclient -ten una terminal. Ambos comandos se conectan a la instancia de emacs daemon si la instancia no se está ejecutando, los comandos arrojarán un error.
xmonk
1

También me he encontrado con problemas al intentar ejecutar Emacs como un demonio en OS X, así que escribí un modo "pseudo-demonio" que simplemente crea un nuevo marco de GUI oculto cuando cierra el último marco. El resultado es que Emacs simplemente se esconde en el dock cada vez que normalmente saldría, lo que proporciona una aproximación sorprendentemente buena del modo demonio mientras mantiene el ícono Dock funcional. Puede obtenerlo de MELPA: https://melpa.org/#/mac-pseudo-daemon

Ryan C. Thompson
fuente