
대화은 쉘 스크립트에서 대화 상자를 제공하는 유틸리티입니다. 업그레이드하는 동안 적성에 맞게 본 적이 있을 것입니다. 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에서 실행되는 스크린샷입니다 .
dialog
xterm에서 실행되는 emacs에서 실행 중입니다 .
명심하세요안시 용어특정 터미널 설명을 위해 설계되었습니다.eterm-color
— 이것은~ 아니다데비안에서ncurses-base
패키지: 당신은 필요합니다ncurses-term
. 전체 터미널 데이터베이스를 별도의 패키지로 연기하는 모든 시스템에도 유사한 주의 사항이 적용됩니다.
추가 자료:
- AnsiTerm(Emacs 위키)
- AnsiTermHints(Emacs 위키)
- Emacs: Emacs에서 쉘 실행(이자 기자)
메시지 에 관해서는 debconf
Google이 당신의 친구입니다. 다음은 합리적으로 포괄적인 답변입니다.
- 프런트엔드를 초기화할 수 없습니다: SSH를 사용할 때 대화 상자가 나타납니다.(AskUbuntu)
답변3
이는 무인 원격 명령을 실행할 때 나타나는 일반적인 메시지입니다. 이것을 무인 스크립트 상단에 넣으십시오.
export DEBIAN_FRONTEND=noninteractive
이것은 무인 스크립트를 실행하고 있음을 스크립트에 알려주므로 기본 동작을 수행하는 방법만 알 수 있습니다. 일부 cli 입력 매개 변수에 -y 플래그를 추가하는 것과 비슷하지만 더 일반적으로 적용 가능합니다.