четверг, 21 марта 2013 г.

VNC Server Configuration on Linux

На днях один коллега поделился, что настроил удаленный доступ к графическому столу Linux-сервера из Windows XP при помощи VNC и остался доволен.
«VNC… как давно это было, — подумалось мне, — на заре изучения мною Linux».
Причем, обычно настраивалась VNC-связка Linux->Windows (потому что, устанавливать и разбираться в Linux приходилось на своем компьютере, а необходимые приложения Windows запускать или в виртуалке или удаленно на Windows-серверах), а тут наоборот: Windows->Linux.
К тому же, вопросы про этот «наоборот» стали часто задавать мне последнее время те, кому приходится работать на «моих» Linux-серверах: «А можно удаленно работать с Linux наподобие mstsc или DameWare?». Покуда мне удавалось как-то отделаться от них, показав X-win32 или Xming ;-)

В общем, я заинтересовался, и решил настроить.

ОС на выбранном сервере:

# cat /etc/oracle-release
Oracle Linux Server release 5.7

Версия VNC Server, пусть остается какая есть из дистрибутива:

# rpm -qa|grep vnc
vnc-server-4.1.2-14.el5_6.6

В домашнем каталоге пользователя sergei VNC Server создаст директорию.vnc, а покуда ее нет:

# ls -l /home/sergei/.vnc
ls: /home/sergei/.vnc: No such file or directory

Задаю VNC-пароль для входа под пользователем sergei:

# su -c vncpasswd sergei
Password:
Verify:

Создался директорий .vnc и файл passwd:

# ls -l /home/sergei/.vnc
total 4
-rw——- 1 sergei sergei 8 Mar 21 14:10 passwd

Содержимое, отредактированного мною, конфига VNC Server:

# cat /etc/sysconfig/vncservers
VNCSERVERS=»1:sergei»

Проверяю, не болтается ли какой vnc-процесс:

# ps -e|grep vnc

Запускаю VNC Server:

# /etc/init.d/vncserver start
Starting VNC server: 1:sergei
New ‘dl1.ms:1 (sergei)’ desktop is dl1.ms:1

Creating default startup script /home/sergei/.vnc/xstartup
Starting applications specified in /home/sergei/.vnc/xstartup
Log file is /home/sergei/.vnc/dl1.ms:1.log

[  OK  ]

Появились процессы:

# ps -e|grep vnc
13136 ?        00:00:02 Xvnc
13199 ?        00:00:00 vncconfig

Устанавливаю в Windows XP VNC Viewer и захожу на dl1.ms:1, указав ранее заданный пароль, вижу twm desktop.

Настраиваю VNC Server еще для одного пользователя — oracle:

# ls -l /home/oracle/.vnc
ls: /home/oracle/.vnc: No such file or directory

# su -c vncpasswd oracle
Password:
Verify:

# /etc/init.d/vncserver stop
Shutting down VNC server: 1:sergei                         [  OK  ]

# ps -e|grep vnc

# cat /etc/sysconfig/vncservers
VNCSERVERS=»1:sergei 2:oracle»

# /etc/init.d/vncserver start
Starting VNC server: 1:sergei
New ‘dl1.ms:1 (sergei)’ desktop is dl1.ms:1

Starting applications specified in /home/sergei/.vnc/xstartup
Log file is /home/sergei/.vnc/dl1.ms:1.log

2:oracle
New ‘dl1.ms:2 (oracle)’ desktop is dl1.ms:2

Creating default startup script /home/oracle/.vnc/xstartup
Starting applications specified in /home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/dl1.ms:2.log

[  OK  ]

# ls -l /home/oracle/.vnc
total 16
-rw-r—r— 1 oracle oinstall 593 Mar 21 15:37 dl1.ms:2.log
-rw-r—r— 1 oracle oinstall   6 Mar 21 15:37 dl1.ms:2.pid
-rw——- 1 oracle oinstall   8 Mar 21 15:33 passwd
-rwxr-xr-x 1 oracle oinstall 334 Mar 21 15:37 xstartup

В файле /home/oracle/.vnc/xstartup раскомментирую строки, чтобы грузился Gnome desktop (установленный по-умолчанию):

unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc

Выполняю:

# /etc/init.d/vncserver restart

Подключаюсь к dl1.ms:2.