대화 상자가 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에는 둘 이상의 쉘이 있습니다. 거기에멍청한전체 화면 터미널 응용 프로그램을 지원하지 않는 쉘과 "Ansi Term"이 있습니다.하다. 해당 셸 내에서 emacs를 실행할 수도 있습니다(비록 창 내에서 명령을 실행하는 것은 일반적인 방식으로 emacs를 사용하는 것보다 더 복잡할 수 있습니다).

dialog예를 들어, 다음은 GUI emacs에서 실행되는 스크린샷입니다 .

항항/GUI 대화상자 스크린샷

dialogxterm에서 실행되는 emacs에서 실행 중입니다 .

ansi-term/xterm 대화상자 스크린샷

명심하세요안시 용어특정 터미널 설명을 위해 설계되었습니다.eterm-color— 이것은~ 아니다데비안에서ncurses-base패키지: 당신은 필요합니다ncurses-term. 전체 터미널 데이터베이스를 별도의 패키지로 연기하는 모든 시스템에도 유사한 주의 사항이 적용됩니다.

추가 자료:

메시지 에 관해서는 debconfGoogle이 당신의 친구입니다. 다음은 합리적으로 포괄적인 답변입니다.

답변3

이는 무인 원격 명령을 실행할 때 나타나는 일반적인 메시지입니다. 이것을 무인 스크립트 상단에 넣으십시오.

export DEBIAN_FRONTEND=noninteractive

이것은 무인 스크립트를 실행하고 있음을 스크립트에 알려주므로 기본 동작을 수행하는 방법만 알 수 있습니다. 일부 cli 입력 매개 변수에 -y 플래그를 추가하는 것과 비슷하지만 더 일반적으로 적용 가능합니다.

관련 정보