Установка и настройка VNC на сервере Ubuntu 14.04
VNC (или Virtual Network Computing) – это система удаленного доступа, которая позволяет подключиться к рабочему столу удаленного сервера. VNC упрощает управление файлами, программным обеспечением и настройками удаленного сервера, что особенно важно для пользователей, которые еще не научились работать с командной строкой.
Данное руководство продемонстрирует установку VNC на сервер Ubuntu 14.04 и создание безопасного подключения при помощи SSH-туннеля. В руководстве используется VNC-сервер TightVNC, быстрый и легкий пакет дистанционного управления. Этот пакет обеспечит надежность и стабильность соединения даже при слабых сигналах сети.
Требования
Чтобы следовать руководству, понадобится предварительно установленный и настроенный сервер Ubuntu 14.04 и учетная запись пользователя (не root) с расширенными привилегиями sudo. За дополнительными инструкциями обратитесь к этой статье.
Установите SSH-подключение к серверу и приступайте к установке VNC.
1: Установка среды рабочего стола и VNC-сервера
По умолчанию большинство серверных установок Linux поставляются без графической среды. В таком случае нужно для начала установить такую среду. В этом руководстве показано, как установить знакомую большинству пользователей среду XFCE4.
Загрузить пакеты XFCE и TightVNC можно из программного репозитория Ubuntu с помощью apt:
sudo apt-get update
sudo apt-get install xfce4 xfce4-goodies tightvncserver
Для завершения начальной настройки сервера VNC используйте команду vncserver, которая создаст безопасный пароль:
vncserver
Примечание: после установки пароля доступа будет предложено ввести пароль с функцией «Только просмотр» (view-only password). Пользователи, которые входят при помощи такого пароля, не смогут управлять VNC. Это очень полезная опция, которая позволяет использовать продемонстрировать VNC-сервер для демонстрации.
Команда vncserver завершит установку VNC, создав стандартные конфигурационные файлы и необходимую серверу информацию о соединении. Когда все пакеты будут установлены, приступайте к настройке VNC-сервера и графического рабочего стола.
2: Настройка VNC-сервера
Для начала нужно задать команды, которые VNC-сервер должен выполнять при запуске. Эти команды находятся в конфигурационном файле xstartup. Такой файл был предварительно загружен на сервер во время установки, но для рабочего стола XFCE нужны другие команды.
После установки VNC-сервер по умолчанию запускается на порту 5901. Этот порт называется display port (порт дисплея), VNC ссылается на него с помощью символов :1. VNC позволяет запускать несколько экземпляров на других портах (как :2, :3 и т.д.). При работе с серверами VNC необходимо помнить, что :x – это порт дисплея, который задается как 5900+x.
На данном этапе настройки серверов VNC нужно изменить; для начала остановите сервер VNC, запущенный на порту 5901:
vncserver -kill :1
Прежде чем приступить к настройке файла xstartup, создайте на всякий случай его резервную копию:
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
Теперь откройте файл xstartup в nano:
nano ~/.vnc/xstartup
Внесите в него следующие команды, которые будут автоматически выполняться при запуске или перезапуске VNC-сервера:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
Первая команда в файле(xrdb $HOME/.Xresources) говорит фреймворку GUI VNC-сервера читать файл .Xresources. В этот файл пользователь может вносить изменения настроек графического рабочего стола (например, устанавливать цвет терминала, темы курсора и рендеринг шрифтов). Вторая команда просто запускает графическое ПО для удобного управления сервером.
Чтобы убедиться, что сервер VNC сможет корректно использовать этот новый файл, передайте ему соответствующие привилегии:
sudo chmod +x ~/.vnc/xstartup
3: Создание файла сервиса VNC
Чтобы с легкостью контролировать новый сервер VNC, нужно настроить его как сервис Ubuntu. Это позволит запускать, останавливать и перезапускать VNC-сервер по мере необходимости.
Для начала откройте новый файл сервиса в /etc/init.d с помощью nano:
sudo nano /etc/init.d/vncserver
Первый блок данных необходим для объявления некоторых общих настроек VNC (например, имени пользователя и разрешения дисплея).
#!/bin/bash
PATH="$PATH:/usr/bin/"
export USER="user"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost"
. /lib/lsb/init-functions
Не забудьте заменить слово user именем пользователя с расширенными привилегиями (не root), также можно изменить разрешение дисплея (замените значение 1024×768).
Затем нужно задать команды для управления новым сервисом. Следующий блок кода включает команду, необходимую для запуска сервера VNC, и ее обратную связь (ключевое слово команды start).
case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;
Следующий блок создает ключевое слово команды stop, которое позволяет остановить VNC-сервер.
stop)
log_action_begin_msg "Stopping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;
Заключительный блок кода создает ключевое слово команды restart, которая, по сути, является комбинацией двух предыдущих команд:
restart)
$0 stop
$0 start
;;
esac
exit 0
Внеся все эти блоки в скрипт сервиса, сохраните и закройте файл. Сделайте этот скрипт сервиса исполняемым, чтобы иметь возможность использовать только что созданные команды.
sudo chmod +x /etc/init.d/vncserver
Теперь попробуйте использовать сервис, выполнив команду запуска start:
sudo service vncserver start
4: Подключение к рабочему столу VNC
Чтобы протестировать сервер VNC, нужно использовать клиента, который поддерживает соединения VNC через туннели SSH. При работе с Windows можно использовать TightVNC, RealVNC или UltraVNC. В системе Mac OS X можно использовать встроенную функцию Screen Sharing или кросс-платформенное приложение (например, RealVNC).
Сначала нужно создать SSH-подключение на локальном компьютере, которое будет безопасно пересылать подключения localhost на VNC-сервер. В Linux и OS X это можно сделать через терминал с помощью следующей команды:
ssh -L 5901:127.0.0.1:5901 -N -f -l user server_ip_address
Примечание: замените заполнители user и server_ip_address своим именем и IP.
При работе с графическим клиентом SSH (например, PuTTY) используйте server_ip_address как IP соединения и установите localhost:5901 в качестве нового пересылаемого порта в настройках SSH-туннелирования программы.
Затем можно использовать VNC Viewer для подключения к серверу VNC на localhost:5901. Не забудьте указать :5901 в конце, так как это единственный порт, по которому доступен сервер VNC.
После подключения появится стандартный рабочий стол XFCE, готовый к настройке и использованию!
Убедившись, что подключения VNC работают должным образом, внесите сервис VNC в список стандартных сервисов, чтобы он автоматически запускался при запуске сервера:
sudo update-rc.d vncserver defaults
Заключение
Итак, теперь на сервере Ubuntu 14.04 настроен и запущен безопасный VNC-сервер. Теперь у вас есть возможность управлять файлами, программами и настройками сервера при помощи удобного в использовании графического интерфейса.
Tags: Cloud Server, Linux, SSH, TightVNC, Ubuntu, Ubuntu 14.04, Virtual Network Computing, VNC, VNC Viewer, VPS, XFCE
1 комментарий
” В Linux и OS X это можно сделать через терминал с помощью следующей команды…”
А как это сделать в Windows?