Почему диалог не поддерживает оболочку 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 (оболочка Mx)
  • Терминал Gnome --- скрыть файлы тильды, созданные Emacs
  • Как сделать программу, которая запускается из оболочки, по-прежнему жить после закрытия терминала?
  • Почему Emacs затрудняет для меня, чтобы два кадра открывали один и тот же буфер?
  • Обработка локальных ссылок на локальные файлы в emacs
  • Использовать вкладки для отступов в режиме Python
  • vim настраивается с помощью команд emacs (только в режиме ввода)
  • Подсчитайте количество процессов с ps -Af
  • Некоторые клавиши недействительны на emacs при использовании немецкой клавиатуры
  • Режим оболочки Emacs делает $ PS1 разным
  • Как я могу запустить демон emacs только тогда, когда это необходимо?
  • Linux и Unix - лучшая ОС в мире.