Как подключиться к vnc через браузер

Обновлено: 07.07.2024

Задача: нужно автоматизировать подключение по vnc к серверу и настроить плановую перезагрузку клиента Tonk 1202 с Linux на борту.

В процессе исполнения данной задачей столкнулся с тем, что на этой кастрированной сборке та которая установлена на этом тонком клиенте нет утилиты vncpasswd посредством которой нужно создать так называемый файл с паролем (он бинарен) который нужно будет передать в качестве параметра утилите vncviewer. Во общем все по порядку:

Настраиваю задачу на подключение к серверной части VNC:

Находясь на тонком клиенте нажимаю клавиатурное сочетание клавиш: Ctrl + Alt + X для вызова консоли командной строки xterm. После чего перехожу в каталог /etc/startupconf и создаю файл следующего содержания:

cmd=sleep 20 && /usr/bin/vncviewer password=/root/passwd fullscreen=1 192.168.13.63:5900

Не забываем сохранить внесенные изменения.

, где 192.168.13.63:5900 — это сервер с функциями видеонаблюдения где конкретно под этот тонкий клиент созданы условия для отображения 4 камер сервисной зоны.

Теперь раз на сервере нет утилиты vncpasswd, то потребуется на любой имеющейся в Вашем распоряжении Linux системы, у меня это Ubuntu 14.04.3 Server amd64 (сервер с функциями ATC (Asterisk + FreePBX) создать данный файл с паролем и передать его на данный тонкий клиент Tonk 1202 (а вот это еще та задачка, так как привычных команд: curl, wget, ssh тут нет и это очень здорово все затрудняет, да я бы проще сказал — раскрывает возможности системного администратора для решения этой задачи, вспоминания всего и вся и конечно же гугления с правильно поставленными вопросами).

$ sudo apt-get install vnc4server

В итоге получился следующий файл который мне нужно передать на Tonk 1202

Поднимаю VSFTPD сервер для подключения анонимных учетных записей на любой системе , в моем случае это сервер с функциями ATC (Astrisk + FreePBX):

$ sudo nano /etc/vsftpd.conf

$ sudo service vsftpd restart

Создаю каталог для анонимных пользователей:

$ sudo mkdir /media/ftp

$ sudo usermod -d /media/ftp ftp

$ sudo touch /media/ftp/1

Проверяю, что смогу с другой системы с осью Ubuntu 12.04.5 Server amd64 на борту подключиться под анонимным пользователем:

Connected to 10.7.8.155.

Name (10.7.8.155:aollo): anonymous

331 Please specify the password.

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

200 PORT command successful. Consider using PASV.

150 Here comes the directory listing.

226 Directory send OK.

ftp> quit

Отлично подключился и вижу созданный файл с именем 1.

Переношу файл с паролем passwd в каталог FTP:

$ sudo mv /home/ekzorchik/.vnc/passwd /media/ftp

$ sudo chown root:root /media/ftp/passwd

Переключаемся на консоль xterm тонкого клиента Tonk 1202 и произвожу подключение через утилиту ftp к серверу с ролью FTP сервера :

ftp> open 10.7.8.155

Connected to 10.7.8.155 (10.7.8.155).

Name (10.7.8.155:root): anonymous

331 Please specify the password.

Password:ввожу любой вид к примеру: ekzorchik@gov.mil

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

Ftp> ls

227 Entering Passive Mode (10,7,8,155,82,2).

150 Here comes the directory listing.

226 Directory send OK.

Проверяю, что могу скачать файл с именем 1 и получается.

ftp> get 1

local: 1 remote: 1

227 Entering Passive Mode (10,7,8,155,121,45).

150 Opening BINARY mode date connection for 1 (0 bytes).

226 Transfer compler.

Теперь пробую скачать файл с паролем и терплю неудачу:

ftp> get passwd

local: passwd remote: passwd

227 Entering Passive Mode (10,7,8,155,140,104).

550 Failed to open file.

Опытным путем выяснил, что должны быть в каталоге /media/ftp права на файлы: 644

ekzorchik@srv-phone:/media/ftp$ sudo chmod 644 passwd

ekzorchik@srv-phone:/media/ftp$ ls -l

Теперь скачиваю файл passwd и все получается:

ftp> get passwd

local: passwd remote:passwd

227 Entering Passive Mode (10,7,8,155,113,17).

150 Opening BINARY mode date connection for passwd (8 bytes).

226 Transfer complete.

8 bytes received in 0,000178 secs (44 Kbytes/sec)

ftp> quit

Проверяю контрольную сумму скачанного файла с той которая есть на FTP сервере, что в процессе передачи файлы ничего не изменилось:

Контрольная сумма сходится, значит файл передался без каких либо изменений.

После создаем еще один файл с именем shutdown который будет отвечать за плановую перезагрузку в заданное время (просто ранее этого времени перезагружается сама серверная часть VNC развернутая на сервере видеонаблюдения с целью вывода на экран в клиентской зоне камер цеховой зоны. Ранее я поднимал ZoneMinder, но от него пришлось отказаться, т. к. данный тонкий клиент фирмы Tonk не справлялся с нагрузкой и транслируемые изображения с 4 камер подвисали):

cmd=sleep 20 && /usr/bin/shutdown -r 07:20 &

Не забываем сохранить внесенные изменения.

Проверяем, что тонкий клиент с его хоть и ограниченными возможностями видит созданные конфигурационные файлы:

Start — Настройки Системы — Автозапуск

Созданные файлы автозапуска на Tonk 1202

Видите все нормально.

После конечно же не забываем сохранить все изменения на тонком клиенте:

Start — Сохранить данные.

В конечном итоге после перезагрузки тонкого клиента на экране широкоформатного телевизора к которому он подключен будет вот такое вот изображение:

Изображение сервисной зоны транслируемое по VNC

На этом я прощаюсь, эта заметка пригодится мне на будущее, вот к примеру работая ранее на предыдущем месте и встретившись с данными пародиями на рабочее место, а именно старая версия тонких клиентов фирмы Tonk я здорово намучился изобретая велосипеды и анализируя как же с помощью того что есть решить поставленную задачу. В процесс для себя оформил множество заметок и уже на основе них и своего опыта решил на текущем месте текущую задачу по оптимизации имеющегося для вывода видеоизображения. До встречи, с уважением автор блога — Олло Александр (aka ekzorchik).

Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:

Поблагодари автора и новые статьи

будут появляться чаще :)

Карта МКБ: 4432-7300-2472-8059

Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.



У вас есть ESXi (любой гипервизор) на котором запущены виртуальные серваки? Иногда бывает так, что нужен доступ к реальной консоли сервера и не всегда есть возможность использовать консоль vmware. Если решение вам интересно читаем дальше.


Прежде всего, на ESXi можно запустить виртуальную машину, которая будет доступна через VNC. Мы сразу же можем подключиться к виртуальной машине с помощью любого VNC-клиента. Но это не наш путь.

Давайте для начала изменим настройки виртуальной машины. Выбираем виртуальную машину -> Edit Settings -> Options -> General -> Configuration Parameters и добавляем 3 параметра:


Если вы используете ESXi 5 версии, то вам еще нужно будет открыть порт на фаерволе этого гипервизора. Сделать это не так легко, как кажется на первый взгляд. Включаем SSH и создаем новый xml файл, с описанием нового правила для фаервола в /etc/vmware/firewall:

После этого обновим конфиг фаервола и посмотрим, появился ли наш новый сервис:


Основная проблема в том, что если сейчас ESXi перезагрузить, то нашего нового правила не будет. Самое простое решение скопировать XML-ку на storage, к которому у хоста есть доступ, а на самом хосте добавить в /etc/rc.local:

Если вы хотите более правильное решение, то можно почитать тут.

Теперь ко всем нашим виртуальным машинам есть VNC доступ. Далее будем делать одну точку доступа ко всем серверам, используя Guacamole

Guacamole


С помощью Guacamole вы можете получить доступ к консоли своих серверов из любого браузера, который поддерживает: HTML5 и AJAX

Guacamole умеет работать с VNC и RDP. Установку можно производить на Debian, Ubuntu, Fedora


Установка Guacamole не составит большого труда. Примеры для Ubuntu. Установим зависимости:

Последнюю версию можно найти на сайте продукта:

Если все сделали правильно, то зайдя на myip:8080/guacamole/ увидим окно ввода логина и пароля. Схема аутентификации по умолчанию читает все настройки из файла конфигурации /etc/guacamole/user-mapping.xml

где hostname — это адрес вашего esxi хоста, password — пароль для VNC.
Теперь логинимся под пользователем User1 и подключаемся к вашим виртуальным серверам. Чтобы открыть виртуальную клавиатуру нажимаем: Ctrl+Alt+Shift

1. Установка VNC-клиента
2. Подключение VNC-клиента к удаленному компьютеру
3. Отключение VNC-клиента от удаленного компьютера
4. Тюнинг VNC-клиента
5. Частые проблемы

Для работы с удаленным компьютером по VNC на компьютере пользователя нужно запустить программу-клиент (VNC viewer, VNC client). Эта программа передает на удаленный компьютер данные о нажатиях на клавиши и о движениях мыши, сделанных пользователем, и показывает информацию, предназначенную к выводу на экран.

1. Установка VNC-клиента

Для ОС Windows можно бесплатно скачать и инсталлировать VNC-клиент UltraVNC и TightVNC.

Mac OS X начиная с версии 10.5 имеет поддержку VNC-клиента в RemoteDesktop. Для предыдущих версий можно использовать VNC-клиенты JollysFastVNC и Chicken.

Для Linux ветви Debian (Ubuntu) VNC-клиент устанавливается из репозитория командой:

apt-get install vncviewer

Для ветви RedHat (CentOS, Fedora) — командой:

yum install vnc

Для FreeBSD VNC-клиент (TightVNC) устанавливается из пакетов командой:

pkg_add -r tightvnc

2. Подключение VNC-клиента к удаленному компьютеру

Для подключения VNC-клиента к удаленному компьютеру требуется указать его IP-адрес или DNS-имя, и номер дисплея (по умолчанию, :0) или номер TCP-порта (по умолчанию, 5900). Если VNC-сервер требует авторизации, то при подключении к нему VNC-клиент запросит пароль. Обратите внимание, что пароль доступа к VNC-серверу не связан с каким-либо аккаунтом (учетной записью пользователя) на удаленном компьютере, а служит только для ограничения доступа к дисплею VNC-сервера.

После установки соединения и открытия экрана, в зависимости от настроек VNC-сервера может потребоваться авторизация пользователя на виртуальном сервере или может быть открыта уже запущенная рабочая сессия какого-либо пользователя.

Так как на компьютере одновременно могут работать несколько VNC-серверов, для их разделения используют параметр номер дисплея. Например, один VNC-сервер может быть запущен на дисплее :0, другой — на дисплее :1. Каждому номеру дисплея соответствует номер TCP-порта, на котором VNC-сервер принимает соединения. Номер порта для дисплея получается прибавлением номера дисплея к базовому номеру порта — 5900. Дисплею :0 соответствует TCP-порт 5900, дисплею :1 — порт 5901.

3. Отключение VNC-клиента от удаленного компьютера

При закрытии окна VNC-клиента или после выхода из окружения средствами рабочего стола, в зависимости от настроек VNC-сервера, рабочая сессия пользователя может закрыться с остановкой всех используемых программ, или продолжать работу и быть доступной снова при повторном подключении к VNC-серверу.

4. Тюнинг VNC-клиента

Большое количество передаваемой на экран информации влечет за собой повышенные требования к скорости канала — к его пропускной способности и времени передачи пакетов. Нахватка пропускной способности приводит к некомфортным задержкам при больших изменениях показывамой на экране информации — открытии новых окон, скроллинге и т.д. Особенно большие задержки будут возникать при показывании фотографий и других изображений или элементов интерфейса, имеющих большое количество цветов и сложные формы.

Главный параметр, который влияет на объем передаваемых данных — алгоритм кодирования передаваемой графики. Для уменьшения объема и, соответственно, ускорения работы, рекомендуется использовать алгоритмы Tight, ZLib, ZRLE — по сравнению с несжатыми данными (Raw), они обеспечивают сжатие в десятки раз, заметно нагружая процессор. Эти алгоритмы кодирования обеспечивают комфортную работу даже на каналах со скоростью 256-512 Кбит/сек.

Для сокращения объема передаваемой по сети информации также можно устанавливать высокий уровень сжатия (Compression Level, Compression Value), низкий уровень качества JPEG (JPEG Quality) и включать режим уменьшения количества цветов (-bgr233, Restricted colors). Самый большой эффект из них при заметном снижении качества изображения дает режим уменьшения количества цветов — объем передаваемой информации уменьшается в 1.5-3 раза, соответственно, в 1.5-3 раза ускоряется отображение на экране.

JPEG применяется алгоритмом кодирования Tight для сжатия участков экрана, содержащих фотографии и другие сложные изображения с большим числом цветов. Использование Tight+JPEG сокращает в 2-5 раз объем передаваемых при этом данных. Другие алгоритмы кодирования JPEG не поддерживают.



1. Выпадающего меню «Система -> Параметры»

Объем передаваемых данных и скорость отображения на канале 1 Мбит/сек при открытии выпадающего меню «Система -> Параметры» (на рисунке меню выделено зеленым пунктиром):

Полноцветный режим 256 цветов (BGR233)
Объем Время Объем Время
ZLib 11 Кб 0.09 сек 7 Кб 0.06 сек
HexTile 208 Кб 1.6 сек 118 Кб 0.95 сек
Raw 248 Кб 2 сек 128 Кб 1 сек

5. Частые проблемы
Не удается подключиться к VNC-серверу
  1. есть ли доступ к интернету;
  2. отвечает ли виртуальный сервер на пинги;
  3. запущен ли на виртуальном сервере VNC-сервер;
  4. нет ли по пути файервола, закрывающего доступ к TCP-порту VNC-сервера;
  5. правльно ли указан номер дисплея или TCP-порт VNC-сервера (номер порта = 5900 + номер дисплея).
Медленная работа через достаточно быстрый канал

Однако, для некоторых сочетаний клиента и сервера такое решение может быть бесполезным из-за ошибок в согласовании алгоритма кодирования. Например, клиент TightVNC с сервером RealVNC часто могут работать только с кодировкой Raw. Решением в этом случае будет смена VNC-клиента или VNC-сервера.

В сегодняшнем выпуске моего блога я наглядно разберу как управлять системами только лишь через браузер задействовав технологию HTML 5. К удаленным системам я буду подключаться через таким всем известные и наиболее продуктивные способы, как: VNC & RDP, SSH

  • RDP
  • VNC
  • Other (SSH, как пример)

Основная система где развернуто ПО для этой заметке:

CPU = 2

RAM = 4 и тогда все работает, если RAM = 1 то никакого подключения к системам не будет только серый экран.

В основе этой заметке выступит приложение Guacamole позволяющее подключаться по протоколам RDP и VNC к удаленному рабочему столу, используя только браузер. Клиентская часть написана на JavaScript, выполнена с использованием технологий HTML5 и не требует для своей работы установки дополнительных плагинов. Серверная часть написана на Си и реализована через специальный прокси guacd. Взаимодействие прокси и web-приложения осуществляется при помощи прослойки на языке Java, которая может быть запущена под управлением контейнера сервлетов Apache Tomcat. Для реализации поддержки VNC используется библиотека libvncclient, а для RDP — FreeRDP

Первым делом обновляем систему до актуального состояния:

$ sudo apt-get update && sudo apt-get upgrade -y

$ apt-cache search guacamole

$ apt-cache show guacamole | grep Version

А на официальном сайте версия данного программного обеспечения есть сборки под мою систему Ubuntu 12.04.5 Server amd 64 в виде deb пакетов (не особо рвусь к установке из исходников)

По приведенной ссылке можно скачать подготовленные пакеты для операционных систем

Из представленного вижу в прочем здесь нечему удивляться, версия находящяяся в репозитариях более старая, чем по этой ссылке, поэтому мой выбор более очевиден, скачиваю:

ekzorchik @ srv - mon :

$ sudo dpkg – i *. deb

устраняю неустановленные зависимости :

$ sudo apt-get install -f –y

$ sudo apt-get update --fix-missing

$ sudo apt-get install -f –y

Теперь установка проходит без проблем.

Restart Tomcat server ? Yes

$ sudo netstat -tulpn | grep :8080

tcp6 0 0 . 8080 . * LISTEN 2937/java

Далее предопределю аутентификационные данные для подключения к Web -интерфейсу guacamole , и также здесь можно будет указать настройки подключения, как к удаленному рабочему столу RDP , так и VNC , а также через ssh , telnet :

$ sudo nano /etc/guacamole/user-mapping.xml

<authorize username="ekzorchik" password="712mbddr@">

Сохраняем внесенные изменения .

Теперь чтобы настройки применились нужно перезапустить службу – guacd :

$ sudo service guacd restart

* Restarting Guacamole proxy server guacd guacd[5234]: INFO: Guacamole proxy daemon (guacd) version 0.7.0

guacd[5234]: INFO: Unable to bind socket to host ::1, port 4822: Address family not supported by protocol

guacd[5234]: INFO: Successfully bound socket to host 127.0.0.1, port 4822

guacd[5234]: INFO: Exiting and passing control to PID 5235

guacd[5235]: INFO: Exiting and passing control to PID 5238

$ sudo apt-get install apache2 –y

$ sudo nano /etc/apache2/apache2.conf

$ sudo service apache2 restart

$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/guacamole.conf

$ sudo unlink /etc/apache2/sites-available/default

$ sudo unlink /etc/apache2/sites-enabled/000-default

$ sudo a2ensite guacamole.conf

$ sudo service apache2 reload

$ sudo nano /etc/apache2/sites-available/guacamole.conf

CustomLog $/access.log combined

$ sudo service apache2 restart

Syntax error on line 5 of /etc/apache2/sites-enabled/guacamole.conf:

The Apache error log may have more information.

$ sudo a2enmod proxy

$ sudo service apache2 restart

Окно входа в элемент управления доступом к удаленным системам через браузер

$ sudo tail -f /var/log/tomcat6/catalina.2015-02-18.log

Feb 18, 2015 3:13:59 AM org.slf4j.impl.JCLLoggerAdapter warn

Feb 18, 2015 3:14:47 AM org.slf4j.impl.JCLLoggerAdapter warn

Feb 18, 2015 3:23:07 AM org.slf4j.impl.JCLLoggerAdapter info

INFO: Reading user mapping file: /etc/guacamole/user-mapping.xml

Feb 18, 2015 3:23:07 AM org.slf4j.impl.JCLLoggerAdapter warn

Feb 18, 2015 3:23:11 AM org.slf4j.impl.JCLLoggerAdapter warn

Смотрю еще раз файл настроек:

$ sudo nano /etc/guacamole/user-mapping.xml

и вижу, что да я задал пароль, но вот, он как и другие строки ответственные за подключение к система по RDP & VNC закомментированы (

Поэтому убираю эти символы обрамляющие следующие строки:

<!-- Connection srv - video Это комментарий не удалять -->

После сохраняю полученные изменения и перезапускаю службу:

$ sudo service guacd restart

* Restarting Guacamole proxy server guacd guacd[5315]: INFO: Guacamole proxy daemon (guacd) version 0.7.0

guacd[5315]: INFO: Unable to bind socket to host ::1, port 4822: Address family not supported by protocol

guacd[5315]: INFO: Successfully bound socket to host 127.0.0.1, port 4822

guacd[5315]: INFO: Exiting and passing control to PID 5316

guacd[5316]: INFO: Exiting and passing control to PID 5319

$ netstat -a --inet | grep :4822

tcp 0 0 localhost:4822 *:* LISTEN

На заметку: описание полей настройки подключения смотреть здесь:

$ sudo ls -l /etc/guacamole/user-mapping.xml

$ sudo chown tomcat6:tomcat6 /etc/guacamole/user-mapping.xml

$ sudo chmod 640 /etc/guacamole/user-mapping.xml

Вместо пароль укажем использовать его хеш (чтобы не святить пароль в чистом виде)

$ echo -n 712mbddr@ | md5sum -t

Web-интерфейс по управлению удаленными подключения посредством браузера

В логах записи тому подтверждающие:

$ sudo tail -f /var/log/tomcat6/catalina.2015-02-18.log

Feb 18, 2015 4:39:35 AM org.slf4j.impl.JCLLoggerAdapter info

INFO: Reading user mapping file: /etc/guacamole/user-mapping.xml

Feb 18, 2015 4:39:35 AM org.slf4j.impl.JCLLoggerAdapter info

Feb 18, 2015 4:39:35 AM org.slf4j.impl.JCLLoggerAdapter info

INFO: Login was successful.

Connected, waiting for first update..

А после надпись сменилась на

И в чем проблема. Начинаю разбираться.

Оказывается у меня на системе не доустановлены пакеты осуществляющие удаленное взаимодействие с системами, исправляю это дело:

Guacamole currently supports VNC, RDP, SSH, and telnet. Each protocol corresponds to a separate library that will be built with guacamole-server if you have its corresponding optional dependencies

$ sudo apt-get install libfreerdp-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libpulse-dev libssl-dev libvorbis-dev -y

После перезапускаю сервисы :

$ sudo service apache2 restart

$ sudo service tomcat6 restart

Удаленное подключение по SSH в действии

По логам с 192.168.0.9 – я успешно авторизуюсь:

$ cat /var/log/auth.log | grep aollo | grep 192.168.0.129

Feb 18 13:48:38 srv-stunnel sshd[2713]: Accepted password for aollo from 192.168.0.129 port 55638 ssh2

Feb 18 13:50:22 srv-stunnel sshd[3021]: Accepted password for aollo from 192.168.0.129 port 55640 ssh2

Feb 18 13:50:55 srv-stunnel sshd[3266]: Accepted password for aollo from 192.168.0.129 port 55643 ssh2

Feb 18 13:51:39 srv-stunnel sshd[3516]: Accepted password for aollo from 192.168.0.129 port 55647 ssh2

Но еще обнаружил один косяк – подключиться я подключился, а вот пытаюсь набрать команды и получаю – а ничего не получаю, ничего не реагирует, снова проблемы и снова логи:

$ sudo tail -f /var/log/syslog | grep guacd

Feb 18 05:44:05 srv-mon guacd[21008]: No available audio encoding. Sound disabled.

Feb 18 05:44:05 srv-mon guacd[21008]: Starting client

Feb 18 05:44:23 srv-mon guacd[21008]: Error reading instruction: Read timeout: Timeout while waiting for data on socket

Feb 18 05:44:23 srv-mon guacd[21008]: Client finished normally

А при подключении к Windows через RDP у меня серый экран:

Серый экран при удаленном подключении

Диспетчер задач показывает что подключение к системе прошло успешно

Как так, вообщем опять читаю логи и документацию более внимательнее:

$ sudo nano +95 /etc/tomcat6/server.xml

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

$ sudo nano /etc/apache2/sites-available/guacamole.conf

ProxyPassReverse ajp://192.168.0.129:8009/guacamole max=20 flushpackets=on

$ sudo service apache2 reload

$ sudo service tomcat6 restart

$ sudo apt-get install libcairo2-dev libpng12-dev libossp-uuid-dev –y

Не помогло, может у меня просто старая версия: Guacamole 0.8.1 и из-за этого я испытываю сложности выше, поэтому снова в дело вступают исходники скачиваемой последней версии и проработка всех шагов по установки ее в систему:

Откатываю снапшот и начинаю заново:

$ sudo apt-get update && sudo apt-get upgrade –y

Устанавливаю в систему необходимые пакеты:

$ sudo apt-get install build-essential tomcat7 libpng12-dev libossp-uuid-dev libpulse-dev libcairo2-dev libssl-dev libvncserver-dev libvorbis-dev libssh2-1-dev libpango1.0-dev libfreerdp-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libvncserver-dev libpulse-dev libssl-dev libvorbis-dev libcairo2-dev libpng12-dev libossp-uuid-dev –y

Скачиваю пакеты guacamole последней версии – 0.9.4:

$ tar xfvz guacamole-server-0.9.4.tar.gz

$ tar xfvz guacamole-client-0.9.4.tar.gz

Собираю Guacamole Server:

/guacamole-server-0.9.4$ ./configure --with-init-dir=/etc/init.d

Устанавливаю приложение guacamole из исходников

/guacamole-server-0.9.4$ sudo make install

$ sudo mkdir /usr/lib/x86_64-linux-gnu/freerdp/

$ sudo ln -s /usr/local/lib/freerdp/*.so /usr/lib/x86_64-linux-gnu/freerdp/

Далее копирую каталог war в каталог Tomcat :

$ sudo cp guacamole-0.9.4.war /var/lib/tomcat7/webapps/guacamole.war

$ sudo ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat7/.guacamole/guacamole.properties

$ sudo nano /etc/guacamole/guacamole.properties

$ sudo nano /etc/guacamole/user-mapping.xml

<authorize username="ekzorchik" password="712mbddr@">

$ sudo chown tomcat7:tomcat7 /etc/guacamole/user-mapping.xml

$ sudo chmod 600 /etc/guacamole/user-mapping.xml

$ sudo service tomcat7 restart

* Stopping Tomcat servlet engine tomcat7 [ OK ]

* Starting Tomcat servlet engine tomcat7 [ OK ]

$ sudo service guacd restart

Stopping guacd: SUCCESS (not running)

Starting guacd: /usr/local/sbin/guacd: error while loading shared libraries: libguac.so.9: cannot open shared object file: No such file or directory

Доустанавливаю необходимую библиотеку :

$ sudo apt-get install libstdc++5

$ sudo service guacd stop

Stopping guacd: SUCCESS

$ sudo service guacd start

Starting guacd: guacd[30836]: INFO: Guacamole proxy daemon (guacd) version 0.9.4 started

Вот теперь все хорошо.

Проверяю зайдя на Web -интерфейс

Проверяю вход на Web-интерфейс управления

Авторизовавшись подключась, все работает

БЛИН, что еще надо сделать

Добавил настройки подключения к Server 2008 R 2 и подключение прошло

При подключении к Server 2008 R2 подключение происходит но не отображается

И правда все больше не куда…

Заметил у меня подключение не происходит видимо из-за недостатка памяти на системе

total used free shared buffers cached

Mem: 993 902 91 0 37 627

-/+ buffers/cache: 237 756

Swap: 1019 0 1019

Вижу что-то прогрузилось

Немного подождав, экран удаленной системы начинает подгружаться. На системе где запущена серверная часть guacamole просто не хватает оперативной памяти

И действительно увеличив количество оперативной памяти для виртуальной машины (где я сперва тестировал разворачивание Guacamole) все заработало сражу, как установка всего комплекса посредством deb пакетов, так из исходников. Вот так вот я методом ограничения ресурсов вывел для себя рекомендуемые требования для работы серверной части (не менее 1 Gb памяти должно быть выделено системе, лучше больше). Для чего вообще вся эта заметка была описана, т. к. я в своей подконтрольной системе использую Zabbix с целью мониторинга контролируемой инфраструктуры, то заведя все ключевые сервисы на мониторинг, позже создав наглядную карту устройств (немного позже я покажу как это сделать, там нет ничего сложного), решил приспособить подключение посредством браузера к системам. А эта заметка полностью смогла реализовать мою задумку. (немного позже я покажу что я имею ввиду под этим в одной из своих заметок). Раз я все показал и наглядно продемонстрировал то буду прощаться, до встречи — с уважением автор блога — ekzorchik.

Читайте также: