Dialog is a utility that provides dialog boxes from shell scripts, you may have seen them in aptitude during upgrades. When i use Emacs shell (M-x shell) and type sudo aptitude safe-upgrade, i get the following error several times:

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

Why doesn't Dialog work with Emacs shell? And should i use some substitute?

I tried to use whiptail, which uses libnewt instead of ncurses, and it said Your terminal lacks the ability to clear the screen or position the cursor. And i don't think multiterm supports ncurses.
–
sindikatMar 19 '12 at 10:14

There's also Ansi Term and EShell, maybe some combination of all these works (I don't know which, sorry). Apparently Ansi Term can run mutt but I couldn't find out if that's linked against ncurses or slang.
–
sr_Mar 19 '12 at 10:21

3

Whether it's linked against ncurses, slang, or just sending out raw terminal directives (the horror), for a full-screen application to run on a terminal, that terminal must understand terminal directives (i.e. it's up to the terminal, not the library), and the OS must have an appropriate termcap/terminfo entry for it. By definition, a dumb terminal is one that doesn't grok terminal directives. Without them, you're limited to outputting characters (including ASCII control chars). No cursor repositioning, character attributes, clearing the screen etc. It's basically an ASR-33.
–
AlexiosMar 19 '12 at 11:51