Установка и настройка VNC Server на Debian/Ubuntu/Linux Mint

Установка и настройка VNC Server на Debian/Ubuntu/Linux Mint

Virtual Network Computing (VNC) — система для подключения к рабочему столу удаленно используя протокол RFB (англ. Remote FrameBuffer, удалённый кадровый буфер).

VNC состоит из VNC-клиента, который называется VNC viewer, он только запущен на одной ОС и можно подключаться к VNC-серверу который работает на другой операционной системе. Реализация клиентской и серверной части есть почти для всех ОС, даже для Java (которая включает J2ME). На один VNC-сервер одновременно могут быть подключены большое множество клиентов. Наиболее популярный способ использования VNC — это удалённое подключение к рабочему компьютеру из дома для технической поддержки вашего сервера. В своей статье «Установка и настройка VNC Server на Debian/Ubuntu/Linux Mint» я расскажу как это можно сделать.

Чтобы установить VNC, достаточно выполнить команду:

Вы можете использовать любого пользователя для входа в свой VNC Server, но по соображениям безопасности, я собираюсь создать VNC пользователя для моего VNC Server-а:

# adduser vncuser

Устанавливаем для него пароль:

# passwd vncuser

Теперь переключимся на этого пользователя (vncuser) для создания некоторых конфигурационных файлов для VNC:

# su - vncuser

После этого, запускаем VNC сервер:

$ vncserver

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

На рисунке ниже видно как стартанул наш vnc сервер, но нам его нужно немного подредактировать:

<img aria-describedby= >запуск vncserver

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

# vncserver -kill :1

После чего нужно открыть и поправить файл конфигурации:

2 lines
# cd ~
# vim·.vnc/xstartup

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

# wget·http://linux-notes.org/wp-content/uploads/files/vnc_server/xstartup

После чего запускаем нашу сессию с  разрешением экрана 1024×600:

# vncserver -geometry 1024x600

Установка Gnome X Window для Ubuntu (на стороне клиента, можно установить и другую среду):

Вот еще моя статья как установить другую графическую оболочку:
Установка GUI на Debian/Ubuntu/Mint

PS: не забываем прописывать нужную строку в конфиг xstartup.

Если вы решите использовать другие графические интерфейсы:

Для Gnome-Desktop Environment

3 lines
[...]
gnome-session &
[...]

Для KDE-Desktop Environment

3 lines
[...]
startkde &
[...]

Для MATE-Desktop Environment

3 lines
[...]
mate-session &
[...]

Для LXDE-Desktop Environment

3 lines
[...]
startlxde &
[...]

Для Cinnamon-Desktop Environment

3 lines
[...]
cinnamon &
[...]

Для Openbox-Desktop Environment

3 lines
[...]
openbox &
[...]

Я собрал это все до кучи и закоментировал не нужные строки, оставил только gnome, т.к я его устанавливал. Вы можете скачать данный конфиг и отредактировать его для настройки своего VNC сервера (для своего графического интерфейса):

# wget·http://linux-notes.org/wp-content/uploads/files/vnc_server/Debian/xstartup

Я приведу пример со своим использованием, я юзаю windows 8, по этому я скачал vnc- viewer.

Использование VNC Viewer для просмотра и управления VNC-сервера с удаленного хоста.

Перед тем как использовать vnc-viewer, нужно его скачать. После чего запускаем его и вводим в поле IP адрес хоста (у меня это сделать не получилось и не знаю по чему), я использую виртуальную машину, по этому я ввел следующее:
ubuntu:1

Открылось  окно и я ввел свой пароль, который я вводил (создал) немного выше. Вот и все, работает все)

После перезагрузки сервера, мы не будем иметь возможность подключиться к серверу с VNC, это потому, что команда «vncserver -geometry 1024×600» , что мы набрали выше не является постоянным. Чтобы решить эту проблему, я будем использовать отличный сценарий Джастин Buser.

Для начала создадим следующее:

3 lines
# sudo mkdir -p /etc/vncserver
# sudo touch /etc/vncserver/vncservers.conf
# sudo vim·/etc/vncserver/vncservers.conf

И добавляем:

2 lines
VNCSERVERS="1:vncuser"
VNCSERVERARGS[1]="-geometry 1024x600 -depth 24"

Затем создайте пустой сценарий инициализации и сделайте его исполняемым:

3 lines
# sudo touch /etc/init.d/vncserver
# sudo chmod +x /etc/init.d/vncserver
# sudo vim·/etc/init.d/vncserver

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

# wget·http://linux-notes.org/wp-content/uploads/files/vnc_server/vnc_server

Обновим все это:

# sudo update-rc.d vncserver defaults 99

Сейчас перезапустим наш сервер:

# sudo service vncserver restart

Если вы не можете получить доступ к VNC-сервера, то убедитесь, что вы открыли порты VNC в IPTables:

# iptables -L -n

если не открыли, то открываем их:

# iptables -A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 5901:5903,6001:6003 -j ACCEPT

и сохраняем все изменения:

# iptables-save

Делаем возможность подключения для нескольких пользователей.

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

#·sudo adduser cap

Переключитесь на вновь созданного пользователя и запустить этого vncserver командой:

2 lines
# su·cap
# vncserver
<img aria-describedby= >vncserver для дополнительного сервера

Перейдем в домашнюю директорию и отредактируем файл XStartup:

2 lines
#·cd ~
# vim·.vnc/xstartup

и вставляем в этот файл тоже самое что и для моего первого юзера, берем его от сюда.

Теперь откройте файл  /etc/vncserver/vncservers.conf как рут пользователь:

#·sudo vim·/etc/vncserver/vncservers.conf

Добавим в уже имеющийся конфиг:

3 lines
SERVERS="1:vncuser 2:cap"
VNCSERVERARGS[1]="-geometry 1024x600 -depth 24"
VNCSERVERARGS[2]="-geometry 1024x600"

Ребутим наш сервер:

# sudo service vncserver restart

Предотвращение запуск Gnome при загрузке на сервере.

Гном автоматически запускается при загрузке в Ubuntu 12.04 LTS, если мы подключить монитор к нашему серверу мы увидим, что GUI запустился и ждет чтобы мы вошли, это не очень удобно. Сейчас мы это исправим. Чтобы  это предотвратить нужно отредактировать файл gdm.conf:

# sudo vim·/etc/init/gdm.conf

Нужно в этом файле конфигурации закомментировать  6 строчек:

6 lines
#start on ((filesystem
# and runlevel [!06]
# and started dbus
# and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
# or stopped udev-fallback-graphics))
# or runlevel PREVLEVEL=S)

VNC шифрование через ssh туннель

По умолчанию, VNC не является безопасным протоколом, по этому  (так безопаснее) мы запустим сервер VNC только на 127.0.0.1 (локальный) и пробросим его через туннель SSH (для этого, есть варианты в Putty).

В Ubuntu нужно отредактировать:

# sudo vim·/etc/vncserver/vncservers.conf

Нужно добавить опцию «-localhost»

<img aria-describedby= >проксирование vnc-server на localhost

Перезапустим сервер:

# sudo service vncserver restart

Запустите PuTTY/ Kitty, введите IP-адрес или имя хоста сервера VNC:

<img aria-describedby= >использование vnc через kitty

Переходим на другую вкладку, Session->Connection->SSH.

<img aria-describedby= >использование vnc через kitty, настройка

Через команду можно посмотреть что все работает:

# netstat -a

После чего уже запускаем непосредственно, vnc viewer и прописываем заместо нашего реального ИП, localhost:1 (или 2). Вводим пароль и можно использовать.

Надеюсь что эта статья «Установка и настройка VNC Server на Debian/Ubuntu/Linux Mint» помогла вам и на этом я закончу ее.

 

 

Было ли это полезно?

0 / 0