Невозможно инициализировать диалог frontend: при использовании ssh

Я выполняю следующую команду над ssh в среде тестирования от имени пользователя root:

ssh <remote_srv> "apt-get autoremove"

В моем sshd_config у меня есть «PermitRootLogin без пароля», и я добавил id_rsa.pub пользователя root в файл author_keys на удаленном сервере.

Тем не менее я получаю следующие ошибки:

debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (This frontend requires a controlling tty.)
debconf: falling back to frontend: Teletype

Я искал это на страницах de man ssh, но не мог сосредоточиться на объяснении псевдо-терминов и ttys.

Есть ли кто-нибудь, кто может объяснить вышеуказанные ошибки? Я полагаю, что этот вариант отсутствует, но какой?

Обе платформы являются Ubuntu 14.04 LTS.

52
задан 3 August 2014 в 11:16

2 ответа

Я полагаю, что это имеет некоторое отношение к тому, которое apt-get autoremove выполняется в неинтерактивной оболочке. См. , это possibe для ответа на диалоговые вопросы при установке при докере?

решение, кажется, для добавления префикса команды DEBIAN_FRONTEND=noninteractive:

ssh <remote_srv> "DEBIAN_FRONTEND=noninteractive apt-get autoremove"
61
ответ дан 3 August 2014 в 11:16

Решение Alex действительно подавляет ошибки, и он почти разобрался в причине, но это не позволяет Вам отвечать на любые вопросы (который прекрасен, когда Вы предварительно отобрали ответы и работаете из сценария, но реального раздражения при попытке новых пакетов). Базовой проблемой является взаимодействие между предположениями, сделанными ssh и различным frontends debconf.

Позволяют нам запуститься с ssh. ssh, предполагает, что, когда Вы не указываете удаленную команду, Вы хотите имущество на удаленном конце и что Вы указываете удаленное, которое Вы не делаете (который работает замечательно хорошо 90% времени, просто не этот). Это может быть переопределено -t опция, которая вызывает имущество или -T опция, которая не вызывает имущества (или соответствующие опции файла конфигурации). Далее при использовании имущества TERM переменная среды копируется (исключения могут применить документацию проверки для завершенных деталей и официальной формы ввода тотализаторов). Также знаменитый -x опция отключает передачу X11, и -X включает его.

сам Debconf не имеет никаких требований интерактивности (дизайном), но различные frontends делают, и у каждого есть различные требования.

я полагаю, что выглядящий лучше всего frontend является гномом (существует также фронтэнд рунца, что я не получил работу). Гном frontend (и kde один также) требует, чтобы некоторые библиотеки не по умолчанию и сервер X11, поэтому командная строка вынудили гнома frontend (после того как соответствующие библиотеки установлены), был бы

ssh -X <remote_srv> "DEBIAN_FRONTEND=gnome apt-get autoremove"

или если Вы предпочитаете kde

ssh -X <remote_srv> "DEBIAN_FRONTEND=kde apt-get autoremove"

, диалоговое окно frontend (значение по умолчанию) требует имущества и терминала с минимальным уровнем функциональности, указанной в ТЕРМИНЕ переменная (на практике, это - что-либо с полным terminfo описанием кроме немых).

ssh -t <remote_srv> "TERM=$TERM DEBIAN_FRONTEND=dialog apt-get autoremove"

или

ssh -t <remote_srv> "apt-get autoremove"

readline frontend имеет менее строгие требования и будет работать с простыми терминалами, но будет нуждаться в имуществе.

ssh -t <remote_srv> "DEBIAN_FRONTEND=readline apt-get autoremove"

редактор frontend зависит от редактора, который имел бы конкретные требования в зависимости от редактора.

ssh -t <remote_srv> "DEBIAN_FRONTEND=editor EDITOR=vi apt-get autoremove"
ssh -X <remote_srv> "DEBIAN_FRONTEND=editor EDITOR=gvim\ -f apt-get autoremove"

неинтерактивный frontend не имеет никаких требований, но он не задает вопросов (который может или не может быть тем, что Вы хотите).

ssh <remote_srv> "DEBIAN_FRONTEND=noninteractive apt-get autoremove"
13
ответ дан 3 August 2014 в 11:16

Другие вопросы по тегам:

Похожие вопросы: