LTSP/xmodmap
Имеются: тонкие клиенты ТОНК1202, AltLinux 5.0.1 Терминальный сервер.
Проблема: при подключении через протокол XDMCP с тонкого клиента на терминальный сервер, нет возможности сменить раскладку клавиатуры с EN на RU. Т.е нет индикатора переключения раскладок и писать на русском вообще нельзя.
Вероятная причина — отсутствие у аппаратного терминала поддержки русской UTF-8 кодировки.
Пример решения — использование программы xmodmap.
Скачать архив с необходимой программой, например тут (список ссылок) — http://www.filewatcher.com/m/xruskb_1.15.3.orig.tar.gz.184083-0.html
распаковать установочник:
tar zxf xruskb_1.15.3.orig.tar.gz |
Переходим в распакованную папку xrus-1.15.3. Если начать установку сразу, в консоли будет выведена ошибка:
configure: error: You have to have X11 development package (include files and libraries) to compile xruskb. |
Загружаем и устанавливаем требуемый пакет:
apt-get update apt-get install xorg-x11-devel |
затем устанавливаем сам xruskb:
./configure make make && install |
Теперь программа должна нормально запускатьcя на сервере, проверяем работу (загружаем нужную нам кодировку):
xmodmap /usr/local/share/xruskb/jcuken-cyr.xmm xrus |
Язык меняется нажатием ЛКМ на окошечке программы или комбинацией левого и правого шифта вместе.
Теперь, при запуске программы на терминалках, она будет очень долго открываться в сопровождении сильных тормозов системы.
Для исправления этого, потребуется:
поменять с UTF-8 на koi8-r
в /etc/sysconfig/consolefont
SYSFONT=UniCyrExt_8x16 SYSFONTACM=koi8-r |
в /etc/sysconfig/i18n
LANG=ru_RU.KOI8-R |
в /etc/sysconfig/keyboard
KEYTABLE=ruwin_cplk-KOI8-R KBCHARSET=KOI8-R |
в /etc/menu-methods/lang.h
function lang()="ru_RU.KOI8-R" function languages()="ru_RU.KOI8-R" |
можно еще сделать export LANG=ru_RU.KOI8-R
через запуск команды update-menus
Тормоза при запуске xrus на терминалках должны пропасть.
Что бы избавить пользователей от ручного запуска программы, создадим простой скрипт и поместим его в автозапуск.
создать скрипт ruseng.sh с содержимым:
#!/bin/bash xrus jcuken-cyr.xmm |
поместить ruseng.sh в папку /etc/profile.d
поменять права скрипта
chmod +x /etc/profile.d/ruseng.sh |
После перезагрузки, xrus будет открываться сразу после входа пользователя.
Стандартная комбинация переключения у xrus это левый и правый шифты вместе, поменять эту комбинацию можно:
зажимаем ПКМ на xrus -> properties -> switch key kombination -> Shift_L+Control_L -> Apply -> Ok
это можно выполнить только на сервере, т.к. на тонких клиентах, по какой-то причине, менюшки не будут открываться.
файл /home/<Юзер, на котором поменяли настройки>/.xrus скопировать в корнвую папку других юзеров, для применения этих параметров переключения и у них.
В центре управления системой русский язык клавиатуры не отключать, xrus перестанет работать. Чтобы xrus не путался с системным переключателем языков при работе на сервере, не используйте одинаковые комбинации смены раскладки.
По каким-то причинам, на AltLinux 5.0.2 терминальном, русский язык в терминале Konsole через xruskb ведет себя очень странно: При вводе более ~32 русских символов, строка начинается сначала + либо начинают печататься какие-то азиатские символы или китайские иероглифы, либо просто те же русские символы печатаются поверх предыдущих. Эта проблема возникает и на сервере, и на тонких клиентах.
В UXterm и текстовых редакторах работает нормально.
без xrus такая же проблема, так что скорее это особенность 5.0.2