У себя, повторю, проверить не могу. У меня почему-то квадратиков нет при имеющемся kbd.service и без всяких vconsole.conf (и следуя одному хорошему правилу ломать это не хочется)
Проверьте этот пакет для решения проблемы с "квадратиками": workaround-cyrillic-console-1.0-4.fc18.R.noarch.rpm
Проверил. Все работает. В принципе этот юнит делает тоже, что kbd, за исключением подгрузки кеймапа (но это и не нужно, потому что это уже выполняет systemd-vconsole-setup). С точки зрения systemd это более идеологически правильно, чем kbd. Но поскольку файлик vconsole.conf в /etc уже все равно создан, то я решил поправить юнит, чтобы использовать vconsole.conf:
Показать
[Unit]
Description=Cyrillic workaround on %I
After=systemd-user-sessions.service plymouth-quit-wait.service
After=getty@%i.service
[Service]
#На всякий случай сначало жестко устанавливается фонт Environment="FONT=Cyr_a8x16"
#Потом при наличии файла vconsole.conf переменная FONT перезаписывается.
#если же нет файла vconsole.conf, юнит все равно отрабатывается
#нормально и не выдает сообщения об ошибке EnvironmentFile=-/etc/vconsole.conf
ExecStart=/usr/bin/setfont -C /dev/%i $FONT
Type=oneshot
Ну, если я правильно в мане прочел, то когда стоит знак минуса, а самого файла нет, то выполнение юнита выполняется все равно корректно и не выводится сообщения об ошибке. Если без знака минуса, то файл должен быть обязательно, иначе юнит не отработается и вывалится по ошибке.
Ну, если я правильно в мане прочел, то когда стоит знак минуса, а самого файла нет, то выполнение юнита выполняется все равно корректно и не выводится сообщения об ошибке. Если без знака минуса, то файл должен быть обязательно, иначе юнит не отработается и вывалится по ошибке.
Ок. Про себя решал, что всё таки уже имеется в системе.
Стоит ли добавлять его создание в пакет или он не нужен, раз всё и так без него работает, а кому нужен сами добавят (можно отдельной подсказкой в совете)?
Стоит ли добавлять его создание в пакет или он не нужен, раз всё и так без него работает, а кому нужен сами добавят (можно отдельной подсказкой в совете)?
А он нужен, без него не будет работать переключение языков, при условии что мы совсем не используем kbd из SysVinit. Можно его добавить, но при установке пакета необходимо будет проверять есть ли vconsole.conf уже в /etc или нет, и устанавливать этот файл, когда он отсутствует.
Описание установки и удаления, касательно файла /etc/vconsole.conf:
При установке пакета cyrconfix с уже имеющемся в системе файле /etc/vconsole.conf создается файл /etc/vconsole.conf.rpmnew с данными из пакета cyrconfix, т.е. старый файл не перезаписывается и будет использоваться.
Об этом будет сигнализироваться в дополнительном выводе RPM: "warning: /etc/vconsole.conf created as /etc/vconsole.conf.rpmnew"
При удалении пакета cyrconfix файл /etc/vconsole.conf будет переименован в /etc/vconsole.conf.rpmsave
Об этом будет сигнализироваться в дополнительном выводе RPM: "warning: /etc/vconsole.conf saved as /etc/vconsole.conf.rpmsave"
Это описание и описание пакета находится в файле /usr/share/doc/packages/cyrconfix/README.md
Готово. Сделал форк пакета от RFR (для удобства).
Проверяйте
Все проверил. Устанавливается, как надо. Работает.
Единственно, при установке src.rpm немного ругается:
Показать
# rpm -ihv cyrconfix-1.0-0.1.src.rpm
Обновление / установка...
1:cyrconfix-1.0-0.1 ################################# [100%]
предупреждение: пользователь verg не существует - используется root
предупреждение: пользователь verg не существует - используется root
предупреждение: пользователь verg не существует - используется root
предупреждение: пользователь verg не существует - используется root
#