⌨ Labor omnia vincit ☮

openSUSE :: CITRIX Receiver 13.0

Posted in SuSE [ru] by anaumov on 26.05.2014

200px-Citrix.svgCitrix Receiver является ключевым элементом комплексной стратегии Citrix в области виртуальных вычислений, которая была создана с целью оптимизировать работу ИТ-служб и предоставить пользователям большую гибкость при выборе способа и места работы. Решение Citrix Receiver позволяет сотруднику, находящемуся вдали от офиса, работать с привычными настольными, web- или SaaS-приложениями и инструментами в режиме реального времени (посредством собственного ICA-протокола).
Рассмотрим процесс её установки в openSUSE 13.1 (x86_64).

Для установки нам понадобится rpm, который мы можем найти на странице проекта. Версия, которую я устанавливал, называется ICAClient-13.0.0.256735-0.x86_64.rpm.

Установить rpm пакет мы можем при помощи команды rpm -i, но в этом случае зависимости нам придется доустанавливать вручную.

> sudo rpm -i ICAClient-13.0.0.256735-0.x86_64.rpm
error: Failed dependencies:
        libgtk-x11-2.0.so.0 is needed by ICAClient-13.0.0.256735-0.x86_64
        libXt.so.6 is needed by ICAClient-13.0.0.256735-0.x86_64
        libXmu.so.6 is needed by ICAClient-13.0.0.256735-0.x86_64
        libX11.so.6 is needed by ICAClient-13.0.0.256735-0.x86_64
        libXinerama.so.1 is needed by ICAClient-13.0.0.256735-0.x86_64
        libSM.so.6 is needed by ICAClient-13.0.0.256735-0.x86_64
        libXpm.so.4 is needed by ICAClient-13.0.0.256735-0.x86_64
        libXext.so.6 is needed by ICAClient-13.0.0.256735-0.x86_64
        libXrender.so.1 is needed by ICAClient-13.0.0.256735-0.x86_64
        libICE.so.6 is needed by ICAClient-13.0.0.256735-0.x86_64
        nspluginwrapper is needed by ICAClient-13.0.0.256735-0.x86_64
        libcurl.so.4 >= 7.19.1 is needed by ICAClient-13.0.0.256735-0.x86_64
        libxerces-c-3.1.so is needed by ICAClient-13.0.0.256735-0.x86_64
        libwebkitgtk-1.0.so.0 is needed by ICAClient-13.0.0.256735-0.x86_64

Названия необходимых пакетов совпадают с названием библиотек. Либо мы можем воспользоваться zypper wp, который точно скажет нам, в каком пакете находися необходимая библиотека. После установки openSUSE 13.1 почти все библиотеки и так находятся в системе, но все они для x86_64, т.е. 64 бита, а нам нужны их 32-битные версии. Вот что по поводу System requirements написано на странице проекта:

The device requirements listed in this topic apply to 32-bit and 64-bit systems. Receiver for Linux is a 32-bit program, and requires 32-bit libraries in the system to operate. You can use the 64-bit package to install the 32-bit version of Receiver on 64-bit systems, but suitable 32-bit system libraries must be available. If they are not, Receiver either does not install or does not function correctly.

Еще одна проблемка в том, что есть один пакет, который zypper не сможет найти. Это libxerces-c-3.1-32bit. Как я уже сказал, нужна 32-битная версия, а по умолчанию zypper сможет найти только для x86_64. Она есть и отлично работает, но чтобы установить её, понадобится подключить дополнительный репозиторий:

> sudo zypper ar -f \
http://download.opensuse.org/repositories/devel:/libraries:/c_c++/openSUSE_13.1 C-Lib

> zypper wp libxerces-c-3.1.so
Loading repository data...
Reading installed packages...

S | Name                  | Summary                                                 | Type   
--+-----------------------+---------------------------------------------------------+--------
i | libxerces-c-3_1       | Shared libraries for Xerces-c - a validating XML parser | package
  | libxerces-c-3_1-32bit | Shared libraries for Xerces-c - a validating XML parser | package

После этого зеленый свет для установки Citrix Receiver:

> sudo zypper in ICAClient-13.0.0.256735-0.x86_64.rpm 
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following 33 NEW packages are going to be installed:
  gtk2-tools-32bit ICAClient libcairo2-32bit libcanberra-gtk0-32bit libcanberra-gtk2-module-32bit
  libcurl4-32bit libgdk_pixbuf-2_0-0-32bit libgtk-2_0-0-32bit libICE6-32bit libpango-1_0-0-32bit 
  libSM6-32bit libwebkitgtk-1_0-0-32bit libX11-6-32bit libXcomposite1-32bit libXcursor1-32bit 
  libXdamage1-32bit libxerces-c-3_1-32bit libXext6-32bit libXfixes3-32bit libXft2-32bit libXi6-32bit
  libXinerama1-32bit libXmu6-32bit libXpm4-32bit libXrandr2-32bit libXrender1-32bit libXt6-32bit
  libXxf86vm1-32bit Mesa-32bit Mesa-libEGL1-32bit Mesa-libGL1-32bit nspluginwrapper pango-tools-32bit 

33 new packages to install.
Overall download size: 26.9 MiB. After the operation, additional 127.8 MiB will be used.
Continue? [y/n/? shows all options] (y):

На всякий случай показываю содержание пакета libxerces-c-3_1-32bit:

> rpm -ql libxerces-c-3_1-32bit
/usr/lib/libxerces-c-3.1.so

> file /usr/lib/libxerces-c-3.1.so
/usr/lib/libxerces-c-3.1.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV),
dynamically linked, BuildID[sha1]=a0b9997df51faafcbb252dba23029ea41b5fa9cb, stripped

После установки в браузере заходим на сервер, вводим логин/пароль и… ничего не загружается. Проблема в том, что, несмотря на установку всех зависимостей, которые были прописаны в spec, ICAClient’у ещё понадобится библиотека libpng12.so.0 (пакет libpng12-0-32bit). Да, в spec были прописаны не все зависимости, которые нужны для корректной работы программы. Попробуйте запустить браузер в консоли, чтобы увидеть сообщение об ошибке.

После установки libpng12-0-32bit ICAClient заработал без проблем. С помощью lsof видим, что новый процесс соединился с Citrix Receiver сервером:

> lsof -n -i | grep ica
wfica   3174 anaumov   12u  IPv4  82840   0t0  TCP AAA.AA.AA.AAA:42258->B.B.BBB.BB:ica (ESTABLISHED)

Да, немного неудобно выходит с подключением дополнительного репозитория, но, по большому счету, это единственная проблемка, не считая зависимость libpng12-0-32bit, с которой мы столкнулись при установке. После установки Citrix Receiver работает без проблем.
Просто для сравнения обратите внимание на руководство (особенно на второй шаг, где предлагают что-то скачивать с github и пересобирать пакет) по установке того же Citrix Receiver для дистибутива, где “все сделано проще и лучше… и работает без проблем”🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: