Почему диалог не поддерживает оболочку emacs на Debian?

Диалог – это утилита, которая предоставляет диалоговые окна из сценариев оболочки, возможно, вы видели их в aptitude во время обновлений. Когда я использую оболочку Emacs (оболочка Mx 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? И должен ли я использовать какую-то замену?

3 Solutions collect form web for “Почему диалог не поддерживает оболочку emacs на Debian?”

Диалог использует ncurses , который не работает в оболочном shell-mode Emacs, и в соответствии с SO: «Что было бы хорошей альтернативой ncurses, которая будет работать под оболочкой emacs?» , нет подходящей альтернативы ncurses которая будет работать в emacs-shell , но она намекает на полнофункциональные возможности других режимов Emacs (о которых, к сожалению, я ничего не знаю), может быть, Multi Term ?

Это нормальное сообщение при выполнении автоматических удаленных команд. Просто поместите это в верхнюю часть вашего автоматического сценария:

 export DEBIAN_FRONTEND=noninteractive 

это скажет скриптам, что вы выполняете автоматический сценарий, чтобы они знали, что просто выполняют поведение по умолчанию … аналогичные, но более общеприменимые для добавления флага -y к некоторым панелям ввода cli

Фактически, emacs имеет более одной оболочки. Существует немой оболочка, которая не поддерживает полноэкранные терминальные приложения, и есть «Ansi Term», который делает . Вы даже можете запустить emacs внутри этой оболочки (хотя запущенные команды внутри окна могут быть более сложными, чем использование emacs обычным образом).

Например, вот скриншот dialog выполняемого в графическом интерфейсе emacs:

скриншот диалога в ansi-term / GUI

и dialog выполняющийся в emacs, запущенном в xterm:

скриншот диалога в ansi-term / xterm

Имейте в виду, что Ansi Term предназначен для конкретного описания терминала, eterm-color – который не находится в пакете ncurses-base Debian: вам потребуется ncurses-term . Подобные оговорки применяются к любой системе, которая откладывает полную базу данных терминала в отдельный пакет.

Дальнейшее чтение:

  • AnsiTerm (Emacs wiki)
  • AnsiTermHints (Emacs wiki)
  • Emacs: Run Shell в Emacs (By Xah Lee)

Что касается сообщения debconf , Google – ваш друг. Вот несколько достаточно полных ответов:

  • Невозможно инициализировать интерфейс: диалог при использовании ssh (AskUbuntu)
  • Emacs зависит от perl
  • Сделать 'CTRL- /' вести себя одинаково в vtty и xterm
  • Аббревиатуры соединения Emacs ssh
  • Режим GNU Emacs Prolog
  • Как я могу запустить демон emacs только тогда, когда это необходимо?
  • Как создать файл Emacs, который выглядит / чувствует, нравится страница запуска Emacs?
  • Моя команда `which` может быть неправильной (иногда)?
  • Нажмите Alt + <на венгерской клавиатуре (где <требует AltGr)
  • Может ли emacs отображать загруженные html-файлы?
  • Эффективно скопировать вставку (kill / yanking) с emacs, запущенным в tmux на Mac OS X
  • Работа с экраном и emacs
  • Linux и Unix - лучшая ОС в мире.