Bug 28991 - выбор языка поломан
Summary: выбор языка поломан
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: livecd-setlocale (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Anton V. Boyarshinov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on: 27408
Blocks:
  Show dependency tree
 
Reported: 2013-05-17 17:43 MSK by Baurzhan Muftakhidinov
Modified: 2013-09-24 13:58 MSK (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Baurzhan Muftakhidinov 2013-05-17 17:43:43 MSK
Выбор языка системы поломан. Имеется в виду начальное меню загрузки.

Тестировалось в qemu на 32 битной регулярной сборке Xfce.

Выбирал казахский язык. Система загрузилась на русском.
Comment 1 Michael Shigorin 2013-05-18 23:59:20 MSK
Если установить такую систему на диск и прописать нужное в /etc/locale.conf либо /etc/sysconfig/i18n, в зависимости от используемого init -- локализация в XFCE наступает?

Не исключено, что нет перевода -- используемый механизм для всех сборок одинаков, а на gnome3, помнится, перевод был казахский.
Comment 2 Baurzhan Muftakhidinov 2013-05-19 14:49:05 MSK
Во время запуска regular-gnome выбираю казахский, после загрузки команда locale выдает что локаль установлена в kk_KZ.UTF-8.

В случае с regular-xfce, локаль устанавливается в ru_RU.UTF-8, выбор казахского в начальном меню загрузки никак не влияет.

Для обоих сборок верно то, что в живой системе файл /etc/locale.conf содержит только LANG=
Если в живой сборке Xfce выполнить localectl set-locale "LANG=kk_KZ.UTF-8", то после выхода/входа в Xfce язык меняется на казахский.
Comment 3 Baurzhan Muftakhidinov 2013-05-19 14:51:12 MSK
В живой системе при выборе казахского при загрузке файл /etc/sysconfig/i18n обновляется правильно, но в данном случае на локаль системы это, по-видимому, не влияет.
Comment 4 Michael Shigorin 2013-05-22 19:36:15 MSK
Воспроизвёл (BTW после установки regular-xfce загружается на казахском); похоже, это следствие исправления bug #27408 и соответственно реализации features.in/systemd/live/image-scripts.d/20-systemd-locale в mkimage-profiles.
Comment 5 Michael Shigorin 2013-05-22 21:00:02 MSK
Похоже, всё забавней.

В regular-* включается пакет livecd-ru, который выставляет LANG=ru_RU.utf8 в /etc/sysconfig/i18n _образа_ (см. в /.ro); затем отрабатывает инитскрипт из пакета livecd-setlocale, который смотрит в /proc/cmdline (где syslinux+gfxboot "оставляет записку" о сделанном выборе в виде lang=...) и меняет содержимое /etc/sysconfig/i18n _оверлея_ (см. в /.rw).

При логине отрабатывает /etc/profile.d/0lang.sh и забирает настройки в т.ч. из /etc/sysconfig/i18n -- какие будут на момент его работы.

Если войти в консоли пользователем altlinux, то к этому времени инитскрипт уже отработает и локаль в этой сессии будет выставлена та, что выбиралась.  А вот излишне быстрые :] графические окружения могут успеть стартовать с ещё "прошитыми" настройками.

В общем, опять виноват Леннарт, не иначе.
Comment 6 Baurzhan Muftakhidinov 2013-06-23 20:32:15 MSK
Пинг.
Имеются ли новости по разрешению проблемы?
Comment 7 Michael Shigorin 2013-06-24 01:29:38 MSK
Пока стало ясно, что это race condition -- а вот что с ним делать, пока неясно.

Может, sem@ поможет, как выпустит Simply...
Comment 8 Michael Shigorin 2013-08-06 16:27:50 MSK
BTW то же самое пронаблюдал с MATE и украинским, если что.

Перевешиваю на mkimage-profiles.
Comment 9 Michael Shigorin 2013-09-18 00:47:05 MSK
Победил.

Дело было в том, что сервис livecd-setlocale в случае применения systemd не запускался гарантированно до *dm (добавил prefdm.service в Before).

Также пришлось переработать сам скрипт, работает версия 0.3.1.

Параллельно просьба с тем, чтобы была возможность обеспечить автонастройку клавиатуры в gnome3 -- сделать и вклеить/приложить файлики для kk_KZ на манер вот этих: http://git.altlinux.org/gears/a/alterator-sysconfig.git?p=alterator-sysconfig.git;a=tree;f=alterator-sysconfig/data/kbd;hb=HEAD

Пример можно брать с uk_UA; для ru_RU задаются различные варианты переключения раскладок, но используются они в модуле alterator, а в livecd-setlocale гвоздями прибито ctrl_shift.

По идее, будет в завтрашних regular-*.iso.
Comment 10 Repository Robot 2013-09-18 02:39:35 MSK
livecd-setlocale-0.3.1-alt2 -> sisyphus:

* Wed Sep 18 2013 Michael Shigorin <mike@altlinux> 0.3.1-alt2
- (closes: #28991)

* Tue Sep 17 2013 Michael Shigorin <mike@altlinux> 0.3.1-alt1
- rough localectl support

* Mon Sep 16 2013 Michael Shigorin <mike@altlinux> 0.3.0-alt1
- fixed service file dependencies
- added rudimentary gnome3 support (lacks XKB variants though)
Comment 11 Baurzhan Muftakhidinov 2013-09-18 06:34:43 MSK
Отлично!
Я вижу что по ссылке ниже
http://git.altlinux.org/gears/a/alterator-sysconfig.git?p=alterator-sysconfig.git;a=blob;f=alterator-sysconfig/data/kbd/ru_RU/ctrl_toggle.kbd;h=636032c6432078856daa5af8db48038e55c7646b;hb=HEAD

используются раскладки KEYTABLE=ruwin_ctrl-UTF-8
это откуда такие файлы/раскладки берутся? Есть ли такая казахская раскладка/таблица символов?
Для X-ов то понятно как прописать.
Comment 12 Baurzhan Muftakhidinov 2013-09-18 06:48:10 MSK
так, я вижу что в пакете kbd с kbd-project.org есть только одна раскладка в \kbd-1.15.3\data\keymaps\i386\qwerty\ - называется kazakh.map

Упоминания про UTF-8 в названии нет. Она сгодится? Завтра как выйдут образы я проверю эту раскладку.
Comment 13 Michael Shigorin 2013-09-18 11:50:53 MSK
Так... задание 104366 не попало в сегодняшний сизиф, на что закладывался: http://git.altlinux.org/tasks/archive/done/_101/104366/logs/events.1.2.log

В уже опубликованных образах установка локали сломана совсем, в нарушение обычной политики регулярных сборок пересобираю с добавлением локального репозитория с livecd-setlocale-0.3.1-alt2.  Результат будет часа через два, если ничего другого не случится.

2 ldv: хорошо бы зафиксировать на вики время обновления сизифа на ftp.altlinux.org, вроде ж под утро раньше брался таск для публикации?
Comment 14 Michael Shigorin 2013-09-18 13:57:49 MSK
Образы за 20130918 обновлены:
http://nightly.altlinux.org/sisyphus/tested/
http://nightly.altlinux.org/sisyphus/snapshots/20130918/

В них попал не замеченный вовремя ляп в UEFI-режиме, исправлено в 0.3.2-alt1:
http://git.altlinux.org/people/mike/packages/?p=livecd-setlocale.git;a=commitdiff;h=fd5d21d21db4a491e210e04c51102cb77c00945f
Comment 15 Michael Shigorin 2013-09-18 16:28:02 MSK
(В ответ на комментарий №11)
> это откуда такие файлы/раскладки берутся?
Из kbd, правильно; с ними предлагаю отдельно, а начать с иксовой.

> Есть ли такая казахская раскладка/таблица символов?
Не в курсе, но там ещё вывод (шрифт и, возможно, трансляцию) надо сперва настроить.

> Для X-ов то понятно как прописать.
Рассказывайте :-)  Можно отдельным FR на alterator-sysconfig, пока эти файлики там живут (есть план их вытащить в отдельный helper package).
Comment 16 Baurzhan Muftakhidinov 2013-09-19 06:23:49 MSK
(In reply to comment #15)
> (В ответ на комментарий №11)
> > это откуда такие файлы/раскладки берутся?
> Из kbd, правильно; с ними предлагаю отдельно, а начать с иксовой.
> > Есть ли такая казахская раскладка/таблица символов?
> Не в курсе, но там ещё вывод (шрифт и, возможно, трансляцию) надо сперва
> настроить.
С этим у меня туго - в консоли казахский я не использую особо.
Помнится какой-то из Терминус шрифтов отлично показывал каз. буквы в консоли,
наскоком я не смог найти в последней регулярной сборке с гномом.
Там только один шрифт терминус и он не подошел. Хотя может дело в этой 
самой трансляции.

> > Для X-ов то понятно как прописать.
> Рассказывайте :-)  Можно отдельным FR на alterator-sysconfig, пока эти файлики
> там живут (есть план их вытащить в отдельный helper package).

Я то думал что просто в файлике надо прописать параметры для setxkb.
Comment 17 Michael Shigorin 2013-09-19 15:15:08 MSK
(В ответ на комментарий №16)
> С этим у меня туго - в консоли казахский я не использую особо.
Я вот тоже...

> Я то думал что просто в файлике надо прописать параметры для setxkb.
Так вот их и покажите, чтоб не гадать.
Comment 18 Baurzhan Muftakhidinov 2013-09-20 12:14:12 MSK
(In reply to comment #17)
> (В ответ на комментарий №16)
> > С этим у меня туго - в консоли казахский я не использую особо.
> Я вот тоже...
> 
> > Я то думал что просто в файлике надо прописать параметры для setxkb.
> Так вот их и покажите, чтоб не гадать.

По аналогии с файлом для белорусского языка http://git.altlinux.org/gears/a/alterator-sysconfig.git?p=alterator-sysconfig.git;a=blob;f=alterator-sysconfig/data/kbd/be_BY/ctrl_shift_toggle.xkb;h=cc1c3686a2d76aff93d140ef797403ad7388b439;hb=HEAD

-layout us,kz
-option grp:ctrl_shift_toggle
Comment 19 Michael Shigorin 2013-09-24 13:58:34 MSK
(В ответ на комментарий №18)
> -layout us,kz
> -option grp:ctrl_shift_toggle
Добавлено в alterator-sysconfig 1.2.2-alt1 и отправлено после проверки в сизиф; надеюсь, попадёт в завтрашние регулярные сборки.

Про консоль предлагаю провести исследование и, видимо, повесить отдельной багой запрос на kbd-data с тем, чтобы импортировать дополнительные данные из http://packages.debian.org/ru/sid/console-cyrillic; когда будет сделано, добавим в alterator-sysconfig.