Forma corta: quiero ejecutar la versión para Mac OSX de Emacs que se encuentra en http://emacsformacosx.com/ como un demonio, con clientes gráficos y de texto que se conectan según sea necesario.
En detalle, aquí está el flujo de trabajo que quiero:
Al iniciar sesión, ejecute
/Applications/Emacs.app/Contents/MacOS/Emacs --daemon
para iniciar emacs como demonio. Ya se como hacer esto .Al ejecutar emacs desde un terminal local, quiero cualquiera de estos:
- Si ejecuto
emacs
desde un símbolo del sistema local, abra un nuevo marco con el archivo seleccionado. - Si el número 1 no es posible, al menos si ejecuto
emacsclient
desde la línea de comando, abra un nuevo marco con el archivo seleccionado.
- Si ejecuto
Cuando ejecuto emacs desde una terminal remota, me gustaría que se iniciara un modo de texto emacs, conectado al proceso del demonio.
Si ejecuto,
Emacs.app
reutilizo el demonio emacs que se está ejecutando en segundo plano en lugar de comenzar una nueva instancia y abrir una nueva ventana en él.
Hasta ahora, puedo lograr solo el número 1 y el número 2.2 anteriores, pero esas son las partes fáciles. # 3 y # 4 son las cosas que más se necesitan para que esto funcione. ¿Alguien sabe cómo lograr estas cosas?
M-x server-start
para poner un emacs iniciado sin--daemon
en modo servidor. Buenas preguntas, por cierto.(server-start)
sus .emacs para que comience cuando inicie emacsaRespuestas:
Sí, querrás usar emacsclient. Para obtener un nuevo marco, agregue la opción -c. Tengo un alias para hacerlo más rápido y decirle a emacsclient que no espere a que vuelva el servidor de emacs:
emacsclient -nw
em
alias.Actualizar:
Echa un vistazo a este consejo que documenta cómo usar Platypus para crear un contenedor de aplicaciones alrededor de emacsclient. A continuación, puede usar "Abrir con ..." para iniciar usando su nuevo contenedor de aplicaciones.
fuente
Sí, aquí hay una explicación bastante completa sobre cómo hacer esto bien. Intenté varios métodos para que funcione bien, pero no mejor que lo que describieron aquí.
https://gist.github.com/304964
¡Aclamaciones!
fuente
Para 4. pon esto en tu .emacs:
La solución de crear un Mac .app (con Platypus) no funciona porque Mac no abrirá la misma aplicación dos veces.
fuente
open -a Emacs.app
Ciertamente es lo que hago, pero para ser abierto en el mismo fondo instancia / daemon de un emacs existente, necesito escribir(setq ns-pop-up-frames nil)
en mi.emacs
como escribí en mi respuesta. De lo contrario, crea una nueva ventana de todos modos, con o sin-n
.