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