ダイアログボックスがDebianでemacsシェルをサポートしていないのはなぜですか?

ダイアログボックスがDebianでemacsシェルをサポートしていないのはなぜですか?

会話はシェルスクリプトでダイアログボックスを提供するユーティリティなので、アップグレードプロセス中に適切に見たことがあります。 Emacsシェル(M-x shell)を使用してを入力すると、次のsudo aptitude safe-upgradeエラーが複数回発生します。

debconf: unable to initialize frontend: Dialog
debconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)
debconf: falling back to frontend: Readline

DialogがEmacsシェルで動作しないのはなぜですか?使用すべき代替品はありますか?

答え1

会話目的ncurses、Emacsでは動作しませんshell-modeだから:「emacsシェルで動作するncursesのための良い選択肢は何ですか?」ncurses、には適切な選択肢はありませんemacs-shellしかし、それを暗示する全端末機能他のEmacsモード(残念ながら私はこれについて何も知りません)、おそらく複数学期

答え2

実際、emacsには1つ以上のシェルがあります。一つある無音シェルはフルスクリーン端末アプリケーションをサポートしておらず、「Ansi Term」があります。する。シェル内でemacsを実行することもできます(ウィンドウ内でコマンドを実行することは、通常の方法でemacsを使用するよりも複雑になる可能性があります)。

たとえば、以下はdialogGUI emacsで実行されるスクリーンショットです。

ansiterm / GUIのダイアログスクリーンショット

そしてdialogemacsで実行し、xtermで実行します。

ansi-term / xtermのダイアログボックススクリーンショット

覚えてくださいアンシー用語特定の端末記述用に設計されています。eterm-color- これいいえDebian でncurses-baseパッケージ:あなたが必要ですncurses-term。端末データベース全体を別々のパッケージに延期するシステムにも同様の警告が適用されます。

追加資料:

メッセージングに関しては、debconfGoogleはあなたの友達です。以下はかなり包括的な答えです。

答え3

これは、無人リモートコマンドを実行したときに表示される一般的なメッセージです。無人スクリプトの上部に次のように入力します。

export DEBIAN_FRONTEND=noninteractive

これはスクリプトに無人実行中であることを通知するため、デフォルトの動作のみを実行するように通知します。同様ですが、特定の cli 入力パラメータに -y フラグを追加する場合に、より一般的に適用可能です。

関連情報