windows下通过vnc图形界面登陆linux
上一篇 / 下一篇 2011-12-17 13:51:18 / 个人分类:linux
键入下面的命令来检查vnc客户端和服务器是否已经安装在你的系统中:
操作命令:
rpm -q vnc vnc-server
显示内容
vnc-4.0-0.beta4.3.2
vnc-server-4.0-0.beta4.3.2
显示如上内容就可以不用安装了,否则要安装相应的软件,一般vnc-server是默认安装的,只需要安装vnc的rpm包就可以了,简单的一条命令就解决了:yum -y install vnc。
要把vnc配置成一项系统服务,把你的用户名称加入到下面的配置文件中:
操作命令:
vi /etc/sysconfig/vncservers
显示内容
# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the line below to start a VNC server on display :1
# as my 'myusername' (adjust this to your own). You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted! For a secure way of using VNC, see
# URL:http://www.uk.research.att.com/vnc/sshvnc.html
# VNCSERVERS="1:myusername"
VNCSERVERS="1:root"
在启动vnc服务之前,用vncpasswd这个命令来创建一个vnc的口令
注意这将同时在你的home目录下,创建一个隐藏的目录.vnc,其中有一个文件passwd保存着你的vnc口令.
操作命令:
vncpasswd
显示
Password:
Verify:
继续操作
ls -d .vnc
.vnc
ls .vnc
passwd
现在来启动vnc服务
service vncserver start
察看一下.vnc这个目录的内容,应该类似于下面的东西.
CODE:
[tchung@tchung101 tchung]$ cd .vnc
[tchung@tchung101 .vnc]$ ls
passwd tchung101:1.log tchung101:1.pid xstartup
[tchung@tchung101 .vnc]$
编辑/root/.vnc/xstartup的脚本,注意到下面红色的部分的注释
注:.vnc是隐藏文件夹
将这两行标记成红色的内容前面的注释符号去掉,否则你将只能得到一个什么都没有的灰屏。
#!/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 &
因为已经修改了启动脚本,现在来重新启动vncserver.
service vncserver restart
照下面使用客户端的vncviewer命令.就会出现图形界面了
vncviewer localhost:1
VNC Viewer Free Edition 4.1.2 for X - built Mar 24 2009 19:53:14
Copyright (C) 2002-2005 RealVNC Ltd.
See http://www.realvnc.com for information on VNC.
X connection to localhost:11.0 broken (explicit kill or server shutdown).
如果出现如上界面,那么Xming没有打开
安装Xming
需要在本地Windows上运行一个X Server。选择有很多:Cygwin下的X
Server恐怕是最著名的,但是为了这么一个小小的事情去安装一个“相对巨大”的Cygwin,似乎有些夸张;除了Cygwin,还有两个著名的商业软
件可以选用,Xwin32和Xmanager,上学期IC实验用的就是Xmanager,感觉很流畅很好用,不过,虽然Xmanager可以试用,但是终
究还是商业软件;还有一个选择,就是这里要讲的,开源软件Xming。
Xming是一个配置简单而功能强大的开源X Server,可以运行在M$的XP/2003/Vista操作系统下。
Xming的主页:http://www.straightrunning.com/XmingNotes/
Xming的SourceForge页面:http://sourceforge.net/projects/xming/
从SourceForge下载Xming-setup.exe,在本地安装。
注意:安装这个Xming-mesa才可以,我安装Xming最后无法实现目标。
第一次运行时使用开始菜单里面的XLaunch来启动,产生一个初始的配置文件。对于简单的使用来说,不需要任何特殊的配置,一切使用默认即可。Xming的具体配置和使用可以参考Xming的Manual。
启动完成后,在托盘区会出现一个“X”形状的图标,这表示Xming已经在运行了,将鼠标悬停上去,能看到当前使用的“Display number”。
使用SSH,不需要作特别设置
使用putty需要在Connection->SSH->X11下,勾选Enable X11 forwarding,在Xdisplay location处填写:localhost:0.
注:以上操作都是在禁止的远程控制的机器的防火墙的情况下的
windows下通过vnc图形界面登陆linux(转)
VNC是由AT&T试验室开发,是一款优秀的远程控制工具软件,后来以GPL授权的形式开源。经过几年的发展,现在的VNC已经不单指某个软件,而是一类软件的通称。下面介绍Linux下常用的两个VNC软件。
VNC的原理就是不停的对窗口界面截屏,再将图像传输给客户端,同时VNC服务器端接管服务器端的键盘、鼠标控制权,客户端可以通过服务器端操纵键盘鼠标。比较类似Windows下的pcAnywhere。
一、Windows 端设置
先讲Windows端是因为,下述的两个VNC可以用同一个客户端连接。
在Windows平台上,客户端我选择了RealVNC。RealVNC包括了一整套的服务器端与客户端,如果只安装客户端是不需要注册码的,其客户端程序名为vncviewer.exe,这是个绿色软件,你可以从安装目录下拷贝到其他电脑中运行。
二、VINO
VINO是Gnome中集成的一个VNC软件,安装Gnome环境时默认安装,点击“系统”-“首选项”-“远程桌面”就打开了其配置窗口。
选中“允许其他人查看您的桌面”后VINO就会启动服务器端进程vino-server,同时它监听TCP 5900端口。如果不选中“允许其他用户控制您的桌面”,客户端则只能观看不能操纵。
VINO的模式与下面介绍的XVNC有很大不同,我觉得VINO其实是“Windows下的远程协助”,因为客户端显示的桌面与Linux端本地显示器中显示的桌面一样,如果你操纵客户端中的鼠标,Linux的显示器也能看到鼠标在跑。如果你在Windows下安装过VNC服务器端,效果就是这个样。
另外,VINO的带宽占用真是变态,就算是一进桌面什么都不打开无操作的情况下,带宽也要占到4-5Mbps(桌面1280×1024,色彩24),如果有操作会占到8-12Mbps。
所以,VINO不适合做为服务器的日常远程管理,比较适合做为Linux下的远程协助和远程教学,也就是说你遇到一个问题,求助高手,而高手可以手把手的教你,你可以直接观看屏幕学习,或者做故障重现,你在本地做故障或Bug重现,而工程师可以远程观看。
三、XVNC
XVNC就是大家所熟悉的vnc或vncserver,是由RealVNC公司开发的开源版的VNC软件。
1、安装XVNC。
安装Linux时,可以从安装包中选中。若没有安装,可以从安装盘中找到。
服务器的组件名叫vnc-server。请执行rpm -q vnc-server 这个指令。
它的输出应该是package vnc-server is not installed 或类似vnc-server-4.0-11.el4。
假如服务器未被安装,请用这个指令来安装它:yum install vnc-server。
2、启动vncserver。
在终端中输入:
vncserver :1 -geometry 1280x1024 –depth 24 注::1指1号窗口,-geometry指窗口分辨率,-depth指色彩数
也可以简单的指定:
vncserver :1 注:使用RealVNC的客户端,窗口分辨率与色彩数可以在客户端指定
当你第一次启动vncserver时,会要求指定密码,该密码是VNC客户端连接时要输入。
窗口可以从0开始指定,如果Linux本地端已经启用图形环境,则必须从1开始指定,因为窗口0被X11占用。
3、配置xstartup
XVNC默认采用twm做为图形环境,如果你安装了KDE或Gnome也可以启动。
vi ~/.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 &
最后一行twm &表示启动twm,修改成gnome-session &启动Gnome,修改成startkde &启动KDE。
如果Linux本地端已经启用Gnome或KDE图形环境,当VNC客户端连接服务器后,可能会只显示灰屏,没有正常启用图形环境。查看~/.vnc下的日志时会提示错误:You are already running a session manager。
这时需要去掉xstartup文件中的
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
这两行前的#,再重启vncserver。如果Linux本地端是init 3模式,则不需要修改这两行。
当vnc客户端连接服务器时显示的界面是英文的,主要是中文环境还没有装入,而且没有中文输入法。在# exec /etc/X11/xinit/xinitrc行后添加下面内容:
export .UTF-8 注:启用中文环境
scim –d 注:加载scim输入法
4、关闭vncserver
vncserver –kill :1 注:关闭窗口1,以此类推关闭窗口2就为:2
当所有窗口都关闭vncserver服务就关闭了。
5、客户端使用
XVNC不仅支持vncview等客户端程序,还支持浏览器控制。
浏览器直接输入地址http://IP:5800,就会启动Java客户端连接。
窗口0占用TCP 5900端口(VNC客户端),TCP 5800端口(浏览器)。
窗口1占用TCP 5901端口(VNC客户端),TCP 5801端口(浏览器)。
窗口2、3以此类推。
6、开机自启动vncserver
上面的操作都是要先登录Linux端,然后手动启动vncserver服务后,才能使用VNC连接。如果你想开机自启动vncserver服务,必须这样做。
先按上面的步骤启动一次vncserver,确保密码和xstartup文件都建立了。
然后,vi /etc/sysconfig/vncservers,添加如下内容:
VNCSERVERS="1:root 2:zhang 3:li" 注:1、2、3代表窗口,比如root用户用窗口1,zhang用户用窗口2,这里的用户是指Linux中的正规的用户帐户
VNCSERVERARGS[1]="-geometry 640x480 –depth 24" 注:为root用户指定分辨率和色彩数,这里的[1]指上面的“1:root”
VNCSERVERARGS[2]="-geometry 640x480 –depth 16" 注:为zhang用户指定分辨率和色彩数
VNCSERVERARGS[3]="-geometry 800x600"
注:上面的这三行可以不添加,由vnc客户端自行控制分辨率和色彩。上面的root、zhang、li用户必须确保密码和xstartup文件都建立了,你可以分别登录先执行一次vncserver :1。
最后,执行/sbin/chkconfig vncserver on指令。
7、安全
XVNC的数据传输都是明文的,因涉及服务器的管理,使用明文是不可接受的。
我们可以使用SSH加密VNC数据。
首先,开启Linux端的SSH服务。
第二,在Windows端下载一个SSH telnet工具。推荐的有PuTTy,SecureCRT。
第三,启用SSH隧道。下面以SecureCRT为例,PuTTy操作类似。
先建立一个连接到Linux端的普通SSH会话。
在该会话选项中“端口转发”中,添加“本地端口转发属性”。
见右图中,在“本地”中输入一个端口,这里选择了5901,也可以选择5801或其他端口,只要不与本地的服务相冲突,这个本地端口与Linux中vncserver监听的窗口端口无关,在“远程”中输入5901,这个端口是Linux端的vncserver监听的端口,这里是启动窗口1,如果启动窗口2则这里要输入5902。确定。
设置完后,在SecureCRT中启动与Linux的SSH会话,正确登录Linux后。打开vncviewer。
在VNC服务器中输入:localhost:5901(这里的端口就是上面指定的本地端口,而非Linux端的端口),因为这里要连接的是本地的SecureCRT启动的SSH隧道。在VNC运行过程中SecureCRT不能关闭。
这样,在Linux端的防火墙就可以只开放SSH端口,关闭掉有关VNC的所有端口。TAG:
标题搜索
日历
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
1 | 2 | 3 | 4 | 5 | 6 | ||||
7 | 8 | 9 | 10 | 11 | 12 | 13 | |||
14 | 15 | 16 | 17 | 18 | 19 | 20 | |||
21 | 22 | 23 | 24 | 25 | 26 | 27 | |||
28 | 29 | 30 |
我的存档
数据统计
- 访问量: 35571
- 日志数: 26
- 建立时间: 2008-05-02
- 更新时间: 2012-04-28