пятница, 18 ноября 2011 г.

VMware View клиент под Linux c поддержкой PCoIP

Из переписки

Добрый день!
Помнится была в блоге "записочка" с ссылкой на linux2aix на статейку по установке VMware View клиента от HP с поддержкой PCoIP и пробросом USB под Linux. И вот недавно я решил покрутить View 5 в целях самообразования (заодно руководству показать возможности).

В качестве клиентских ПК использовались довольно старенькие компики с Дебианом на борту. Решил набросать статейку и поделиться ей (авось кому-то пригодится).

Сразу хотел бы предупредить, что данное решение не является официальным, мало того, мне неизвестно насколько оно легально, т.к. в нем используются бинарные пакеты от HP которые официально предназначены для тонких клиентов HP ThinPro.

Итак, всех, кого не смущает мое предупреждение, прошу далее.
Предполагается, мы уже имеем:
  • установленный и настроенный vCenter,
  • один или несколько ESXi серверов,
  • сервер VMware View Connection Server

    (подробнее о настройке необходимых для View компонентов можно прочитать здесь или здесь, ну или тут. Инсталляция версий 4.x и 5 идентичны).
В качестве клиентских рабочих станций у меня выступают несколько стареньких ПК (Celeron 1.7/128MB/20Gb/100Mbit) с ОС Debian 6.0.3 i386 (хотя можно использовать любой линукс, но предпочтительно использовать дебианоподобные дистрибутивы) в минимальной инсталляции.

Я подозреваю что можно использовать и более старые ПК (запускал в виртуальной машине с лимитом частоты процессора в 400Mhz и 64Mb RAM, но производительность современного серверного железа с физическим 7-10 летней давности нельзя), а под рукой не оказалось таких для эксперимента.

Итак, приступим к настройке клиентской рабочей станции.
Для начала устанавливаем Debian 6.0.3 в минимальной конфигурации, на последнем этапе выбрав помимо стандартных системных утилит только ssh сервер (для удаленного управление рабочей станцией).
Далее ставим "иксы" и дополнительные зависимости VMware View Client:
root@viewclient:~# aptitude install xinit libqtgui4 libcurl3 libpcsclite1 libsamplerate0 libasound2 libgtk2.0-0 sudo 
 
А теперь приступаем к установке самого клиента. Скачиваем необходимые пакеты с ftp сервера HP:
root@viewclient:~# wget ftp://ftp.hp.com/pub/tcdebian/pool/thinpro33/non-free/hptc-manticore_3.2.1_i386.deb 
root@viewclient:~# wget ftp://ftp.hp.com/pub/tcdebian/pool/thinpro32/main/hptc-rdesktop_1.6.0-1.35_i386.deb 
root@viewclient:~# wget ftp://ftp.hp.com/pub/tcdebian/pool/thinpro33/non-free/hptc-sudo-edit_0.1_i386.deb 
root@viewclient:~# wget ftp://ftp.hp.com/pub/tcdebian/pool/thinpro33/non-free/vmware-view-client_4.6.0-366101-2_i386.deb 

К сожалению на данный момент нет пакетов для 5-й версии, но клиент версии 4.6 может свободно работать с сервером 5-й версии, за исключением новых фич, которые доступны в VMware View Client 5.0.

Я думаю вы заметили что пакет hptc-rdesktop скачивается не из той директории, в которой расположены остальные файлы, хоть он там и есть, да еще и более новой версии.

Дело в том, что новая версия собрана с поддержкой библиотеки libao2, но в репозитарии Debian Squeezze имеется только libao4.

libao2 доступен в Debian Lenny. Если в вашем дистрибутиве есть libao2, то можно использовать более свежий пакет hptc-rdesktop.

Инсталлируем их в следующей последовательности:
root@viewclient:~# dpkg -i hptc-manticore_3.2.1_i386.deb
root@viewclient:~# dpkg -i hptc-rdesktop_1.6.0-1.35_i386.deb
root@viewclient:~# dpkg -i hptc-sudo-edit_0.1_i386.deb
root@viewclient:~# dpkg -i vmware-view-client_4.6.0-366101-2_i386.deb 

Создаем симлинк, дял корректной работы проброса USB:
root@viewclient:~# ln -s /usr/lib/vmware/vmware-view-usb /etc/vmware/usb.link

И пробуем запустить клиент следующей командой:
root@viewclient:~# vmware-view 

Если запуск произошел без ошибок можно открыть первую бутылку пива :)

Теперь необходимо привести все это добро в удобоваримый для конечного пользователя вид. В процессе установки ОС был создан пользователь view, под которым будет запускаться VMware View Client.

Для начала настроим автоматический запуск "иксов" при загрузке системы под пользователем view.
Для этого редактируем файл rc.local добавив перед заключительной строкой exit  следующую строчку:
su - view -c startx 

Перезагружаемся что бы удостовериться что "иксы" стартовали успешно.
Если все ок, то последним этапом настраиваем автоматический старт VMware View Client при старте "иксов" и выключение ПК после его закрытия.
Для этого в домашней директории пользователя создаем файл .xinitrc следующего содержания:
. /usr/local/bin/vmwareview.sh

Создаем скрипт vmwareview.sh:
#!/bin/sh /usr/bin/vmware-view && sudo /sbin/shutdown -hP now 

И редактируем файл sudoers, разрешив пользователю view выключать ПК:
view ALL = NOPASSWD: /sbin/shutdown -hP now 

Еще раз перегружаемся и убеждаемся что все работает как запланировано.

Открываем вторую бутылку пива :)

На этом пожалуй все. В данной статье я рассмотрел только базовую настройку ОС клиентского ПК для запуска VMware View Client под Linux, но ее достаточно для комфортной работы.

P.S. Сферой применение подобной схемы может быть тестовое внедрение VDI на базе VMware View без закупки дополнительного оборудования (тонких клиентов), использование в образовательных целях (изучение VMware View) и т.д.

Thx to m0ps

9 комментариев:

  1. У меня не заработало. При попытке запуска root@viewclient:~# vmware-view вышло следующее сообщение Using log file /tmp/vmware-root/vmware-view-1325.log. Debian ставил именно этой версии со следующего образа http://cdimage.debian.org/debian-cd/6.0.3/i386/iso-cd/debian-6.0.3-i386-netinst.iso

    ОтветитьУдалить
  2. Хорошо бы иметь инструкцию пошаговую с самого начала установки

    ОтветитьУдалить
  3. правильно, должно появиться сообщение указывающее на файл с логом и окошко с клиентом

    ОтветитьУдалить
  4. да и инструкция и так пошаговая и с самого начала.
    если есть вопросы, можно обращаться на мыло: m0ps.uagmail.com

    ОтветитьУдалить
  5. В адресе @ идет после а, или а и означает @?

    ОтветитьУдалить
  6. Привет
    у меня ошибку пишет при конекте к серверу . Может ктото знает в чём проблема .

    could not connect to server
    verify that the view connection server address , port , network settings , and SSL settings are correct and try again

    спасибо

    ОтветитьУдалить
  7. Как установить сертификат ругается на него.
    Есть только "Посмотреть сертификат" и "Закрыть"
    галки игнорировать как под win нет, что делать, как быть?
    Спасибо.

    ОтветитьУдалить
  8. Добрый день! Клиент работает, но не пробрасывается USB. В чем может быть причина? Спасибо.

    ОтветитьУдалить