LTSP/xmodmap: различия между версиями

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

Текущая версия от 15:45, 7 апреля 2014

Вводная

Имеются: тонкие клиенты ТОНК1202, ALT Linux 5.0.1 Терминальный сервер.
Проблема: при подключении через протокол XDMCP с тонкого клиента на терминальный сервер, нет возможности сменить раскладку клавиатуры с EN на RU. Т.е. нет индикатора переключения раскладок и писать на русском вообще нельзя.
Вероятная причина — отсутствие у аппаратного терминала поддержки русской UTF-8 кодировки.
Пример решения — использование программы xmodmap.

Сборка

  1. скачиваем архив с необходимой программой, например, тут (список ссылок)
  2. распаковываем:
    tar zxf xruskb_1.15.3.orig.tar.gz
  3. переходим в распакованную папку xrus-1.15.3:
    cd xrus-1.15.3
  4. если начать установку сразу, в консоли будет выведена ошибка:
    configure: error: You have to have X11 development package
    (include files and libraries) to compile xruskb.
  5. загружаем и устанавливаем требуемый пакет:
    apt-get update; apt-get install xorg-x11-devel
  6. затем устанавливаем сам xruskb:
    $ ./configure && make
    # make install

Теперь программа должна нормально запускатьcя на сервере, проверяем работу (загружаем нужную нам кодировку):
xmodmap /usr/local/share/xruskb/jcuken-cyr.xmm; xrus

Язык меняется нажатием ЛКМ на окошечке программы или комбинацией левого и правого шифта вместе.

Настройка

Теперь при запуске программы на терминалках она будет очень долго открываться в сопровождении сильных тормозов системы...

Для исправления этого потребуется переехать с UTF-8 на koi8-r:

  1. в /etc/sysconfig/consolefont:
    SYSFONT=UniCyrExt_8x16
    SYSFONTACM=koi8-r
  2. в /etc/sysconfig/i18n:
    LANG=ru_RU.KOI8-R
  3. в /etc/sysconfig/keyboard:
    KEYTABLE=ruwin_cplk-KOI8-R
    KBCHARSET=KOI8-R
  4. в /etc/menu-methods/lang.h:
    function lang()="ru_RU.KOI8-R"
    function languages()="ru_RU.KOI8-R"
  5. можно еще сделать export LANG=ru_RU.KOI8-R; через запуск команды update-menus тормоза при запуске xrus на терминалках должны пропасть.

Чтобы избавить пользователей от ручного запуска программы, создадим простой скрипт и поместим его в автозапуск.

  1. создать скрипт ruseng.sh с содержимым:
    #!/bin/sh
    xrus jcuken-cyr.xmm
  2. поместить ruseng.sh в папку /etc/profile.d
  3. поменять права на скрипт:
    chmod +x /etc/profile.d/ruseng.sh

После перезагрузки xrus будет стартовать сразу после входа пользователя.

Применение

Стандартная комбинация переключения xrus — это левый и правый шифты вместе, поменять эту комбинацию можно так:

  1. зажимаем ПКМ[1] на xrus -> properties -> switch key kombination -> Shift_L+Control_L -> Apply -> Ok
  2. файл /home/<Юзер, на котором поменяли настройки>/.xrus скопировать в домашнюю папку других юзеров для применения этих параметров переключения и у них.

В центре управления системой русский язык клавиатуры не отключать, xrus перестанет работать. Чтобы xrus не путался с системным переключателем языков при работе на сервере, не используйте одинаковые комбинации смены раскладки.

Проблемы

По каким-то причинам на ALT Linux 5.0.2 терминальном русский язык в терминале Konsole через xruskb ведет себя очень странно: при вводе более ~32 русских символов строка начинается сначала + либо начинают печататься какие-то азиатские символы или китайские иероглифы, либо просто те же русские символы печатаются поверх предыдущих. Эта проблема возникает и на сервере, и на тонких клиентах.

В UXterm и текстовых редакторах работает нормально.

без xrus такая же проблема, так что это скорее баг 5.0.2

Ссылки

Примечания

  1. это можно выполнить только на сервере, т.к. на тонких клиентах по какой-то причине менюшки не будут открываться