Linux Terminal Server (русские шрифты в ООО и переключение раскладки клавиатуры)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

zag
Сообщения: 102

Linux Terminal Server

Сообщение zag »

У меня в офисах все давно работает с использованием тонких клиентов. В трех офисах три сервера терминалов, все на w2k3.
Основная работа с 1С, но база только в головном офисе, так что есть шанс в двух других офисах уйти с windows.
Из имеющихся дистрибутивов (Slackware 10.0, SuSe 9.3, Mandriva LE 2005) выбрал 3 как наиболее русифицированнную и "юзерфрендливую" и не страдающую переизбытком устанавливаемого по умолчанию софта.

С ltsp.org скачал пакет ltsp-utils http://ltsp.mirrors.tds.net/pub/ltsp/utils...tils-0.25-0.tgz
По инструкции http://www.ltsp.org/documentation/ltsp-4.1...-en.html#AEN320 распаковал, запустил ltspadmin.
Подробнее об установке и настройке можно почитать http://www.novell.com/coolsolutions/feature/1639.html .

Подправил /etc/dhcpd.conf. Почему-то клиент не мог получить ip, пока я не прописал его явно
host ws001 {
hardware ethernet 00:E0:18:E0:04:82;
fixed-address 192.168.0.1;
filename "/lts/vmlinuz.ltsp";

Все, ip получил - новая ошибка - TFTP не может найти ядро для тонкого клиента. Пришлось лезть в /etc/xinetd.d/tftp
и править строку
server_args = -s /tftpboot
(там путь был прописан /usr/что-то там)

Теперь ядро грузится, иксы стартуют но зависают, видьмокарта не определилась.....
Ладно, лезу в /opt/ltsp/i386/etc/lts.conf
В блоке [ws001] меняю
XSERVER = XF86_SVGA
Заодно и мыша
X_MOUSE_PROTOCOL = "IMPS/2"

Ура, загрузилось! Рутом не пущает, юзером вошел.
Первые разочарования - в ООО нет кириллицы НИГДЕ, даже вместо пунктов меню прочерки :(
Второе - не работает переключение раскладки клавиатуры.
Пробовал править /opt/ltsp/i386/etc/lts.conf

XkbModel = "pc105"
XkbLayout = "us,ru(winkeys)"
XkbOptions = "grp:ctrl_shift_toggle,grp_led:scroll"

Увы, это ничего не дало.

Прочитал здесь http://www.opennet.ru/base/X/xdmcp_xterminal.txt.html , что надо править файл /opt/ltsp/i386/etc/rc.setupx. Но нет у меня этого файла.

Кто победил эти проблемы, подскажите, где копать.
Спасибо сказали:
Аватара пользователя
VadimD
Сообщения: 90

Re: Linux Terminal Server

Сообщение VadimD »

Я победил. Вот таблетка по раскладке.
В вашем случае используется ctrl_shift_toggle - !!!
За построение XF86Config-версия иксов отвечает скрипт /путь_корню_ltsp/etc/build_x4_cfg (build_x3_cfg)
Например, в ltsp-4.2 надо привести кусок build_x4_cfg к примерно к такому виду

Код: Выделить всё

cat <<-EOF
Section "InputDevice"
       Identifier  "Keyboard0"
#       Driver      "keyboard"
        Driver      "kbd"
        Option      "XkbLayout" "${XKBLAYOUT:-"us"}"
        Option     "XkbModel" "${XKBMODEL:-"pc101"}"
        Option     "XkbOptions" "grp:alt_shift_toggle"
EndSection

#и далее без именений

здесь прописывается переключалка жестко - так у меня, хотя можно нарисовать переменную и регулировать это дело из lts.conf, и еще, здесь меняется драйвер клавиатуры.
А, вот, глянул бэкапы, в старых версиях ltsp - тоже самое, кроме тех, где нет xorg.
скрипт build_x4_cfg в принципе очень простой, разобраться там не так уж сложно.

в lts.conf у меня

Код: Выделить всё

XKBLAYOUT = us,ru(winkeys),ua(winkeys)


Для тройной раскладки нужно проделать следующее:
/путь_корню_ltsp/etc/X11/xkb/symbols/group в секции "alt_shift_toggle"

Код: Выделить всё

xkb_symbols "alt_shift_toggle" {
    virtual_modifiers Alt;
    key <LALT> {
 symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
 virtualMods= Alt
    };
    key <RALT> {
 symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
 virtualMods= Alt
    };
    key <LFSH> {
 type="PC_SYSRQ",
 symbols[Group1]= [ Shift_L, ISO_Next_Group ]
    };
    key <RTSH> {
 type="PC_SYSRQ",
 symbols[Group1]= [ Shift_R, ISO_Next_Group ]
    };
};

хотя это оффтоп.

Касателно ООО - проверте работу (на сервере) xfs сервера на tcp 7100 коммандой netstat -an | grep 7100
и наличие нужных шрифтов в его конфигурации - потому что, присутствующих в комплекте ltsp шрифтов недостаточно.
Я вообще локальные шрифты в терминале выключил - все черпается из xfs.

От себя про LTSP добавлю - документация там не всегда соответствует действительности, нужно разбираться руками.
Удачи.
Gentoo/***

_________
BRGDS!
Спасибо сказали:
zag
Сообщения: 102

Re: Linux Terminal Server

Сообщение zag »

2 VadimD Огромное спасибо за подсказку!
Правда, с XFS немного запарился - забыл закомментировать в /etc/X11/fs/config строку
#no-listen = tcp

И еще один вопрос - возможен ли автологин, как в rdesktop?

Пока буду разбираться с монтированием локальных устройств типа флешки, сидирома, флопа и звука.
Спасибо сказали:
Аватара пользователя
VadimD
Сообщения: 90

Re: Linux Terminal Server

Сообщение VadimD »

возможен ли автологин, как в rdesktop?

Не знаю, не пользуюсь, но, где-то в встречал, погуглите, может нароется.

С локальными устройствами проблема разрешена в крайней версии 4.2
Были проблемы со сборкой серверной части ltspfs под amd64 - немного поковырять код пришлось.
А в предидущих версиях, для монтирования смонтированных устройствами директорий в юзерспейс, рекомендую связку fuse+sshfs - единственное что работало без глюков. Варианты с самбой... не сложилось у нас ней в этой области - слишком медленно работает.
Звук. В качестве сервера - esound - ИМХО, лучший вариант. В варианте с nasd, клиент слышит "затыки" звука, и вообще звук неприемлемый.
Удачи.

P.S. А вообще, крайняя версия - это нечто, при наличии LBE - инструмента самостоятельной сборки корня ltsp - возможностей открывается масса. У меня например в теминалах с HDD-накопителями организован бэкап сервера и пользовательских данных через rsync, туда-же складываются бэкап баз 1С. Сотрудники, работающие с терминалом даже не знают об этом. Есть еще несколько задумок, почти готовых к реализации.
Gentoo/***

_________
BRGDS!
Спасибо сказали: