Я пишу несколько пользовательских инсталляторов, которые будут работать в Ubuntu, и использую утилиту dialog
, чтобы упростить процесс получения пользовательского ввода.
Иногда я замечаю, что расширенный ASCII, который выводит диалоговое окно (например, линейные рамки вокруг текстовых полей), отображается неправильно. (Вы получите круг с вопросительным знаком в нем). Похоже, это происходит, когда система подготовлена с использованием установщика PXE / Netboot.
Мне интересно, учитывая, что единственным языком, который мне нужно поддерживать, является английский, какую локаль я должен проверить и предложить установить перед запуском диалога?
Я заметил это в нескольких выпусках, мой вопрос не относится к определенной версии.
Кодировка - единственная часть локали, которая должна иметь значение в этом случае, убедитесь, что это UTF-8.
Убедитесь, что шрифт, который вы используете в терминале, содержит символы рисования линий.
Попробуйте
LC_ALL=C ./yourscript.sh
или
LC_ALL=en_EN.UTF-8 ./yourscript.sh
, чтобы получить надежные результаты. По крайней мере, первый не нуждается в дальнейшей установке.