После очередных апдейтов (уже непойми чего апдейтов) перестал работать setxkbmap под NX-сессией с ошибкой "Error loading new keyboard description". Обгуглился уже, в упор не пойму в чём дело. Пересобирал всё что только можно и nx и freenx-server, локаль проверил, xorg-server разные ставил. Бесполезняк. Что примечательно, совсем недавно это работало.
Не работает нигде, ни в рутлесе ни под WM-ом. Сессии пробовал разные, в т.ч. стандартный twm. Локально всё работает прекрасно.
Desktop # setxkbmap -v 10
Setting verbose level to 10
locale is C
Applied rules from xorg:
model: pc102
layout: en_US
Trying to build keymap using the following components:
keycodes: xfree86+aliases(qwerty)
types: complete
compat: complete
symbols: pc+latin
geometry: pc(pc102)
Error loading new keyboard description
Подскажите, в какую сторону смотреть? Как я понимаю, виноват nxagent? Уже перепробовал всё что можно.
Уточняю. После даунгрейда libxklavier с версии 3.9 до 3.6 спокойно работают все штатные xkb-надстроечки в Xfce4, но setxkbmap всё равно не работает, что осложняет (делает невозможной) работу в rootless.
В clients вижу ругань следующего вида при попытке запуска setxkbmap.
Использовал решение которое вот тут http://www.opennet.ru/openforum/vsluhforumID15/1638.html в посте от orefkov on 05-Май-08, 14:16. Т.е. запускаем стартовым скриптом непосредственно xkbcomp, минуя запуск setxkbmap; в качестве идентификатора дисплея используем переменную $DISPLAY . Правила для xkbcomp пишем ручками в пользовательский файл. Костыли конечно, но кто придумает лучше так отпишите пожалуйста.
ВЫВОД!!!!
НЕ ПЫТАЙТЕСЬ ЗАЙТИ ПОД ПОЛЬЗОВАТЕЛЕМ ROOT!!!!
Переключатели просто не хотят работать. Создаем любого другого пользователя. Даже с правами root и все работает.
P.S. Так и хочется убиться об стену!
P.P.S. Держаться больше нету сил. Завтра продолжу эксперименты после чистой пере установки и попробую сразу местные наработки. В первую очередь буфер обмена с русскими символами.
P.P.P.S. Всем помогавшим я проставил "Спасибо".
Та же ругань через NX, штатно все ок.
Создание линка не помогло.
CentOS последний (5.4 вроде)
НЕ ПЫТАЙТЕСЬ ЗАЙТИ ПОД ПОЛЬЗОВАТЕЛЕМ ROOT!!!!
Переключатели просто не хотят работать. Создаем любого другого пользователя. Даже с правами root и все работает.
//Подтверждаю
залипания прошли, раскладка переключается. Осталось запустить индикатор раскладки для KDE. kxkb не отображает переключений...
По индикатору, запуск в centos kkbswitch. Поиском по kkbswitch находим в дебрях системы архив с исходниками.
./configure
make
make install
запускаем один раз под любым пользователем "kkbswitch"
перелогинимся разок под каждым пользователем системы (нужно с KDE) для инициализации kkbswitch
находим в дистрибутиве файл group_names
правим "Russian" на "Russia - Winkeys" и "US/ASCII" на "U.S. English"
или так
sed -i 's/US\/ASCII/U\.S\.\ English/g' ~/.kde/share/apps/kkbswitch/group_names
sed -i 's/Russian/Russia - Winkeys/g' ~/.kde/share/apps/kkbswitch/group_names
В общем, правильные названия подскажет сам kkbswitch, если правой кнопкой тыкнуть в него.
далее этот файл раскидываем каждому пользователю в /home/$USER/.kde/share/apps/kkbswitch/
НЕ ПЫТАЙТЕСЬ ЗАЙТИ ПОД ПОЛЬЗОВАТЕЛЕМ ROOT!!!!
Переключатели просто не хотят работать. Создаем любого другого пользователя. Даже с правами root и все работает.
//Подтверждаю
Ну и в той же манере..
НИКОГДА НЕ РАБОТАЙТЕ ПОД РУТОМ!!! Вообще никогда. Юзайте sudo если что.
Это вам не винда, где "админ рулит", тут под простым юзером все работает хорошо. И ни в коем случае не надо "создавать юзера с правами рута" (то есть с uid=0 чтоли?). Это ж каким ламером надо быть, чтобы просто пытаться такое сделать...
НЕ ПЫТАЙТЕСЬ ЗАЙТИ ПОД ПОЛЬЗОВАТЕЛЕМ ROOT!!!!
Переключатели просто не хотят работать. Создаем любого другого пользователя. Даже с правами root и все работает.
//Подтверждаю
Ну и в той же манере..
НИКОГДА НЕ РАБОТАЙТЕ ПОД РУТОМ!!! Вообще никогда. Юзайте sudo если что.
Это вам не винда, где "админ рулит", тут под простым юзером все работает хорошо. И ни в коем случае не надо "создавать юзера с правами рута" (то есть с uid=0 чтоли?). Это ж каким ламером надо быть, чтобы просто пытаться такое сделать...
все от лени. все, закрыл ssh для рута, и забыл как он пишется)