起動時に Emacs が保存したデスクトップをロードしないようにするにはどうすればよいですか?

起動時に Emacs が保存したデスクトップをロードしないようにするにはどうすればよいですか?

最後のセッションのファイルとステータスを開かずに emacs を起動できることはわかっています。次のように起動します。

emacs --no-desktop

しかし、ファイル内でそれをどのように行うのでしょうかinit.el?

答え1

初期化ファイルでこのモードがオフになっていることを確認してくださいdesktop-save-mode。Emacs の起動時にこのモードがオンになっている場合は、保存したデスクトップ ファイルが読み込まれます。モードがオフになっている場合は、読み込まれません。

いつでもモードをオンにして、自動保存を有効にすることができます。または、M-x desktop-saveいつでも手動で保存することもできます。

のドキュメント文字列よりdesktop-save-mode:

デスクトップ保存モードを有効にすると、Emacs の状態はセッション間で保存されます。特に、Emacs は終了時にデスクトップを保存します (プロンプトが表示される場合があります。オプション「desktop-save」を参照してください)。 次回 Emacs を起動したときに、このモードがアクティブであればデスクトップが復元されます。


はい、自動読み込みと自動保存を組み合わせたこの設計は、私見では少し奇妙です。しかし、これは desktop.el の設計の中で最も奇妙なことではありません。

その区別は、ディレクトリごとに最大 1 つのデスクトップ ファイルが存在するという仮定 (関数のシグネチャに組み込まれている) に由来します。

ユーザーにとっては、ディレクトリごとに最大 1 つのファイルがあれば便利だと考えるかもしれませんが、関数がその仮定に依存しているのはおかしいです。

たとえば、関数 を見てみましょうdesktop-read。そして、絶対ファイル名を渡して、どこにでも存在する可能性のあるデスクトップ ファイルを読み込むために関数 を使用したいとします。そのためには、独自の関数を作成する必要がありました (bmkp-desktop-read(ファイル名を引数として受け取ります)。

関連情報