本文来源于:http://wenda.tianya.cn/wenda/thread?tid=3be1f26dea527034
网络遥控技术是指由一部计算机(主控端)去控制另一部计算机(
VNC(Virtual Network Computing)是一套由AT&
(在windows中也由一套著名的网络遥控软件――
VNC server与VNC viewer支持多种操作系统,如Unix系列(Unix,
整个VNC运行的工作流程如下:
(1) VNC客户端通过浏览器或VNC Viewer连接至VNC Server。
(2) VNC Server传送一对话窗口至客户端,要求输入连接密码,
(3) 在客户端输入联机密码后,VNC Server验证客户端是否具有存取权限。
(4) 若是客户端通过VNC Server的验证,客户端即要求VNC Server显示桌面环境。
(5) VNC Server通过X Protocol 要求X Server将画面显示控制权交由VNC Server负责。
(6) VNC Server将来由 X Server的桌面环境利用VNC通信协议送至客户端,
『VNC的安装与使用』
本人的操作环境:被控端 Redhat9.0,主控端Windows XP。
1. 载VNC Server
VNC Server下载地址:http://gwbn.
2.安装。
vnc-3.3.7-x86_linux.tar.gz (如果是源代码请看包里的说明),
3.在Linux上启动VNC Server
执行vncserver命令:
[root@linux root]# vncserver
You will require a password to access your desktops.
Password: —-为了不想任何人都可以任意遥控此计算机。因此当第
Verify: —1次启动VNC server时,会要求设置网络遥控的密码。
New ‘X’ desktop is linux:1 —-一定要记住这一行稍后会用到。
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/linux:1.log
(经上述步骤后,便已启动了VNC Server。如果你想要更改VNC Server的密码,只要执行vncpasswd命令即可。)
5. 从浏览器远程遥控。
启动VNC Server 后直接打开浏览器,在地址栏中输入被控端的网址或IP地址,
例如:http://192.168.01.:5801 (如果显示编号为1,一般第一次设置的显示编号都是1,
如果看到窗口,就说明你成功,在密码框输入密码,
6.FAQ
A. 如何以图形界面登录被控端?
编辑~/.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 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
gnome-session &
startkde &
twm &
gnome-session是启动Gnome图形界面;
A. 如何开机时自动启动vnc服务
打开“系统设置”–>”服务器设置”–>”服务”,
修改 /etc/sysconfig/vncservers
VNCSERVERS=”1:root 2:phred 3:sysadmin” 1代表“桌面1”,root代表用户名;可同时启动多个用户桌面
VNCSERVERARGS[1]=”-geometry 800×600 -alwaysshared -depth 24″
-alwaysshared代表允许多用户同时登录 -depth代为色深,参数有8,16,24,32。
A.为什么连接后,不能显示桌面,
试着修改/root/.vnc/xstartup,把最后一行 twm& 改成 gnome-session& or kde&(据说KDE在目前的VNC Viewer上的表现不太稳定)
B. 为什么重新启动VNC Server后,连接不上了?
因为重新启动VNC Server时,系统会指定一个新的显示编号,
——————————————————————————————
查看vnc已启用的桌面号及监听进程
[root@linux /]# netstat -tlnp |grep vnc
vncserver 命令带有一些很有用的参数,用vncserver –help 查看。
简单解释一下:
vncserver [:] [-name ] [-geometry x] [-depth ]
[-pixelformat format]
vncserver -kill :display
:
vnc服务的display号,可以自行指定,
vncserver :99
使用时必须输入正确的display号才能连接;
-name 指定vncserver桌面名字
比如要让名字显示为 “红帽”
vncserver -name 红帽
-geometry x指定显示桌面的分辨率,默认为1024×768
vncserver -geometry 800×600
这个命令实际中很有用,例如本地分辨率为1024×768 如果不设定远程vnc服务分辨率就会造成桌面显示不全的问题。
-depth 指定显示颜色,设定范围8~32
vncserver -depth 16
用16bits颜色显示
-pixelformat 指定色素格式 与-depth大致相同,只是表示方法不一样
vncserver -pixelformat RGB888
用24bits颜色显示
vncserver -kill :display
结束vnc服务及远程桌面
vncserver -kill :1
其它更详细的使用请用man查看。
vnc内定的窗口管理器是twm与大家使用的可能不同,
修改用户目录下的 .vnc/xstartup 文件
#!/bin/sh
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
twm &
将#!/bin/sh后面的内容全部注释掉,改成
~/.Xclients
保存文件
现在可以测试修改是否成功,先kill vncserver服务
vncserver -kill :
或
pa aux|grep Xvnc
kill PID
重新启动vncserver ,
在前面有vnc server 设置的文章(http: //bbs.chinaunix.net/forum/
1. 口令传输是明文,很容易被侦听到.
2. 防火墙需要打开59xx端口,
幸运的是,我们有ssh这个强大的工具,象X11
假设vncserver运行在服务器 myserver (
情形一: vnc客户端为linux
这种情形很简单,
1. 用ssh登录到服务器
ssh -L 5901:localhost:5901 -lfoo myserver
或者直接用ip地址
ssh -L 5901:localhost:5901 -lfoo 192.168.x.x
2. 在本机的另外开的终端上,运行vncviewer (
vncviewer localhost:1