Eu tenho um problema com o emacs iniciado como daemon usando o Systemd.
A cada desligamento / reinicialização, se eu não interromper o serviço emacs daemon manualmente, o histórico de arquivos abertos recentes na sessão atual é perdido. Eu acho que isso é por causa do Systemd que não pode matar corretamente o Emacs quando estiver em um estado de desligamento.
O que posso fazer para resolver este problema?
Minha configuração recente em init.el:
(use-package recentf
:config (progn (setq recentf-auto-cleanup 'never
recentf-max-menu-items 50
recentf-max-saved-items 400
recentf-save-file
(expand-file-name "temp/.recentf" user-emacs-directory))
(recentf-mode t)))
Configuração do serviço Systemmac emacs:
[Unit]
Description=Emacs: the extensible, self-documenting text editor
[Service]
Type=forking
ExecStart=/usr/bin/emacs --daemon
ExecStop=/usr/bin/emacsclient --eval "(kill-emacs)"
Restart=always
User=%i
#WorkingDirectory=%h
[Install]
WantedBy=multi-user.target
emacsclient
linux
recentf
Maglight
fonte
fonte
use-package
código funcione em outras circunstâncias (?), Parece que o único problema é quesystemd
não executa seuExecStop
comando.Respostas:
Você pode salvar arquivos recentes antes do desligamento ligando para
recentf-save-list
Isso adiciona seus arquivos recentes ao histórico recente.
Se você não quiser fazer isso manualmente, poderá adicionar um cronômetro que fará isso para você a cada 5 minutos.
Adicione isso à sua configuração. Portanto, sempre que você abrir o emacs, ele chamará a função e a cada 5 minutos (ou 300 segundos) continuará chamando essa função.
Fonte: https://emacs.stackexchange.com/a/15115/5187
fonte
Eu sei que esse segmento é antigo, mas me deparei com o mesmo problema no MS Windows (ou seja, o Windows sabe como sair do daemon do Emacs normalmente). Eu resolvi isso para me ligando
recentf-save-list
paraterminal-delete-functions
. Então, no meu arquivo init, tenho a seguinte linha:Em seguida, a
recentf-list
sessão atual é salva sempre que você fecha o cliente Emacs. Isso foi o suficiente para mim, porque estou acostumado a fechar o Emacs antes de desligar o PC.fonte