Como posso executar o aplicativo Emacs 24.x no Mac OS X no modo daemon


7

Quero executar o Emacs.app no ​​modo daemon no Mac OS X. Posso executar o emacs no modo daemon através do terminal, mas as instruções para executar o aplicativo em um padrão cliente-servidor não funcionam (por exemplo: http: // overtone .github.io / emacs-live / doc-startup.html , ainda /Applications/Emacs.app/Contents/MacOS/bin/emacsclientnão existe) com as versões mais recentes do Emacs.

Como posso executar o aplicativo Emacs 24.x no Mac OS X no modo daemon?

Meus objetivos são iniciar o servidor na inicialização (o que eu sei fazer) e, quando inicio um cliente, iniciar um novo quadro na versão do aplicativo do Emacs que já está em execução.


Estou executando o Emacs.app 24.4 de emacsformacosx.com e ele contém o emacsclient. Qual build você está usando?
Alan Shutko 12/02/2019

Eu estou fugindo de homebrew
pwalsh

Respostas:


1

Usei https://korewanetadesu.com/emacs-on-os-x.html e funcionou bem, mas recentemente instalei o Emacs via 'brew' e funciona muito melhor (menos problemas e melhor experiência com daemon) para o parte do daemon: http://www.emacswiki.org/emacs/EmacsForMacOS#toc16

Depois de instalá-lo, diz que o emacs é carregado na inicialização, execute:

$ ln -sfv /usr/local/opt/emacs/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.emacs.plist

Eu também uso a versão homebrew. Sua resposta ajuda a iniciar o aplicativo no modo daemon, mas quando eu me conecto com um cliente, por exemplo: emacsclient -cele cria uma nova 'instância' do aplicativo no dock, em vez de iniciar uma nova janela ou quadro na minha instância atual do emacs. Isso é consistente com o comportamento que você tem?
Pwalsh

Eu nunca uso emacsclient. Luto emacsdiretamente e corro rápido o suficiente para mim. Não sei muito sobre isso, mas suspeito que essas duas operações que mencionei acima aceleram o emacscarregamento. Ao usar as sugestões "korewanetadesu", descobri que, quando estava usando emacsserver, que criava uma instância do aplicativo no documento, ele costumava travar algumas vezes.
Galder Zamarreño

Isso é ótimo, mas a questão é claramente sobre a conexão com o aplicativo no modo daemon ao iniciar um cliente.
22415 Pwalsh #

Existe um pacote no melpa chamado osx-pseudo-daemon que pode valer a pena examinar.
Tim X

@pwalsh Para executar o emacs no modo daemon, o launchctrlcomando acima iniciará um processo emacs para você. Então, para criar um novo quadro, você faria: emacsclient -n -c O ícone do emacs aparecerá no dock, permanecerá no dock até que o processo iniciado pelo launchctrl (emacs -daemon) saia ou seja morto. Você também pode usar emacsclient -tem um terminal. Ambos os comandos se conectam à instância do damac emacs, se a instância não estiver em execução, os comandos gerarão um erro.
xmonk

1

Também encontrei problemas ao tentar executar o Emacs como um daemon no OS X, então escrevi um modo "pseudo-daemon" que apenas cria um novo quadro de GUI oculto quando você fecha o último quadro. O resultado é que o Emacs apenas oculta no encaixe sempre que normalmente sai, o que fornece uma aproximação surpreendentemente boa do modo daemon, mantendo o ícone do encaixe funcional. Você pode obtê-lo no MELPA: https://melpa.org/#/mac-pseudo-daemon

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.