Bug 38951

Summary: нечитаемый текст предупреждения /etc/X11/xinit/xrootwarn* в локали UTF-8
Product: Sisyphus Reporter: Michael Shigorin <mike>
Component: xinitrcAssignee: placeholder <placeholder>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: antohami, burykinne, glebfm, ldv, placeholder
Version: unstableKeywords: usability
Hardware: all   
OS: Linux   
URL: http://www.opennet.ru/openforum/vsluhforumID3/121851.html#76
Attachments:
Description Flags
Патч
none
Сообщение в неправильной кодировке
none
Сообщение, в "первозданном" виде none

Description Michael Shigorin 2020-09-16 23:54:16 MSK
Пишут, что: "делаю startx: там оранжевый фон и на нём какая-то ошибка, полученная путём преобразования UTF-8 в ASCII, то есть нечитаемый текст, в котором букв в два раза больше, чем надо".
Comment 1 Nikolay Burykin 2022-08-03 22:55:39 MSK
Волей случая столкнулся с этой ошибкой, и возможно могу предложить решение проблемы.
Само решение оформил отдельным патчем. Если не будет возражений, могу сам же его и применить к пакету в рамках NMU.

[ "$LANG" = POSIX -o "$LANGUAGE" = POSIX ] &&
       SourceIfNotEmpty /etc/sysconfig/i18n ||:

В момент запуска скрипта xrootwarn отрабатывает условие, указанное выше. В результате чего языковые переменные LC оказываются выставлены в ru_RU.UTF-8, что и является причиной отображения предупреждения в неправильной кодировке. Если оставить значения переменных как POSIX, или выставить в en_US.UTF-8, то в этом случае сообщение с предупреждением показывается в том виде, в котором и ожидается. 

Предлагаю внутри скрипта экспортировать переменную LC_MESSAGES="en_US.UTF-8", которая будет действительна только в рамках запущенного скриптом процесса, и соответственно никак не повляет на дальнейшую работу системы с локалями в целом.

В прикладываемом патче я ограничился только добавлением экспорта переменной LC_MESSAGES, но как мне кажется имеет смысл удалить полностью указанное условие. Не столько из за влияния на появление ошибки (по правде говоря не так уже много людей, в здравом уме хотят залогиниться рутом в GUI), сколько по причине дублирования аналогичного функционала, выполняющегося на этапе применения скриптов из /etc/profiles.d, и от которого пользователь всё равно никуда не денется даже логинясь под рутом.
Comment 2 Nikolay Burykin 2022-08-03 22:56:26 MSK
Created attachment 11272 [details]
Патч
Comment 3 Nikolay Burykin 2022-08-03 22:57:30 MSK
Created attachment 11273 [details]
Сообщение в неправильной кодировке
Comment 4 Nikolay Burykin 2022-08-03 22:58:08 MSK
Created attachment 11274 [details]
Сообщение, в "первозданном" виде