(逆に、この質問はデーモンモードで起動して対話型ダイアログを非表示にする方法と同じではないことに注意してください。その質問は特定のプロンプトを表示させる原因を排除して提出者によって「回答」されたためです。)
まだ存在しないミニバッファに表示されるプロンプトへの回答を待って永遠にハングアップしないようにする一般的な方法があるかどうかを知りたいemacs --daemon
です。
Emacsが起動シーケンスを完了するまでサーバーは起動しないため、emacsclientに接続してこれらのプロンプトに答えることはできません。(つまり、ALTERNATE_EDITORが空の文字列に設定されている場合emacsclient
、サーバーが新しいデーモンを開始できないことがわかると、複数のEmacsデーモンがすべてスタックして待機killall emacs
することになります。)問題を解決する必要があります続行する前に。
Emacsを非デーモンモードで起動し、何を要求しているかを確認することで、起動時にプロンプトを表示する各問題でwhack-a-moleを再生できますが、次のデーモンを停止できないため、解決策ではありません新しい理由でスタートアップにハングアップすることから。
例を挙げると、最初の再起動後のEmacsが古いEmacsからロックファイルを盗むことができるかどうかを知りたいときに、システムが再起動またはEmacsがクラッシュした後にハングする一般的な理由です。そのプロンプトが対話なしで常に「はい」と答えるようにアドバイスを作成することで、それを修正できました。ただし、前回のセッションの保存時に開いていたファイルの1つは、sudoまたはSSHパスワードを必要とするTRAMPファイルであったため、デーモンはパスワードプロンプトで待機しています。そこで、問題のあるファイルを削除するためにセッションファイルを(vi
またはemacs -q
!を使用して)手動で編集することで修正します。
そのため、起動時にセッションのロードを自動的に停止し、最初のemacsclientから手動で実行する必要があるコマンドに変更できます。しかし、バックグラウンドでセッションをロードしておらず、使用する準備が整うまでに準備が整っている場合、デーモンの目的はすべて失われます!
だから私が欲しいのは:
- (最良)残りの初期化を完了しながら、emacsclientを開くまでミニバッファープロンプトを延期する方法。
- (OK)
no
emacsclientが実行されていない限り、上記で説明したように、私がまだアドバイスしていないすべてのミニバッファープロンプトを返す方法があります。TRAMPバッファーがほとんど機能する限り、私はTRAMPバッファーでエラーが発生しても生き続けることができます。
これらの目標のいずれかを達成する方法はありますか?
(read-desktop)
、実行emacs --daemon
する前に、.emacs.desktop.lockに整数を入れて偽のロックファイルを作成することです(残念ながら、そのファイルを置く場所は設定によって異なります、おそらくどちらかあなたのホームディレクトリまたは〜/ .emacs.d /。