Usando o modo de área de trabalho com o Emacs Daemon

9

Estou usando o emacs 24.3 (ubuntu 14.10) e gostaria que o daemon participasse do ciclo de vida da sessão da área de trabalho gráfica enquanto estiver usando desktop-mode. Passei por http://www.emacswiki.org/emacs/EmacsAsDaemon, mas ainda não é agradável para mim. Um problema é que o encerramento do daemon SIGTERM não é limpo, .emacs.desktop.lockportanto a próxima inicialização se recusará a pegar o estado salvo.

Alguém tem uma receita para fazer com que o emacs daemon + desktop seja agradável com a sessão gráfica da área de trabalho?

Como nota de rodapé: o envio de SIGHUP freqüentemente trava o emacs para mim.

Andreas Steffan
fonte

Respostas:

6

Não mate o processo.

Use M-x kill-emacs RETpara finalizar o servidor.

phils
fonte
Ok, isso limpa a aparência. Posso estar faltando alguma coisa, mas como se executa esse término da sessão gráfica? A coisa mais fácil que eu poderia pensar seria em um manipulador de sinal personalizado do SO.
Andreas Steffan
2
Se você tiver um quadro de cliente ativo, poderá emitir kill-emacsdiretamente. Se você não possui clientes atuais, pode executar emacsclient -e '(kill-emacs)'. Se você quiser que o Emacs seja desligado com mais facilidade quando morto por um sinal, provavelmente será necessário M-x report-emacs-bug(depois de verificar se ele já foi registrado).
phils
Certo. O problema é que eu não quero incomodar e dizer manualmente a todos os programas para serem desligados normalmente. Os gerentes de sessão da área de trabalho informam aos programas que a sessão está prestes a terminar. Quero que o emacs tome medidas automaticamente naquele momento.
Andreas Steffan
Verifique os relatórios de erros, informe um novo, se necessário, e depois de obter mais informações, atualize a pergunta ou poste uma resposta.
phils