How to have russian keyboard in X-Window the easy (and working) way. Assumes that one wants to keep all messages in english and basicly have english oriented system with ability to use and input russian characters. 0. run 'locale -a | grep KOI8-R' to check if you already have ru_RU.KOI8-R locale. Skip to step 4 if you do. 1. localedef -c -i ru_RU -f KOI8-R ru_RU.KOI8-R 2. Add a line to /usr/share/locale/locale.alias ru_RU.KOI8-R ru_RU.koi8r 3. Run locale -a again and make sure there is a shiny new ru_RU.KOI8-R locale 4. Bring /etc/sysconfig/i18n to more or less the following: LANG="en_US" LC_CTYPE="ru_RU.KOI8-R" LC_COLLATE="ru_RU.KOI8-R" SUPPORTED="en_US:en" SYSFONT="lat0-sun16" SYSFONTACM="iso01" 5. Remove your ~/.Xmodmap or whatever you used for russification before (if anything). 6. InputDevice section in /etc/X11/XF86Config-4 should lok somewhat like: Section "InputDevice" Identifier "Keyboard0" Driver "keyboard" Option "AutoRepeat" "250 30" Option "Xleds" "1 2 3" Option "XkbRules" "xfree86" Option "XkbModel" "microsoft" Option "XkbLayout" "ru" Option "XkbOptions" "grp:caps_toggle" EndSection 7. That's it for most applications. At least mozilla and gnome-terminal will work :) 8. Now if you want more, grab Ivan Pascal's xxkb package from http://www.tsu.ru/~pascal/other/xxkb/ It has an additional benefit of reversing digits/symbols in russian mode to which I got used. 9. Config in /usr/X11R6/lib/X11/app-defaults/XXkb should look somewhat like: XXkb.group.base: 1 XXkb.group.alt: 3 XXkb.mainwindow.enable: no XXkb.mainwindow.appicon: no XXkb.mainwindow.geometry: 48x48 XXkb.mainwindow.xpm.1: en48.xpm XXkb.mainwindow.xpm.2: su48.xpm XXkb.mainwindow.xpm.3: ru48.xpm XXkb.mainwindow.xpm.4: XXkb.button.enable: yes XXkb.button.geometry: 15x15-60+4 XXkb.button.gravity: NorthEast XXkb.button.xpm.1: en15.xpm XXkb.button.xpm.2: su15.xpm XXkb.button.xpm.3: ru15.xpm XXkb.button.xpm.4: XXkb.controls.add_when_start: yes XXkb.controls.add_when_create: yes XXkb.controls.add_when_change: no XXkb.controls.focusout: no XXkb.controls.two_state: yes XXkb.controls.button_delete: yes XXkb.bell.enable: no XXkb.bell.percent: -50 XXkb.ignore.reverse: no ! XXkb.app_list..: ! is one of "wm_class_class", "wm_class_name", "wm_name" ! is one of "ignore", "start_alt", "alt_groupM" (M - 1..4) ! For example: ! XXkb.app_list.wm_class_class.ignore: *clock Fvwm* ! XXkb.app_list.wm_class_name.start_alt: licq XXkb.app_list.wm_class_class.ignore: Panel 10. Grab 3-way layout from http://www.tsu.ru/~pascal/other/xkb/ru-koi-3gr and put it into your /usr/X11R6/lib/X11/xkb/symbols/ru file 11. Make sure you start xxkb somewhere in your startup scripts 12. That's it even for picky types like me. 13. If you did not use 'microsoft' keyboard layout before then your mappings might stop working if they were based on 'meta' key. They should be changed in your window manager to 'alt' key. I also find particularly useful using extra key with windows sign on it to drag windows instead of default "alt+drag" in sawfish -- quite useful to let applications grab that sequence. Resources used: http://www.linux.org.ru/books/ru-linux-faq/rulinux.faq.html http://www.tsu.ru/~pascal/other/xkb/ http://www.tsu.ru/~pascal/other/xxkb/README -- Andrew Maltsev , 19-Mar-2002