Как установить и настроить VNC на Ubuntu 14.04

Вступление

VNC, или «Виртуальные сетевые вычисления», - это система соединений, которая позволяет вам использовать клавиатуру и мышь для взаимодействия с графической средой рабочего стола на удаленном сервере. VNC упрощает управление файлами, программным обеспечением и настройками на удаленном сервере для пользователей, которым еще не комфортно работать с командной строкой.

В этом руководстве мы будем настраивать VNC на сервере Ubuntu 14.04 и безопасно подключаться к нему через туннель SSH. Сервер VNC, который мы будем использовать, - это TightVNC, быстрый и легкий пакет дистанционного управления. Этот выбор гарантирует, что наше соединение VNC будет гладким и стабильным даже при более медленных интернет-соединениях.

Предпосылки

Прежде чем вы начнете с этим руководством, необходимо выполнить несколько шагов.

Вам понадобится сервер Ubuntu 14.04, установленный и настроенный с пользователем без полномочий root с привилегиямиsudo. Если вы еще не сделали этого, вы можете выполнить шаги 1–4 вUbuntu 14.04 initial server setup guide, чтобы создать эту учетную запись.

Если у вас есть пользователь без полномочий root, вы можете использовать его для SSH на вашем сервере Ubuntu и продолжить установку вашего VNC-сервера.

[[шаг-один -—- install-desktop-environment-and-vnc-server]] == Шаг первый - установка среды рабочего стола и VNC Server

По умолчанию большинство установок Linux-сервера не будут сопровождаться графической средой рабочего стола. Если это так, нам нужно начать с установки той, с которой мы можем работать. В этом примере мы установим XFCE4, который очень легкий, но при этом знаком большинству пользователей.

Мы можем получить пакеты XFCE вместе с пакетом для TightVNC прямо из репозиториев программного обеспечения Ubuntu, используяapt:

sudo apt-get update
sudo apt-get install xfce4 xfce4-goodies tightvncserver

Чтобы завершить первоначальную настройку VNC-сервера, используйте командуvncserver для установки безопасного пароля:

vncserver

(После того, как вы настроите свой пароль доступа, вас спросят, хотите ли вы ввести пароль только для просмотра. Пользователи, которые входят в систему с паролем только для просмотра, не смогут управлять экземпляром VNC с помощью мыши или клавиатуры. Это полезный вариант, если вы хотите продемонстрировать что-то другим людям, использующим ваш VNC-сервер.)

vncserver завершает установку VNC, создавая файлы конфигурации по умолчанию и информацию о подключении для использования нашим сервером. Установив эти пакеты, вы можете настроить свой VNC-сервер и графический рабочий стол.

[[step-two -—- configure-vnc-server]] == Шаг второй - настройка сервера VNC

Во-первых, нам нужно сообщить нашему VNC-серверу, какие команды выполнять при запуске. Эти команды находятся в файле конфигурации с именемxstartup. На нашем сервере VNC уже предварительно загружен файлxstartup, но нам нужно использовать несколько других команд для нашего рабочего стола XFCE.

Когда VNC впервые настроен, он запускает экземпляр сервера по умолчанию на порту 5901. Этот порт называется портом дисплея и обозначается 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, указывает инфраструктуре графического интерфейса VNC прочитать файл.Xresources пользователя сервера. .Xresources - это место, где пользователь может вносить изменения в определенные настройки графического рабочего стола, такие как цвета терминала, темы курсора и рендеринг шрифтов.

Вторая команда просто указывает серверу запустить XFCE, где вы найдете все графическое программное обеспечение, необходимое для комфортного управления вашим сервером.

Чтобы убедиться, что VNC-сервер сможет правильно использовать этот новый файл запуска, нам нужно предоставить ему исполняемые привилегии:

sudo chmod +x ~/.vnc/xstartup

[[step-three -—- create-a-vnc-service-file]] == Шаг третий - Создайте файл службы 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, которого вы установили, и измените1024x768, если вы хотите использовать другое разрешение экрана для своего виртуального дисплея.

Далее мы можем начать вставку командных инструкций, которые позволят нам управлять новым сервисом. Следующий блок связывает команду, необходимую для запуска 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, которое представляет собой просто две предыдущие команды (stop иstart), объединенные в одну команду.

restart)
$0 stop
$0 start
;;
esac
exit 0

Как только все эти блоки будут в вашем сервисном скрипте, вы можете сохранить и закрыть этот файл. Сделайте этот сервисный скрипт исполняемым, чтобы вы могли использовать только что настроенные команды:

sudo chmod +x /etc/init.d/vncserver

Теперь попробуйте использовать службу и команду для запуска нового экземпляра VNC-сервера:

sudo service vncserver start

[[step-four -—- connect-to-your-vnc-desktop]] == Шаг четвертый - подключитесь к вашему VNC Desktop

Чтобы протестировать свой VNC-сервер, вам потребуется клиент, который поддерживает VNC-соединения через SSH-туннели. Если вы используете Windows, вы можете использовать TightVNC, RealVNC или UltraVNC. Пользователи Mac OS X могут использовать встроенный общий доступ к экрану или кросс-платформенное приложение, такое как RealVNC.

Во-первых, нам нужно создать SSH-соединение на вашем локальном компьютере, которое безопасно перенаправляет на соединениеlocalhost для VNC. Вы можете сделать это через терминал в Linux или OS X с помощью следующей команды:

(Не забудьте заменитьuser иserver_ip_address на имя пользователя и IP-адрес, которые вы использовали для подключения к вашему серверу через SSH.)

ssh -L 5901:127.0.0.1:5901 -N -f -l user server_ip_address

Если вы используете графический клиент SSH, например PuTTY, используйтеserver_ip_address в качестве IP-адреса подключения и установитеlocalhost:5901 в качестве нового перенаправленного порта в настройках туннеля SSH программы.

Затем вы можете использовать программу просмотра VNC для подключения к серверу VNC вlocalhost:5901. Убедитесь, что вы не забыли:5901 в конце, так как это единственный порт, с которого доступен экземпляр VNC.

После подключения вы должны увидеть рабочий стол XFCE по умолчанию, готовый к настройке и использованию! Это должно выглядеть примерно так:

First VNC<br> connection

Убедившись, что соединение VNC работает, добавьте службу VNC к службам по умолчанию, чтобы она автоматически запускалась при каждой загрузке сервера:

sudo update-rc.d vncserver defaults

Заключение

Теперь у вас должен быть защищенный VNC-сервер, работающий на вашем сервере Ubuntu 14.04. Теперь вы сможете управлять файлами, программным обеспечением и настройками вашего сервера с помощью простого в использовании графического интерфейса.

Related