vnc



How To Install X Server on a VPS (with VNC access)


This guide is intended to provide those users who desire it instructions on how to install a graphical user environment on their VPS. Because the usual method of access your VPS (SSH) does not support a graphical environment, we will also install a way of doing so, called VNC. VNC is an open-source desktop sharing protocol allowing, among many other things, remote access to the GUI of a system. It is very similar in function to the Terminal Services functionality on Windows.
Before we begin, we would like to caution users that a graphical user environment such as the X server (X windows) consumes significantly more resources than a typical SSH-based access system, and as such is not recommended for use in an environment where resources are scarce. We also do not recommend running a GUI on a server with any less than 512MB of memory.

Installing the Components


Our VPS images are intended to be very minimal to allow the most user customization, so you must install the full group packages for Xwindows and Gnome (the default window manager for most operating systems).
Use SSH to log in to your server and run the following:
For CentOS:

yum groupinstall "X Window System" "GNOME Desktop Environment" tigervnc-server
For Ubuntu (as root):

apt-get install ubuntu-desktop gdm vnc4server
For Debian (as root):

apt-get install xorg gdm gnome vnc4server
Вам также понадобится программа просмотра VNC для вашего ПК. Если вы используете Microsoft Windows, вы можете попробовать одну из бесплатных программ просмотра VNC, например, бесплатную версию RealVNC. Для Mac мы рекомендуем проект с открытым исходным кодом Chicken of the VNC.


Running VNC Server


Из коробки X-сервер должен быть настроен правильно. Однако нам нужно будет настроить VNC-сервер для автоматического запуска, а также для запуска нового сеанса X-сервера при его запуске. Сначала убедимся, что VNC работает нормально:
vncserver :1

Это запустит VNC-сервер в первый раз, создаст некоторые файлы конфигурации и запустит VNC-сервер, прослушивающий порт 5091 (при необходимости обязательно откройте этот порт в вашем брандмауэре). Теперь вы можете использовать программу просмотра VNC для подключения к серверу, чтобы убедиться, что он работает правильно. Вы можете использовать синтаксис hostname.domain.com:1 для подключения к серверу.

Running X Server


После первого входа в систему вы заметите, что VNC по умолчанию запускает только окно xterm с очень простым интерфейсом. Мы хотим изменить его конфигурацию, чтобы при запуске запускалась графическая среда Gnome, чтобы у нас был удобный графический интерфейс для работы. Что нам нужно сделать, сначала остановить работающий сервер VNC:
vncserver -kill :1

Далее нам нужно отредактировать /root/.vnc/xstartup (или /home/user :если вы запускаете сервер как обычный пользователь) и измените последнюю строку в файле, которая должна читаться как twm & следующим образом (обратите внимание на последнюю строку):


#!/bin/bash
# Раскомментируйте следующие две строки для обычного рабочего стола:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

unset SESSION_MANAGER
gnome-session &
Если этого файла не существует, создайте его и убедитесь, что он исполняемый
(chmod 0777).
После этого мы можем перезапустить наш VNC-сервер:
vncserver :1

Теперь вы можете войти в систему, как и раньше, однако на этот раз вам будет представлена среда рабочего стола Gnome!

images/127-1.png

Starting on Boot


If you would like your VNC server to start with the system boot, we will need to modify the init startup scripts. For CentOS:

chkconfig vncserver --levels 2345 on
Для Debian / Ubuntu сервер VNC должен быть автоматически настроен для запуска при загрузке. В противном случае вам может потребоваться обновить сценарии rc:
update-rc.d vnc4server defaults

Securing VNC


By default, VNC only encrypts the initial password communication then results to unencrypted transmission of the data stream. This can lead to problems if someone is able to sniff your network traffic, as could be the case communicating over the 'net with your VPS. To secure VNC, we will use an SSH tunnel to encrypt the VNC traffic:
http://www.cs.arizona.edu/computing/access/x11vnc.html

Содержание