Дружим Thinstation 5.0 и клиент VMWare View 5.0 c полноценным USB-redirect’ом

в 8:29, , рубрики: linux, thinstation, usb, vmware view, виртуализация, системное администрирование, метки: , , ,

В начале года я начал заниматься попытками запустить в среде Thinstation клиент VMWare View и этот текст — результат моей работы. Это скорее даже заметка, нежели полноценная статья, так как писака из меня неважный. Кто заинтересовался — читайте далее.

Пролог

Изначально я мучался с VMWare View Open Client, пока до меня не дошло, что он в принципе не поддерживает протокол PCoIP. После нескольких дней поисков был обнаружен официальный клиент VMWare View в репозиториях убунты. Спустя еще какое то время мне удалось наконец собрать и запустить его. На тот момент это была версия 1.3 (под View 5.0), которая работала очень хорошо, но к моему сожалению, была в состоянии Tech Preview без так называемого «проброса USB портов».
В попытках найти еще какую-то информацию по интересующей меня теме я нашел вначале .deb пакет VMWare View версии 4.5, затем версии 4.6 для тонких клиентов HP, а так же наткнулся на статью пользователя m0ps. Я попробовал повторить тоже, но уже в среде Thinstation 2.5 с полученной ранее реализацией — мне удалось запустить клиент. Данное решение было уже чем-то рабочим, но не устраивало тем, что не было поддержки low-bandwidth подключений, рвало сессию при обрыве соединения и еще по мелочи.
Была предпринята еще одна попытка с версией официального клиента 1.4 из репозитория убунты, но опять же клиент был без поддержки USB.
И вот оно долгожданное счастье: 13 апреля HP выпускает обновление програмного обеспечения для своих тонких клиентов на базе linux! Нужный .deb пакет был выковырян, все собрано в нужном виде менее чем за 15 минут и радовало меня своей полноценной работой :)
И вот я здесь, чтобы поделиться с вами рецептом приготовления Thinstation 5.0 и VMWare View 5.0 с полноценной поддержкой USB-redirect'a, что было невозможно сделать буквально до сегодняшнего дня.

Собственно, рецепт

В легальности использования этого способа я неуверен, все описанное ниже делалось в целях самообучения, так что вы все делаете на свой страх и риск.
Надеюсь, у вас уже установлен Thinstation 5.0 и VMWare View 5.0 и вы по прежнему хотите обзавестись подержкой USB в ваших тонких клиентах?
Тогда поехали:
1. Скачиваем пакет, содержимое распаковываем в директорию /thinstation/ts/5.0/packages/
2. Переходим в поддиректорию build
3. Запускаем скрипт ./dep_view5.sh.
4. Добавляем в build.conf строку «package vmviewpcoip»
5. Собираем образ
6. PROFIT!

Несколько предостережений по процессу сборки:
1. Обязательно запускать скрипт (п.3) только после входа в Dev режим (./setup-chroot в директории /thinstation) иначе не сработает комманда ar для распаковки .deb пакета и вы не получите рабочий пакет
2. Архив со скриптом обязательно распаковывать под линуксом (чтобы не послетали права)

В случае успешного завершения созданый рядом с скриптом dep_view.log будет ~24кбайт. В противном случае — анализируйте его, чтобы понять где у вас возникла проблема.
А если еще подправить thinstation.conf.buildtime — получаем автозагрузку клиента после старта системы тонкого клиента. Пример:

SESSION_0_TYPE=vmviewpcoip
SESSION_0_AUTOSTART=on
SESSION_0_VMVIEWPCOIP_SERVERURL=https://vmware-view5-server
SESSION_0_VMVIEWPCOIP_FULLSCREEN=true
SESSION_0_VMVIEWPCOIP_DOMAINNAME=example.com

Полученный образ загружаю на старом железе по PXE. Конечному пользователю остаеться только ввести свой доменный логин+пароль и начать работать в привычном для него окружении.

Эпилог

Сам пакет. Так же, в комплекте оставил старую версию скрипта для сбора пакета версии 4.6 (./dep_view4.6.sh) как бонус и скрипт зачистки (./clean_dep.sh).
Вероятно, через какое то время, вы сможете найти его в составе Thinstation 5.0 что называеться «из коробки», а так же отдельно сам скрипт и описание как пользоваться в мейллисте Thinstation.
Пользуясь случаем, передаю привет wfx, tiv, Petry Roman, а так же другим зарубежным коллегам с канала #thinstation, помогавшим мне в сборе всей этой веселой беды.

Автор: podwhitehawk

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js