* from: http://heli.bokee.com/1453085.html
VNC使用小记
VNC本身就是为了跨平台的远程控制诞生的,具有很多优秀的性质,如小巧,跨平台等等。我们这里一方面介绍VNC在Windows平台下面的使用,另一方面介绍VNC在Linux平台里面的使用。
- Windows下面VNC的使用
- Linux下面VNC的使用
Windows下面VNC的使用
正如Windows里面大多数远程控制软件一样,VNC安装好以后会产生一个系统服务,设置好系统托盘区那个图标进去的密码,并允许你的网络防火墙打开相应的端口即可。使用那个端口,我也不记得了,
netstat -an
看看吧。
Linux下面VNC的使用
使用vnc主要用到下面几个命令,首先设置自己的密码,可以用vncpasswd,它将创建~/.vnc/passwd文件。然后打开服务,这不要求你是管理员。
vncserver -depth 24 -geometry 800x600
更详细的参数可以看看man page。打开后可以退出登录,不会关闭该进程。如果想关闭,可以使用
vncserver -kill :1
其中的1可以为其他,这相当于X里面的编号,在启动的时候会有显示。
然后就可以连接到该VNC Server了,使用
vncviewer 10.20.40.65 :1
值得注意的是,默认情况下vnc启动的是twm这个简易的窗口管理器,如果你需要不同的管理器,如GNOME,KDE,或者WindowMaker等等,你可以在~/.vnc/xstartup文件里面更改,这个文件和.xinitrc类似。
* from: http://blog.csdn.net/anonfan/archive/2006/11/29/1420890.aspx
VNC基本上是由两部分组成:一部分是客户端的应用程序(vncviewer);另外一部分是服务
器端的应用程序(vncserver)。VNC的基本运行原理和一些Windows下的远程控制软件很相
象。VNC的服务器端应用程序在UNIX和Linux操作系统中适应性很强,图形用户界面十分友好,
看上去和Windows下的软件界面也很类似。在任何安装了客户端的应用程序(vncviewer)的
Linux平台的计算机都能十分方便的和安装了服务器端的应用程序(vncserver)的计算机
相互连接。另外,服务器端 (vncserver)还内建了JavaWeb接口,这样用户通过服务器端对
其他计算机的操作就能通过firefox等浏览器显示出来了,这样的操作过程和显示方式比较
直观方便。
服务器端设置
一、linux系统
安装VNC和VNC-server两个rpm包,也有tar包下载,但为了方便还是用了rpm包。
安装完两个包后:
1、运行“vncserver”命令正式将一个xdm作为VNC服务器,这时会出现“New "x" desktop
is hostname"1”之类的话,其中最后的“1”表示这是第一个VNC的图形界面,如果再运行一
次“vncserver”命令,则会出现“New "x" desktop is hostname"2"”,最后的2表示这
是第二个图形界面。如此类推,再运行再增加......
2、server端的设置就是这么简单,但如果你不想用xdm而想用更漂亮的gdm或kdm的话,就要作
一些修改了:编辑~/.vnc/xstartup文件,该文件在第一次运行“vncserver”命令的时候自
动产生。将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 &
|
3、可以在/usr/local/bin/vncserver中更改分辨率和色度。(也可能是/usr/bin/vncserver
中,可用“whick vncserver”看看哪个才是你真正在用的“vncserver”。
4、配置VNC自动启动。在/etc/sysconfig 下有一个vncservers 的配置文件。修改成如下:
VNCSERVERS="1:root"
意思就是使用ip:1即可使用root的用户桌面。 而在屏幕上不显示。
使用chkconfig --level 3 vncserver 即可在启动时加载vncserver
5,vncserver可以带参数运行,请看下面的例子。
以分辨率 800x600 启动vncserver : vncserver -geometry 800x600
以16位色深启动vncserver : vncserver -depth 16
让vncserver允许所有客户机共享接入同一桌面: vncserver -alwaysshared (这种启动
方式可作简单的视频会议,或远程教学)
vncserver默认启动的vnc服务器有新连接请求时会断开旧的连接,若想让vncserver拒绝新
连接请求保持旧的连接 : vncserver -dontdisconnect
以上参数可配合使用。
二、windows系统
windows版本的VNC更简单,下载VNC的exe文件,双击安装,安装过程和其它windows的软件
没有什么不同,一路next。最后选择是否产生快捷方式和开机自动运行等即可。
在桌面双击VNC SERVER图标,填入密码,按确定即可。其默认的listen端口是3900。
客户端设置
一般来说,我们会使用windows作客户端(因为linux的xwindow其实已经是一个能共享桌面的
服务器)。
一、windows:双击桌面的VNC VEIWER图标。
linux:在Xwindow中运行vnccleint命令。
二、以下对windows和linux来说都是一样的:
在弹出的对话框中填入server的ip,
1、server端是windows的话,直接填IP即可;
2、server端是linux的话,必须填上“IP:数字”,其中的“数字”是第几个图形界面。
(在上面linux server端的第二点有谈过这问题)。
比如:192.168.0.99:1或192.168.0.99:2
3、输入在server端设置的密码即可。
4、如果您的Linux系统中安装了Java classes,您可以启动firefox等浏览器来连接
vncserver,然后输入以下URL:
http://xxx. xxx.xxx.xxx:5801
xxx.xxx.xxx.xxx是您计算机的IP地址或者主机名。
* from: http://www.x5dj.com/Blog/00550659/00422691.shtml
vnc使用
网络遥控技术是指由一部计算机(主控端)去控制另一部计算机(被控端),而且当主控端在控制端时,就如同用户亲自坐在被控端前操作一样,可以执行被控端的应用程序,及使用被控端的系统资源。 VNC(Virtual Network Computing)是一套由AT&T实验室所开发的可操控远程的计算机的软件,其采用了GPL授权条款,任何人都可免费取得该软件。VNC软件主要由两个部分组成:VNC server及VNC viewer。用户需先将VNC server安装在被控端的计算机上后,才能在主控端执行VNC viewer控制被控端。 (在windows中也由一套著名的网络遥控软件――Symantec公司推出的pcAnywhere。 VNC server与VNC viewer支持多种操作系统,如Unix系列(Unix,Linux,Solaris等),windows及MacOS,因此可将VNC server 及VNC viewer分别安装在不同的操作系统中进行控制。如果目前操作的主控端计算机没有安装VNC viewer,也可以通过一般的网页浏览器来控制被控端。 整个VNC运行的工作流程如下: (1) VNC客户端通过浏览器或VNC Viewer连接至VNC Server。 (2) VNC Server传送一对话窗口至客户端,要求输入连接密码,以及存取的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 Server的桌面环境及输入装置。
『VNC的安装与使用』 本人的操作环境:被控端 Redhat9.0,主控端Windows XP。 1. 载VNC Server VNC Server下载地址:http://gwbn.onlinedown.net/soft/1271.htm
2.安装。 vnc-3.3.7-x86_linux.tar.gz (如果是源代码请看包里的说明),当下载了VNC的Linux版本后,可以解压文件到一个文件夹中,例如/home/vnc,然后复制文件vncserver、 vncpasswd和Xvnc到/usr/bin目录中。假如想要能够通过VNC服务器的整合Java界面远程控制Linux电脑,也得需去建立一个子目录/usr/local/vnc/classes。在建立此子目录之后,复制VNCJava.class文件到此目录中。(一般redhat 9.0自带以上文件,所以直接用终端执行就可以)。 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地址,并在网址后加上“:5800+显示编号”的端口号即可操控该计算机。 例如:http://192.168.01.:5801 (如果显示编号为1,一般第一次设置的显示编号都是1,就用5800+1=5801。)
如果看到窗口,就说明你成功,在密码框输入密码,就能远程控制了。
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 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & gnome-session & startkde & twm &
gnome-session是启动Gnome图形界面;startkde是启动KDE图形界面;twm是启动文本界面。三者选其一。
A. 如何开机时自动启动vnc服务
打开“系统设置”-->"服务器设置"-->"服务",勾选上vncserver,“保存”。
修改 /etc/sysconfig/vncservers
VNCSERVERS="1:root 2:phred 3:sysadmin" 1代表“桌面1”,root代表用户名;可同时启动多个用户桌面 VNCSERVERARGS[1]="-geometry 800x600 -alwaysshared -depth 24"
-alwaysshared代表允许多用户同时登录 -depth代为色深,参数有8,16,24,32。
A.为什么连接后,不能显示桌面,而只有一个Terminal窗口? 试着修改/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号,可以自行指定,尽量不要使用系统默认的以保证安全,必须为非0的正整数 vncserver :99 使用时必须输入正确的display号才能连接;用浏览器要在端口号加上display号,默认端口5800,远程连接输入 XXX.XXX.XXX.XXX:5899
-name 指定vncserver桌面名字 比如要让名字显示为 “红帽” vncserver -name 红帽
-geometry x指定显示桌面的分辨率,默认为1024x768 vncserver -geometry 800x600 这个命令实际中很有用,例如本地分辨率为1024x768 如果不设定远程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的配置文件可以更换为自己喜欢的,方法如下: 修改用户目录下的 .vnc/xstartup 文件 #!/bin/sh [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & twm & 将#!/bin/sh后面的内容全部注释掉,改成 ~/.Xclients 保存文件 现在可以测试修改是否成功,先kill vncserver服务 vncserver -kill : 或 pa aux|grep Xvnc kill PID 重新启动vncserver ,用vncviewer连接远程桌面是不是已经变成自己喜欢的类型了。
在前面有vnc server 设置的文章(http: //bbs.chinaunix.net/forum/viewtopic.php?t=368552&highlight=yunqing) 里, 我们已经可以在一个linux的服务器上运行vncserver来进行远程访问了,但需要注意的是,如果直接使用vncviewer来进行访问,有 两点不利因素: 1. 口令传输是明文,很容易被侦听到. 2. 防火墙需要打开59xx端口,这在通常的单位里是不可能的. 幸运的是,我们有ssh这个强大的工具,象X11 Forwarding(另文论述),我们可以使用ssh隧道来保护通讯过程,下面就进行简单介绍.
假设vncserver运行在服务器 myserver (ip地址为:192.168.x.x)的屏幕1,也就是侦听 192.168.x.x:5901, 用户名为foo
情形一: vnc客户端为linux 这种情形很简单,一般的linux发行版本里面都默认安装了ssh套件. 1. 用ssh登录到服务器
ssh -L 5901:localhost:5901 -l foo myserver
或者直接用ip地址
ssh -L 5901:localhost:5901 -l foo 192.168.x.x
2. 在本机的另外开的终端上,运行vncviewer (或其它的类似工具) vncviewer localhost:1
情形二: vnc客户端为windows 1. 下载一个ssh客户端,个人推荐putty,只有一个程序,不需要安装,简单而功能齐全. 到这里下载http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 下载putty.exe到桌面上直接运行即可。 2. 运行putty,输入服务器的ip地址,输入一个名字,这里myserver作为session的名字,按save保存。见附图一 3. 单击对话框左边的tunnels来选择相关设置,在source port里输入5901,在Destination里输入localhost:5901,按Add添加,如附图二 4. 单击左边session,回到session设置,按save重新保存。按open即可登录到服务器。 5. 运行vnc-viewer (如果没有,到这里下载http://www.realvnc.com/download.html,只要一个 exe的文件就行),在Server里输入localhost:1,见附图三, 输入口令后一个linux的桌面就会出现在windows里,并且是非常 安全的,Cool
|