Понадобилось мне уметь использовать в своей работе опубликованные приложения на системе нового образца, а именно релиза Ubuntu 14.04.1 Desktop amd64 , поэтому данная заметка будет своего рода напоминалка шагов, которые нужно сделать, чтобы использовать опубликованные приложения от Citrix. В работу данных шагов включена практическая часть, как установить клиент Citrix Receiver 13 для последующего использования приложений Windows. В роли таких приложений у меня на работе выступает возможность подключения клиентом 1С , как версии 7 так и 8 к определенным базам. Также в ходе практической демонстрации как происходит подключение, я покажу пути решения проблем, с которыми я столкнулся.
Итак, сперва запрещу системе обновлять на более новые релизы:
ekzorchik@srv-serv:~$ sudo nano /etc/update-manager/release-upgrades
Prompt=never
Обновляю систему до актуального состояния:
ekzorchik@srv-serv:~$ sudo apt-get update && sudo apt-get upgrade -y
Создам каталог, где буду располагаться скачанные deb файлы клиента Citrix:
ekzorchik@srv-serv:~$ mkdir ica
Далее посредством браузера по ссылке (http://www.citrix.ru/downloads/citrix-receiver/linux/receiver-for-linux-131.html) скачиваю deb пакеты применительно к своей архитектуре amd64 в созданный каталог ica.
Далее перехожу к установке клиента:
ekzorchik@srv-serv:~$ sudo dpkg -i ica/icaclient_13.1.0.285639_amd64.deb
В процессе установки обнаружатся недостающие компоненты, для их установки следует запустить нижеследующую команду:
ekzorchik@srv-serv:~$ sudo apt-get –f install –y
Повторяю установку клиентской части Citrix и она завершается успешно, ошибок не было выявлено в процессе:
ekzorchik@srv-serv:~$ sudo dpkg -i ica/icaclient_13.1.0.285639_amd64.deb
Устанавливаю поддержку USB:
ekzorchik@srv-serv:~$ sudo dpkg -i ica/ctxusb_2.4.285639_amd64.deb
Selecting previously unselected package ctxusb.
(Reading database … 167659 files and directories currently installed.)
Preparing to unpack …/ctxusb_2.4.285639_amd64.deb …
Unpacking ctxusb (2.4.285639) …
Setting up ctxusb (2.4.285639) …
* Starting Citrix USB daemon [fail] – А почему статус ошибочный
Processing triggers for ureadahead (0.100.0-16) …
Начинаю смотреть логи, почему так происходит натыкаюсь на то что в системе не найден некоторый модуль:
ekzorchik@srv-serv:~$ sudo tail -f /var/log/syslog | grep ctxusbd
Dec 11 15:16:41 srv-serv ctxusbd[8380]: libcap: libcap.so.1: cannot open shared object file: No such file or directory
Dec 11 15:20:39 srv-serv ctxusbd[8501]: libcap: libcap.so.1: cannot open shared object file: No such file or directory
Пока поправить, эту ошибку не знаю. Двигаюсь дальше, запускаю собственно сам клиент, действия как его вызвать смотрите ниже:
Запускаю:
Т.к. дефолтный графический интерфейс Ubuntu 14.04.1 Desktop – это Unity, то чтобы вызвать приложение, нужно посредством системного меню, где имеют место установленные приложения вызвать Dash, которое находится в самом верхнем значке панели Unity и после в строке поиска набрать – «Citrix». По мере ввода будут отображаться приложения, имеющие полное соответствие с набранным.
Приложение у меня не запустилось и в логах, нет ни каких сообщений об этом. Даже по окончании этой заметки данное приложение у меня с использованием GUI интерфейса не запустилось, только консольное подключение работало и проблем не знало. Видимо это из-за стола с графическим интерфейсом Unity.
Заходим на Web–интерфейс сервера, где развернут Citrix:
Если не получиться вдруг зайти, то можно как вариант прописать соответствие имени хоста и IP адреса в файл /etc/hosts:
ekzorchik@srv-serv:~$ sudo nano /etc/hosts
192.168.0.2 ekt-ts10.dsplit.local
Сохраняем внесенные изменения.
Далее открываем браузер и вводим в строку адреса следующий URL:
http://ekt-ts10.dsplit.local/Citrix/AccessPlatform – авторизуюсь
User name: alektest
Password:Aa1234567
Domain:dsplit
И нажимаю Log In
Меня перекинет на страницу, где будут отображены все опубликованные и доступные данному пользователю приложения и скачиваем уже существующее приложение “S2013”
, выделив его и сохранив (Save Target As) куда-либо удобнее, по умолчанию скачиваемое приложение именуется, как launch.ica
, а после сохранившийся файл переименовываем, как 1c.ica, хотя можно было здесь это и сразу в процессе скачивания.
ekzorchik@srv-serv:~$ mv launch.ica 1c.ica
Запускаю клиент Citrix из консоли с указанием на скачанное приложение:
ekzorchik@srv-serv:~$ /opt/Citrix/ICAClient/wfica 1c.ica
в консоли вижу ошибки:
(wfica:2575): Gtk-WARNING **: Unable to locate theme engine in module_path: “murrine”,
(для исправления:
ekzorchik@srv-serv:~$ sudo apt-get install gtk2-engines-murrine:i386 –y)
Пробую запустить скачанное приложение еще раз.
ekzorchik@srv-serv:~$ /opt/Citrix/ICAClient/wfica 1c.ica
И окно аутентификации на сервере
, но обнаружил – не работает клавиатура, а через некоторое время вообще приложение зависло, мышкой не могу нажать на ОК, ОТМЕНА, Параметры.
И после соединение было сброшено
Заметил еще одно но, после запуска, файл 1c.ica удаляется, поэтому запрещю его удаление:
ekzorchik@srv-serv:~$ sudo chown ekzorchik:ekzorchik 1c.ica
ekzorchik@srv-serv:~$ sudo chattr +i 1c.ica
ekzorchik@srv-serv:~$ sudo apt-get install gtk2-engines
и клавиатура работает
Запускаю снова и опубликованное приложение запускается:
ekzorchik@srv-serv:~$ /opt/Citrix/ICAClient/wfica 1c.ica
ввожу аутентификационные данные на подключение
Нажимаю ОК и попадаю в следующее окно уже авторизации в программе 1С базы опубликованного приложения:
И нажимаю «ОК» и передо мной разворачивается приложение 1С подключенное к определенной базе
Завершаю работу с программой
Файл – Выход – Да
и возвращаюсь в консоль, проверяю не удалился ли файл 1c.ica, нет не удалился.
Подправляю конфиг 1c.ica чтобы миновать окно аутентификации на сервере:
ekzorchik@srv-serv:~$ chattr -i 1c.ica
chattr: Operation not permitted while setting flags on 1c.ica
ekzorchik@srv-serv:~$ sudo chattr -i 1c.ica
Ниже пример моего конфигурционного файла на прозрачное подключение к опубликованному приложению. Пояснять в этой заметке значение каждого параметра не имеет смысла, есть документация.
ekzorchik@srv-serv:~$ nano 1c.ica
[Encoding]
InputEncoding=UTF-8
[WFClient]
CPMAllowed=On
ClientName=srv-serv
ProxyFavorIEConnectionSetting=Yes
ProxyTimeout=30000
ProxyType=Auto
ProxyUseFQDN=Off
RemoveICAFile=no
TransparentKeyPassthrough=Local
TransportReconnectEnabled=On
VSLAllowed=On
Version=2
VirtualCOMPortEmulation=Off
[ApplicationServers]
Client1=
[Client1]
Address=192.168.0.2:1494
InitialProgram=#S2013
AutologonAllowed=ON
BrowserProtocol=HTTPonTCP
ClientAudio=off
Compress=On
TWIMode=On
DesiredHRES=1024
DesiredVRES=768
DesiredColor=4
TransportDriver=TCP/IP
WinStationDriver=ICA 3.0
UseDefaultEncryption=On
EncryptionLevel=1
UseDefaultWinSize=Off
DesiredWinType=8
ZLKeyboardMode=2
ZLMouseMode=2
Username=alektest
Domain=DSPLIT
SavePNPassword=On
UseLocalUserAndPassword=Off
DisableCtrlAltDel=On
UIFlags=12
ICASOCKSProtocolVersion=0
ICASOCKSProxyPortNumber=0
ICASOCKSTimeout=0
SSLEnable=off
SSLProxyHost=*:443
SecureChannelProtocol=Detect
SSLNoCACerts=0
SSLCiphers=ALL
ClearPassword=Aa1234567
ScreenPercent=0
EnableWorkspaceControl=Off
Сохраняю внесенные изменения, а после выставляю атрибут запрета на удаление файла 1c.ica:
ekzorchik@srv-serv:~$ sudo chattr +i 1c.ica
Проверяю:
ekzorchik@srv-serv:~$ /opt/Citrix/ICAClient/wfica 1c.ica
подключение происходит, и я дохожу до окна авторизации в 1С – что собственно мне и требовалось.
Теперь осталось вынести ярлык на рабочий стол, делается это так, первым делом создаю скрипт, который будет запускать опубликованное приложение:
ekzorchik@srv-serv:~$ nano run.sh
#!/bin/bash
/opt/Citrix/ICAClient/wfica /home/ekzorchik/1c.ica
ekzorchik@srv-serv:~$ chmod +x run.sh
А теперь создаю файл ярлык на рабочий стол в Ubuntu 14.04.1 Desktop amd64:
ekzorchik@srv-serv:~$ cd Desktop/
ekzorchik@srv-serv:~/Desktop$ nano S2013.desktop
[Desktop Entry]
Version=1.0
Name=База S2013
Comment=
Exec=/home/ekzorchik/run.sh
Type=Application
Icon=/home/client/1c.png – почему-то данный файл не стал изображением ярлыка, пока я этот момент разбора почему так произошло пропущю.
Сохраняю внесенные изменения.
Защищаю ярлык от удаления:
ekzorchik@srv-serv:~/Desktop$ sudo chattr +i S2013.desktop
Кликаю по нему на рабочем столе и в ответ получаю:
Я забыл выставить атрибут исполнения:
ekzorchik@srv-serv:~/Desktop$ sudo chattr -i S2013.desktop
ekzorchik@srv-serv:~/Desktop$ chmod +x S2013.desktop
ekzorchik@srv-serv:~/Desktop$ sudo chattr +i S2013.desktop
Теперь на рабочем столе получается работоспособный ярлык, который запускает Citrix Client на доступ к опубликованному приложению.
Хочу также дополнить данную заметку разбором еще одного момента, я как то невнимательно относился ко всему тому что выводится на консоль, раз подключение прошло работает, аутентификацию проглатывает значит все нормально. Но обративши взор в консоль после запуска приложения столкнулся с ошибками вида:
ekzorchik@srv-serv:~$ /opt/Citrix/ICAClient/wfica 1c.ica
Gtk-Message: Failed to load module “overlay-scrollbar”
Gtk-Message: Failed to load module “unity-gtk-module”
Устанавливаю необходимые пакеты содержащие отсутствующие модули:
ekzorchik@srv-serv:~$ sudo apt-get install gtk2-engines:i386 -y
ekzorchik@srv-serv:~$ sudo apt-get install gtk2-engines-*:i386 –y
ekzorchik@srv-serv:~$ sudo apt-get install libgtkmm-2.4-1c2:i386 –y
ekzorchik@srv-serv:~$ sudo apt-get install libcanberra-gtk-module:i386 –y
Теперь проблема решена.
Вообще – это заметка есть шпаргалка для себя и возможно она пригодится еще кому-либо, как поставить Citrix Client в систему Ubuntu 14.04.1 Desktop amd64 и подготовить конфиг на доступ к опубликованному приложению. Вот собственно и все, с уважение автор блога – Олло Александр.