пятница, 3 октября 2014 г.

Thinstation и rdesktop, допиливаем

Исходные данные:
Есть учебный класс, состоящий из относительно старых машин (правда часть из них с 64-битными процессорами).
До этого на них стояла Windows XP и AutoCAD 2009. Но время идет, актуальная версия AutoCAD уже 2014, и это добро уже не установишь на такие дохлые железки. Всемогущий гугль навел на Thinstation.
В двух словах, это тонкий клиент, который поддерживает RDP и кучу других протоколов и умеет грузиться по сети.
Мы попробовали версию 5.2-Stable в связке с freerdp (клон более известного rdesktop). Возможно мы неправильно готовили freerdp, но у некоторых пользователей возникли проблемы в виде зависаний и ребутов тонких клиентов в определенные моменты при работе в AutoCAD, например, в момент отрисовки окружности.
Затем взяли версию 6.0-Unstable в связке с rdesktop, который показался более стабильным.
Однако прежде чем удалось его запустить, пришлось повозиться. Такое ощущение, что разработчики Thinstation пока забили на поддержку rdesktop.
Итак, берем к примеру Ubuntu 12.04 под VirtualBox, не помешает 10Гб свободного места, окружение для сборки Thinstation достаточно объемное. Еще придется выкачать около 2Гб по сети.


# apt-get install git
# mkdir -p /opt/TS-6
# cd /opt/TS-6
# git clone -b "6.0-Unstable" --depth 1 \ 
https://github.com/Thinstation/thinstation.git ./

Не буду описывать подробности сборки, хочу лишь поделиться обходом граблей с rdesktop:

# cd /opt/TS-6.0/ts/6.0/packages/rdesktop/etc/cmd
# touch rdesktop.getpass
# touch rdesktop.getuser
# echo 'SERVER_ARG=" "; USER_ARG="-u "; PASSWORD_ARG="-p "' > rdesktop.options
# echo 'DIALOG_TITLE=RDesktoP' >> rdesktop.options
# echo 'x_get_ip' >> rdesktop.options

Настройки сессии rdesktop:

ICONMODE=MANUAL

SESSION_0_TITLE="xfwm4"
SESSION_0_TYPE=xfwm4
SESSION_0_AUTOSTART=On

SESSION_1_TITLE="Rdesktop"
SESSION_1_TYPE=rdesktop
SESSION_1_ICON=SUBMENU
SESSION_1_RDESKTOP_OPTIONS="-a 16 -e -d your_domain -b"
SESSION_1_AUTOSTART=Off

ALWAYS_ENTER_SERVER=TRUE