Нужно подготовить образ кастомизированного openSUSE. Выбрал связку SUSE Studio + AutoYaST.
AutoYaST нужен, чтобы спросить при установке некоторые вопросы, включая вопрос о георгафическом местоположении компьютера. Поэтому определённо нужна возможность вводить русские символы, да и сообщения на русском не помешало бы выводить.
В данный момент все русские символы отображаются кракозябрами (вернее “???”). Русская расскладка не работает.
Я нашёл про Linuxrc (https://en.opensuse.org/SDB:Linuxrc), но добавление файла linuxrc.config с параметрами Language и Keytable в root (Overlay files) не помогло.
Что я делаю не так? Нет ли никакого способа заставить это работать?
В принципе, мне не так и нужен AutoYaST, могу написать скрипт руками (на Python + http://pythondialog.sourceforge.net/), который задаст вопросы и сделает нужное. Проблема в том, что скрипты после загрузки (в том числе и первой) выполняются неинтерактивно, т.е. код выполняется, но в консоль ничего не пишется.
Проблема не AutoYaST, а в том, что после установки я хочу задать вопросы, обработать ответы скриптом и чтобы это всё было на русском (вот это и не получается).
Проверьте значение KEYTABLE в /etc/sysconfig/keyboard.
При выборе Keyboard Layout: Russian , вместо ruwin_alt-UTF-8.map.gz записывается ncursesruwin_alt-UTF-8.map.gz .
Давнишний баг SUSEStudio.
Можно исправить, добавив команду
sed -i '/^KEYTABLE/s/ncurses//' /etc/sysconfig/keyboard
в Run script at the end of the build, расположенный во вкладке Configuration - Scripts
Проверьте значение CONSOLE_FONT в /etc/sysconfig/console
должно быть, к примеру
CONSOLE_FONT=“UniCyr_8x16.psf”
Переопределить значение системных переменных можно также с помощью KIWI utility functions, записанных в . /.kconfig (файл во время загрузки системы удаляется)
добавив их всё в тот же Run script at the end of the build
Если интересно, что представляют собой функции KIWI, то загляните в скрипт /usr/share/kiwi/modules/KIWIConfig.sh пакета kiwi.
Да, я заметил, что оно не работает. Поэтому взял и сгенерировал autoyast.xml с настройками языка для AutoYaST. Вроде бы заработало (после установке при заходе в систему после ввода пароля).
Проверил, было “нормальное” значение благодаря autoyast.xml. Проблема была во мне: не разобрался, сказав, что раскладка не переключается. Она переключалась по двум альтам. Я по привычке проверил “Alt+Shift”, “Ctrl+Shift” (при нормальной установке openSUSE именно оно и стоит вроде бы) и даже “Shift+Shift”, а до “Alt+Alt” не додумался. Главное даже в конфиг лазил, чтобы проверить, что “ruwin” в KEYTABLE, а на “alt” не обратил внимания Переключил на привычный для виндузятников “Alt+Shift”.
Проверил, нормально.
Вот именно и это мне и помогло от неотображаемых русских символов. По дефолту было “ctype”. Ох уж эта совместимость с POSIX… Да, круто. Как админ и программист понимаю, что следование POSIX сокращает кол-во велосипедов, но уж больно он далёк от современности в некоторых местах.
Спасибо большое! Я бы ещё долго мучался, думая, что проблема в AutoYaST (давным-давно (12.2) проблемы были, но при установке последних openSUSE с DVD с проблемами не сталкивался).