LTSP/xmodmap

Материал из ALT Linux Wiki
< LTSP
Версия от 11:51, 7 апреля 2014; 217.9.147.70 (обсуждение) (Новая страница: «'''Имеются:''' тонкие клиенты ТОНК1202, AltLinux 5.0.1 Терминальный сервер.<br /> '''Проблема:''' при подкл...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Имеются: тонкие клиенты ТОНК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