Systemdを使用してデーモンとして起動したemacsに問題があります。
emacsデーモンサービスを手動で停止しない場合、シャットダウン/再起動するたびに、現在のセッションで最近開いたファイルの履歴が失われます。これは、シャットダウン状態のときにSystemdがEmacsを適切に強制終了できないためだと思います。
この問題を解決するにはどうすればよいですか?
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)))
Systemd 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
use-package
コードが他の状況(?)で機能すると仮定すると、唯一の問題はsystemd
、ExecStop
コマンドが実行されないことです。