HELP! Помогите настроить русский язык в XWindows
Здесь все нормально.
Определись, дело в шрифтах или в xkb ? Файлы с русскими именами отображаются ?
Определись, дело в шрифтах или в xkb ? Файлы с русскими именами отображаются ?
Отображаются. даже файлы с русскими буквами спокойно смотрятся в (cat, vi в xterm нетскейп нормально русские буквы отображает семейством кроникс. только ввод с клавиатуры не работает! 

Не включена ли опция XkbDisable?
Попробуй, запустив программу xev, и наведя мышь на белое окно, посмотреть, что она (программа) выдаёт при нажатии на клавиши в русском и английском режиме и сообщи сюда.
У меня секция "inputDevice" немного отличается:
(переключение по кнопке МЕНЮ). Попробуй эти параметры.
Попробуй, запустив программу xev, и наведя мышь на белое окно, посмотреть, что она (программа) выдаёт при нажатии на клавиши в русском и английском режиме и сообщи сюда.
У меня секция "inputDevice" немного отличается:
Identifier "Keyboard1"
Driver "Keyboard"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru(winkeys)"
Option "XkbCompat" "group_led"
Option "XkbOptions" "grp:menu_toggle"
(переключение по кнопке МЕНЮ). Попробуй эти параметры.
Была закомментирована
# Option "XkbDisable"
Видимо, не в этом дело..
# Option "XkbDisable"
Видимо, не в этом дело..
KeyPress event, serial 24, synthetic NO, window 0x2000001,
root 0x26, subw 0x0, time 972323262, (39,106 root:(607,280
state 0x2000, keycode 29 (keysym 0x6ce, Cyrillic_en same_screen YES,
XLookupString gives 0 characters: ""
KeyRelease event, serial 24, synthetic NO, window 0x2000001,
root 0x26, subw 0x0, time 972323370, (39,106 root:(607,280
state 0x2000, keycode 29 (keysym 0x6ce, Cyrillic_en same_screen YES,
XLookupString gives 0 characters: ""
символы считывает, но не выдаёт!
хмм. и еще. у меня X почему-то не понимает
Option "XkbModel" "pc104"
ей надо
XkbModel "pc104"

У тебя очень старый X, поэтому опции немного различаются.
Странно...
Попробуй запустить
#xkbcomp :0 - |less
Там встречаются эти Cyrillic_* или нет?
Скачай ftp://tz.hackers/pub/xkb/test.xkb
и запусти
#xkbcomp test.xkb :0
(забыл, как там переключаться, кажется, CapsLock).
Может быть, что-нибудь выйдет.
Попробуй запустить
#xkbcomp :0 - |less
Там встречаются эти Cyrillic_* или нет?
Скачай ftp://tz.hackers/pub/xkb/test.xkb
и запусти
#xkbcomp test.xkb :0
(забыл, как там переключаться, кажется, CapsLock).
Может быть, что-нибудь выйдет.
Вывод xev при нажатии и отпускании клавиш "a(англ)" "меню" "ф(рус)"
я вне локалки. можешь выслать на mail.cir.ru ?
KeyPress event, serial 19, synthetic NO, window 0x2800001,
root 0x26, subw 0x2800002, time 973197192, (48,38 root:(94,146
state 0x0, keycode 38 (keysym 0x61, a same_screen YES,
XLookupString gives 1 characters: "a"
KeyRelease event, serial 24, synthetic NO, window 0x2800001,
root 0x26, subw 0x2800002, time 973197292, (48,38 root:(94,146
state 0x0, keycode 38 (keysym 0x61, a same_screen YES,
XLookupString gives 1 characters: "a"
KeyPress event, serial 24, synthetic NO, window 0x2800001,
root 0x26, subw 0x2800002, time 973198649, (48,38 root:(94,146
state 0x0, keycode 117 (keysym 0xfe08, ISO_Next_Group same_screen YES,
XLookupString gives 0 characters: ""
KeyRelease event, serial 24, synthetic NO, window 0x2800001,
root 0x26, subw 0x2800002, time 973198724, (48,38 root:(94,146
state 0x2000, keycode 117 (keysym 0xfe08, ISO_Next_Group same_screen YES,
XLookupString gives 0 characters: ""
KeyPress event, serial 24, synthetic NO, window 0x2800001,
root 0x26, subw 0x2800002, time 973199612, (48,38 root:(94,146
state 0x2000, keycode 38 (keysym 0x6c6, Cyrillic_ef same_screen YES,
XLookupString gives 0 characters: ""
KeyRelease event, serial 24, synthetic NO, window 0x2800001,
root 0x26, subw 0x2800002, time 973199685, (48,38 root:(94,146
state 0x2000, keycode 38 (keysym 0x6c6, Cyrillic_ef same_screen YES,
XLookupString gives 0 characters: ""
я вне локалки. можешь выслать на mail.cir.ru ?
Ещё стоит посмотреть, присутствуют ли эти Cyrillic_* в файле /usr/include/X11/keysymdef.h
в виде XK_Cyrillic_*. Если нет, то, по-видимому, нужна другая таблица XKB, но будут ли понимать другие keysyms другие приложения? Когда-то у меня была такая проблема, xterm и всякие Нетскейпы хотели Cyrillic_* в качестве русских букв, а aterm, который я нежно люблю, хотел символы из latin1. Но это было давно... Проблема решилась апгрейдом к Mandrake 8.0.
в виде XK_Cyrillic_*. Если нет, то, по-видимому, нужна другая таблица XKB, но будут ли понимать другие keysyms другие приложения? Когда-то у меня была такая проблема, xterm и всякие Нетскейпы хотели Cyrillic_* в качестве русских букв, а aterm, который я нежно люблю, хотел символы из latin1. Но это было давно... Проблема решилась апгрейдом к Mandrake 8.0.
да, встречаются. а у тебя нет! я совсем запутался:
на
#xkbcomp test.xkb :0
говорит кучу варнингов типа: (почти для всех символов 128-255)
Warning: No symbols defined for <I76> (keycode 246)

>> мой >>
key <AD07> {
symbols[Group1]= [ u, U ],
symbols[Group2]= [ Cyrillic_ghe, Cyrillic_GHE ]
};
<< твой <<
key <AD07> {
symbols[Group1]= [ u, U ],
symbols[Group2]= [ Ccedilla, ccedilla ]
};
на
#xkbcomp test.xkb :0
говорит кучу варнингов типа: (почти для всех символов 128-255)
Warning: No symbols defined for <I76> (keycode 246)

в /usr/include/X11/keysymdef.h всё есть..
Хрен с ними с ворнингами.
Что выводится на экран в русском режиме при загрузке моей таблицы?
При экспериментах с таблицами имеет стоит заранее сохранить более-менее работающую раскладку в файл
#xkbcomp :0 orig.xkb
и при неудаче возвращать её на место командой
#xkbcomp orig.xkb :0
Что выводится на экран в русском режиме при загрузке моей таблицы?
При экспериментах с таблицами имеет стоит заранее сохранить более-менее работающую раскладку в файл
#xkbcomp :0 orig.xkb
и при неудаче возвращать её на место командой
#xkbcomp orig.xkb :0
Локаль не выставлена, похоже
Проделал эксперимент и добился таких же результатов.
Сделай
#export LC_ALL=ru_RU.KOI8-R
и должно всё заработать.
Сделай
#export LC_ALL=ru_RU.KOI8-R
и должно всё заработать.
Отец меня опередил 

Лучше LANG, а не LC_ALL
Правда, не знаю, почему, отцы локализации так говорят
Правда, не знаю, почему, отцы локализации так говорят
Атееец! Как пришел, как сказал, сразу все заработало! одно слово: АТЕЦ . всем баальшое спасибо!
Тогда у меня вопрос к Атцу.
Если нужно испрользовать попеременно более двух раскладок (а XKB это, кажется, позволяет какую локаль выставлять? Только UTF8 или есть другие возможности?
Если нужно испрользовать попеременно более двух раскладок (а XKB это, кажется, позволяет какую локаль выставлять? Только UTF8 или есть другие возможности?
это надо в какой-нибудь русскоязычной конференции спрашивать, типа ru.linux в фидо
я не знаю
я не знаю
А как сделать, чтоб печатаемые буквы были в кодировке cp1251? Поскольку файлы периодически гоняются туда-сюда с win на linux, ломает их перекодировать в зад-перёд.
Поставить LANG=ru_RU.CP1251
использовать соотв. локаль, либо глобально, либо отдельный xterm в ней запускать
с такими требованиями наверное имеет смысл на ALTLinux посмотреть, по утверждениям отцов там практически всё это "из коробки"
с такими требованиями наверное имеет смысл на ALTLinux посмотреть, по утверждениям отцов там практически всё это "из коробки"
первое, что приходит в голову - LANG=ru_RU.CP1251
но не работает. надо еще в настройках шрифтов чего-то сделать..
видимо, для этого нужен файл
/usr/X11R6/lib/X11/fonts/encodings/microsoft-cp1251.enc
а что с ним делать и куда прописывать?
но не работает. надо еще в настройках шрифтов чего-то сделать..
видимо, для этого нужен файл
/usr/X11R6/lib/X11/fonts/encodings/microsoft-cp1251.enc
а что с ним делать и куда прописывать?

нужно, чтобы 1) в системе была локаль ru_RU.CP1251 и 2) чтобы xterm использовал шрифт в кодировке cp1251
для (2) необходимо 2.1) наличие такого шрифта и 2.2) объяснить xtermу, что надо этот шрифт использовать (в командной строке или через зависимую от локали секцию в xrdb)
зачем нужно /usr/X11R6/lib/X11/fonts/encodings/ , я не знаю
для (2) необходимо 2.1) наличие такого шрифта и 2.2) объяснить xtermу, что надо этот шрифт использовать (в командной строке или через зависимую от локали секцию в xrdb)
зачем нужно /usr/X11R6/lib/X11/fonts/encodings/ , я не знаю
Оставить комментарий
yolki
Ерунда какая-то. в секции Keyboard написано:XkbRules "xfree86"
XkbModel "pc104"
XkbLayout "ru"
XkbVariant "winkeys"
XkbOptions "grp:shift_toggle"
но эта зараза по-русски ни в какую печатать не хочет.
при нажатии двух шифтов буквы не печатаются (ни в XTerm, ни в редакторах типа gvim, ни в полях ввода на страницах в нетскейпе). клавиши нажимаю - ноль эффекта.
еще русские буквы вылезают при нажатии "альт+буква", например:
Alt+A=А, Alt+D=Д, Alt+X=Ь. что не есть "ФЫВА" или "ЙЦУКЕН". это есть "АСДФГ"!
таким манером почему-то набираются только большие буквы и только в xterm. хотя Alt+Q вызывает переключение в другое окно. но это уже от Afterstep-а. может в менеджере дело?!
XFree86 версии 4.0.3-5, RH Linux 7.1