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