
Установка VNCserver на CentOS/RedHat/Fedora
VNC используется для отображения сеанса X Windows на другом компьютере. В отличие от удаленного соединения X, X-сервер работает на удаленном компьютере, а не на локальной рабочей станции. Ваша рабочая станция (Linux или Windows) отображает только копию дисплея (реального или виртуального), запущенного на удаленной машине.Есть несколько способов настроить сервер VNC. Эта статья «Установка VNCserver на CentOS/RedHat/Fedora» показывает, как можно настроить VNC сервер на примере CentOS.
1. Установка VNCserver на CentOS/RedHat/Fedora:
# yum install vnc-server
Можно еще сразу установить и VNC клиент, он не помешает и может пригодится вам в дальнейшем, для этого выполните:
# yum install vnc
Убедитесь, что установитt менеджер окон, чтобы получить полнофункциональный настольный компьютер с графическим интерфейсом. Вы можете использовать команду Yum groupinstall «GNOME Desktop Environment» для установки графического интерфейса — Gnome Desktop, так же можно установить и другие популярные окружения рабочего стола, например «KDE» и «XFCE». XFCE больше легкий, чем Gnome или KDE.
# yum groupinstall "GNOME Desktop Environment"
Если вы приверженец минимализма или просто проверяете работу то достаточно иметь простой клиент XTerm:
# yum install xterm
Если вы используете CentOS 6, то выполните yum groupinstall Desktop чтобы установить графическую оболочку.
Если вы используете CentOS 5, то выполните yum groupinstall «GNOME Desktop Environment» чтобы установить графическую оболочку.
У меня будет создано 2 пользователя (captain, vncuser) и им будет разрешено подключаться к установленному серверу, по этому я создам их сейчас и мы продолжим настройку:
# su - # useradd captain # useradd vncuser
Установим сейчас пароли для пользователей:
# passwd captain # passwd vncuser
Далее необходимо отредактировать соединение с сервером ( разрешить подключение именно указанным пользователям):
# vim /etc/sysconfig/vncservers
VNCSERVERS="1:captain 2:vncuser " VNCSERVERARGS[1]="-geometry 640x480" VNCSERVERARGS[2]="-geometry 800x600"
Я указал разрешение экрана, если нужно. то измените на большее! Нужно для каждого пользователя отдельно создать пароль для входа на сервер, что мы сейчас и сделаем:
1. Для пользователя captain:
# su - captain # vncpasswd
2. Для пользователя vncserver:
# su - vncserver # vncpasswd
Чтобы убедиться что все нормально, выполним команду:
# cd .vnc && ls
Должен в папках ( у каждого из пользователей) появится файл под названием passwd. Если нет, значит что то сделали не так!
Добавим сервер VNC в автозагрузку ОС:
# /sbin/chkconfig vncserver on
Для того чтобы запустить или остановить сервер ВНЦ, используйте:
# /sbin/service vncserver start # /sbin/service vncserver stop
Нужно еще добавить для каждого пользователя скрипт запуска Х-в:
# vim /home/captain/.vnc/xstartup # vim /home/vncuser/.vnc/xstartup
#!/bin/sh # Uncomment the following two lines for normal desktop: # 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" & twm &
Можно просто перейти в директорию /home/your_user_name/.vnc/ и скачать готовый скрипт, чтобы не писать его вручную ( мне кажется, так проще будет):
# wget http://linux-notes.org/wp-content/uploads/files/vnc_server/centos/xstartup
Выставим права 777 для данного файла ( у меня вроде бы не работало без этого, мучался и искал долго ошибку тупую):
# chmod 777 xstartup
Если установлен IPtables, то нужно добавить некоторые правила:
# cat /etc/sysconfig/iptables
[...] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -i eth1 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 5901:5902,6001:6002 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited [...]
После чего перезапускаем ипитаблес:
# /sbin/service iptables restart
На этом все, теперь нужно только запустить сервер:
# /sbin/service vncserver restart
Чтобы проверить работает ли все нормально, то перейдите в браузер и откройте:
http://your_IPadress:5801 — для пользователя 1
http://your_IPadress:5802 — для пользователя 2
и так далее.
Можно скачать ( установить) клиент для VNC, например, если вы используете Windows, то этот клиент называется — UltraVNC. Для centos, я установил в самом начале. В программе вводим IP:port. Для примера , покажу как у меня:
Пользователь captain будет запущен если ввести:
178.62.44.69:5901
После чего попросят ввести пароль.
Пользователь vncuser будет запущен если ввести:
178.62.44.69:5902
После чего тоже попросят ввести пароль.
ПРИМЕЧАНИЕ! Если долго не использовать графическую оболочку ( когда вы подключились уже), то она заблокируется. Решение только одно- это перезапустить сам сервер и подключится к нему заново!
Настройка VNC зашифрования через SSH туннель
Вы будете подключать через SSH туннель. Вы должны быть подключены по SSH для пользователя на компьютере. Для этого примера, пользователь captain. Это имя пользователя учетной записи должно существовать на машине и должен быть установлен пароль или ключ доступа SSH. Система имена пользователей и пароли Linux и VNC не обязаны быть
идентичными и 'не' автоматически синхронизируются. # vim /etc/sysconfig/vncservers
VNCSERVERS="1:captain 2:vncuser" VNCSERVERARGS[1]="-geometry 640x480 -localhost" VNCSERVERARGS[1]="-geometry 800x600 -localhost"
Перезапускаем ВНЦ сервер:
# service vncserver restart
Проверяем, только запускаем на другом компьютере (машине) и тестируем сервер с ВНЦ:
# vncviewer -via captain@178.62.44.69 localhost:1 # vncviewer -via vncuser@178.62.44.69 localhost:2
Установка и настройка удаленного доступа через vnc-ltsp-config
Для включения удаленного доступа для входа через VNC-клиента к системе Centos. Когда VNC-клиент подключается к одному из настроенных портов, пользователь будет дано экран входа. Сессия не будет постоянной. Когда пользователь выходит из системы, сеанс завершается.
Нужно подключить репозиторий EPEL и потом уже выполнять команду:
# yum install xinetd vnc-ltsp-config # /sbin/chkconfig xinetd on # /sbin/chkconfig vncts on # /sbin/service xinetd restart
Подредактируем настройки GDM:
# sudo vim /etc/gdm/custom.conf
[...] [security] "DisallowTCP=false" [...] "Enable=true"
Это добавит возможность получить следующие основанные сеансовые соединение по умолчанию для VNC-клиента:
Если вам не нравится вышеуказанные значения по умолчанию, просто изменить /etc/xinetd.d/vncts по мере необходимости. Основное преимущество использования установки VNC-LTSP-конфигурации является сокращение использования системных ресурсов по сравнению со стандартом «для настройки каждого пользователя «. Недостатком установки VNC-LTSP-конфигурации является то, что * любой * пользователь с возможность захода вероятно, будет иметь возможность войти в систему через VNC-клиента с полным графическим интерфейсом, если не будут приняты меры, чтобы ограничить этот тип доступа.
Настройка 2-х соединений консольных сессий
x11vnc является способ просмотра удаленно и взаимодействовать с реальными X дисплеев (т.е. дисплей, соответствующий физическому монитора, клавиатуры и мыши) с любой VNC Viewer. Таким образом, он играет роль для Unix / X11, что WinVNC играет для Windows.
x11vnc с опцией adhoc
Установим мы его сейчас.
# cd /usr/local/src # wget wget http://dag.wieers.com/rpm/packages/x11vnc/x11vnc-0.9.3-1.el5.rf.i386.rpm
Устанавливаем только что созданный пакет:
# yum install x11vnc-0.9.3-1.el5.rf.i386.rpm
Запускаем процесс x11vnc на хосте к VNC-клиенту:
# x11vnc -nopw -display: 0.0
Затем подключите (без пароля) через VNC-клиент к IP / имя хоста и порт отметил командой x11vnc. По умолчанию, x11vnc позволит соединения от всех интерфейсов. Настройки брандмауэра на основе хоста возможно, должны быть изменены.
Вы можете совместить это с SSH туннелирования:
# ssh -C -t -L 5900:localhost:5900 [remote ip] 'x11vnc -usepw -localhost -display :0'
Вот и все! Моя статья «Установка VNCserver на CentOS/RedHat/Fedora» подошла к завершению, надеюсь все понятно было как разложил, если нет, то пишите и спрашивайте. Спасибо за использование http://linux-notes.org
Подскажите как сделать так, что бы русский текст копировался правильно, не иероглифами. Какие настройки нужно изменить. Копирование происходит с vnc на ПК пользователя.
Для начала проверяем какая локаль прописана:
После чего, можно добавить в bashrc:
И прописать следующие строки:
Затем, выполнить:
Так же, можно подключатся к VNC следующим образом:
Более детально, я расскажу в своей статье.
Должно помочь 😉
Спасибо за ответ! Сделал но к сожалению так же копируется.