VNC服务全面设置.docx

上传人:小飞机 文档编号:3168766 上传时间:2023-03-11 格式:DOCX 页数:16 大小:44.80KB
返回 下载 相关 举报
VNC服务全面设置.docx_第1页
第1页 / 共16页
VNC服务全面设置.docx_第2页
第2页 / 共16页
VNC服务全面设置.docx_第3页
第3页 / 共16页
VNC服务全面设置.docx_第4页
第4页 / 共16页
VNC服务全面设置.docx_第5页
第5页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《VNC服务全面设置.docx》由会员分享,可在线阅读,更多相关《VNC服务全面设置.docx(16页珍藏版)》请在三一办公上搜索。

1、VNC服务全面设置VNC服务全面设置 本文详细介绍了vnc服务器的搭建,尤其是为不同用户开启不同的窗口,这样多人协作开发时不会出现相互干扰,大家可以在同一时刻操作同一Linux主机,并且相关操作具备不同的用户属性,便于区分不同的开发者。 vnc server,图形界面,远程操作 在多人协作的项目中,经常需要大家共享信息,而通常这些都是放在Linux服务器上的,开发者通过nfs在本地Linux主机上可以远处操作服务器上的相关资源,但相比图形界面来说还是不友好。因此本文分析了如何可视化远程操作Linux服务器,本机甚至可以是Windows PC,这种方式最大的好处就是可以做Windows下做其他的

2、所有工作,比如代码编辑文档阅读等,实际的编译等才需要用到Linux环境。 一、VNC简介. 1 二、服务器vncserver的安装及配置. 1 2.1.VNC Server的安装. 1 2.2 设置 vnc server 的访问密码. 2 2.3 启动vnc server 2 2.4 更改为kde或者gnome等图形方式登陆. 2 2.5 为不同的用户开启不同的窗口. 3 三、客户端的设置及连接. 4 3.1 windows系统. 4 3.2 Linux系统远程控制其他Linux主机. 5 1 VNC简介 网络遥控技术是指由一部计算机去控制另一部计算机,而且当主控端在控制端时,就如同用户亲自坐

3、在被控端前操作一样,可以执行被控端的应用程序,及使用被控端的系统资源。 VNC是一套由AT&T实验室所开发的可操控远程的计算机的软件,其采用了授权条款,任何人都可免费取得该软件。VNC软件主要由两个部分组成:VNC server及VNC viewer。用户需先将VNC server安装在被控端的计算机上后,才能在主控端执行VNC viewer控制被控端。,windows及MacOS,因此可将VNC server 及VNC viewer分别安装在不同的操作系统中进行控制。如果目前操作的主控端计算机没有安装VNC viewer,也可以通过一般的网页浏览器来控制被控端。 整个VNC运行的工作流程如下

4、: , VNC客户端通过浏览器或VNC Viewer连接至VNC Server。 VNC Server传送一对话窗口至客户端,要求输入连接密码,以及存取的VNC Server显示装置。 在客户端输入联机密码后,VNC Server验证客户端是否具有存取权限。 若是客户端通过VNC Server的验证,客户端即要求VNC Server显示桌面环境。 VNC Server通过X Protocol 要求X Server将画面显示控制权交由VNC Server负责。 VNC Server将来由 X Server的桌面环境利用VNC通信协议送至客户端,并且允许客户端控制VNC Server的桌面环境及输

5、入装置。 2 服务器vncserver的安装及配置 2.1 VNC Server的安装 VNC Server下载地址 或者到上下载与系统对应的安装包 其实也是非常简单的,一个命令就可以了。 rpm -ivh vnc-3.3.6-2.i386.rpm 2.2 设置 vnc server 的访问密码 vncpasswd 补充说明:3.3版的vnc,不会自动的建立/root/.vnc/passwd文件,需要先手工建立,再运行vncpasswd 2.3 启动vnc server 若未用vncpasswd设置密码,则第一次运行vncserver时,会提示设置密码,再次确定密码。 drqdding drq

6、$ vncserver You will require a password to access your desktops. Password: * 为了不想任何人都可以任意遥控此计算机。因此当第 1次启动VNC server时,会要求设置网络遥控的密码。 Verify: * 注意: vncpasswd 可以更改这个密码,或者添加密码 New X desktop is dding:2 一定要记住这一行稍后会用到,终端编号; Creating default startup script /home/drq/.vnc/xstartup Starting applications specif

7、ied in /home/drq/.vnc/xstartup Log file is /home/drq/.vnc/dding:2.log 每次会启动一个server, 并有一个代号,如 :1 :2 等 可以在服务里面选中vncserver,这样系统启动时可以默认启动vnc服务。否则需要手动启动。 2.4 更改为kde或者gnome等图形方式登陆 Linux 上的 vnc server 内定的管理环境是 twm,不好看,也不方便。 第一次启动后vnc使用twm客户端,如果要用完整的KDE客户端,我们来把它改成 KDE。修改 $HOME/.vnc/xstartup这个文件。把 twm 改成 st

8、artkde 修改后要重新启动 vnc server。再次进行vnc连接时将显示KDE图形界面。 其实是将root/.vnc/xstartup这个文件。 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/xstartupn. -r $HOME/.Xresources & xrdb $HOME/.Xresour

9、cesn. xsetroot -solid greyn. vncconfig -iconic &n. xterm -geometry 80x24+10+10 -ls -title $VNCDESKTOP Desktop & wm & 有三种方法修改: a) 可以将最后一行中的twm修改成gnome或者startkde都可以,保存并重新启动vncserver服务; b) 将文件所有内容清除,写入gnome-session,保存并重新启动vncserver服务; c) 也可以写入 unset SESSION_MANAGER exec /etc/X11/xinit/xinitrc 表示启动默认的图形

10、管理器 即将第2,3行的#去掉也可以,我就是这么做的。然后重新开一下服务。试一下就OK了, 2.5 为不同的用户开启不同的窗口 即可以管理远程登陆的用户,对权限等进行管理。 建立root用户的vncserver,其对应的窗口号为 1。 rootdding drq# 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 myus

11、ername (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: VNCSERVERS=1:root 2:drq 表示用1登陆即为root用户,2登陆为drq用户 / 可以通过以下命令启动或停止vn

12、c服务: # service vncserver start/stop/restart 如果启动了多个vnc显示,可以通过以下命令关闭指定显示号的vnc服务: # vncserver -kill :1 (:1为指定的显示号) rootdding drq# /etc/init.d/vncserver stop 关闭 VNC 服务器:1:root 2:drq 确定 rootdding drq# /etc/init.d/vncserver start 启动 VNC 服务器:1:root 2:drq 确定 3 客户等的设置及连接 3.1 windows系统 VNC viewer下载地址 在Micros

13、oft Windows上运行VNC Viewer 直接运行“vncviewer.exe”,系统会出现”Connection details”对话框。 在“Connection details”对话框中的“VNC server”文本框中输入VNC Server的IP地址是一套由AT&T实验室所开发的可远程操控计算机的软件,其采用了GPL授权条款,任何人都可免费取得该软件。VNC软件主要由两个部分组成:VNC server及VNC viewer。用户需先将VNC server安装在被远程操控的计算机上后,才能在主控端执行VNC viewer进行远程操控。 类似的技术为RDP,称为“远程桌面连接”,

14、此外,还有一套由Symantec公司推出的pcAnywhere软件也具有类似功能。 VNC、RDP、pcAnywhere等均为远程登录Telnet的图形化界面软件,由Telnet软件发展而来。 2 工作流程 在服务器端启动VNC Serve。r VNC客户端通过浏览器或VNC Viewer连接至VNC Server。 VNC Server传送一对话窗口至客户端,要求输入连接密码,以及存取的VNC Server显示装置。 在客户端输入联机密码后,VNC Server验证客户端是否具有存取权限。 若是客户端通过VNC Server的验证,客户端即要求VNC Server显示桌面环境。 VNC Se

15、rver通过X Protocol 要求X Server将画面显示控制权交由VNC Server负责。 VNC Server将来由 X Server的桌面环境利用VNC通信协议送至客户端,并且允许客户端控制VNC Server的桌面环境及输入装置。 3 启动VNC Server VNC Server软件安装完毕后,在终端窗口执行命令vncserver即可启动VNC Server。 第一次启动VNC Server时会出现下列5行提示: You will require a password to access your desktops. New localhost:1 (root) deskto

16、p is localhost:1 Creating default startup script /root/.vnc/xstartup Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/linux:1.log 第1行表示为了不让任何人都可以远程登录此计算机,要求设置远程登录密码,例如设置密码为:123456,密码设置完成后,任何用户进行远程登录时都需要输入该密码; 第2行表示root用户建立了一个编号为1的远程登录桌面; 第3行表示建立了一个默认的VNC Server启动脚本文件; 第4

17、行表示启动建立的脚本文件 第5行表示日志文件名及所在目录。 以后启动VNC Server时会出现下列3行提示: New localhost:1 (root) desktop is localhost:1 Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/linux:1.log 如果想要更改VNC Server的密码,只要执行vncpasswd命令即可。 4 从浏览器远程登录 4.1 远程登录 在客户端的网络浏览器中输入VNC Server的IP地址和端口号,即可实现远程登录。 例如VNC

18、Server的IP地址为168.192.0.6,端口号为5800加上远程登录桌面编号1,即5801,登录界面如图1所示。 图1 浏览器远程登录界面 鼠标单击图1中的“OK”按钮后,弹出输入密码窗口,如图2所示。 图2 密码验证界面 仅需输入密码,密码验证通过后,远程登录成功,如图3所示。 登录成功后显示命令窗口,用户可以通过命令远程操控VNC Server。用户通过图形界面远程操控VNC Server的介绍见后。 图3 浏览器方式远程登录成功界面 4.2 远程登录设置 进行远程登录前,鼠标单击“Options”按钮进入远程登录设置界面,如图4所示。 图4 远程登录设置 登录设置共分3部分,分别

19、为“Encoding and Colour Level”、“Inputs”、“Misc”。and Colour Level部分为远程控制界面的色彩设置,选择“Auto select”即可。 Encoding Inputs部分为输入设置,选中“View only(ignore mouse &keyboard)”选项表示远程登录后仅能够看到VNC Server屏幕,而不能对其操作,这种方式可用于远程教学目的,否则,用户可以通过键盘和鼠标对VNC Server进行控制;选中“Accept clipboard from server”选项表示可以接收来自VNC Server剪贴板的内容;选中“Send

20、 clipboard to server”选项表示可以发送客户端剪贴板内容到VNC Server。 Misc部分为其它功能设置。VNC Server可以接受多个连接,这些连接共享相同的操作界面,选中“Shared(dont disconnect other viewers)”选项表示本远程登录不会使其它已登录的连接断开,否则,本远程登录会使其它已登录的连接断开,仅最新的连接有效;其它两个选项设置光标和区域显示,无关紧要,使用缺省设置即可。 4.3 以图形界面远程操控VNC Server 前面介绍的远程登录仅支持命令方式的远程操控VNC Server,要实现图形界面的远程操控,需要修改VNC S

21、erver上的xstartup文件内容,在VNC Server的终端窗口输入下列命令 vi /root/.vnc/xstartup 将该文件最后一行中的“twm”替换为“gnome-session”或“startkde”,重新启动vncserver后,即可实现用图形界面方式远程操控VNC Server。 gnome-session表示启动Gnome图形界面;startkde表示启动KDE图形界面;twm表示启动文本界面,三者根据实际情况选其一,本例使用startkde选项。 4.4 开机时自动启动vnc服务 要实现开机时自动启动vnc服务,鼠标依次单击“开始/管理工具/服务”,进入到服务设置界

22、面,找到“vncserver服务”,如图5所示。 图5 服务设置界面 鼠标左键双击“vncserver服务”,进入“服务vncserver的属性”界面,将启动类别由“手动”改为“自动”,如图6所示。 图6 设置vncserver属性界面 4.5 通过配置文件设置VNC Server 文件/etc/sysconfig/vncservers为设置VNC Server的配置文件,该文件的最后两行是对远程登录用户和远程控制屏幕进行设置,默认情况下这两行是被注释掉的。第1行VNCSERVER=”1:myusername”,表示用户myusername可以远程登录到桌面1上;第2行VNCSERVERARG

23、S1=”-geometry 800x600”,表示用户远程登录到桌面1时,屏幕分辨率为800x600。 删除这两行前面的“”号,使设置有效,也可以将该两行修改为:VNCSERVERS=”1:root 2:phred 3:sysadmin”和 VNCSERVERARGS1=”-geometry 800600 -alwaysshared -depth 24,其中第1行含义为允许3个用户同时远程登录到不同的桌面,即root用户登录到桌面1,phred用户登录到桌面2,sysadmin用户登录到桌面3;第2行含义为桌面1分辨率为800x600,24位色彩,其余两个桌面使用缺省分辨率和色彩。 5 用VN

24、C Viewer远程登录 在客户端运行vncviewer,输入服务器的ip地址和桌面编号,然后鼠标左键单击“Options”按钮,设置连接选项。连接选项设置与浏览器基本相同。然后鼠标左键单击“Options”按钮进行连接,如图7所示。 图7 vncviewer远程登录界面 输入连接密码,显示VNC连接界面。如图8所示。 图8vncviewer方式远程登录成功界面 vncviewer连接和浏览器连接除起始连接方式不同之外,其余操作基本相同。 Linux的VNC Server还支持windows中的VNC Viewer连接,连接方法同上。 6 关闭 VNC Server 在服务器端运行vncser

25、ver -kill :1 即可关闭1号桌面连接,同理可关闭其它桌面连接。 VNC端口修改: VNC的服务端口为5900,新增一个连接 :1 ,则该连接端口为5900+1=5901。但是在只有一个公网地址的公司网络中,可能会有多台服务器需要用到VNC则5900系列端口会不够用。VNC的服务端口没有在其配置文件中,幸好,可以在其脚本中修改。 首先找到vncserver的脚本先修改服务端 rootl# grep 59 /usr/bin/vncserver -n 21:# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1

26、307, 222:$vncPort = 5900 + $displayNumber; 374:# n is taken if something is listening on the VNC server port (5900+n) or the 393:# (5900+n) or the X server port (6000+n). 410: if (!bind(S, pack(S n x12, $AF_INET, 5900 + $n) /可以看到该文件中只有222和410两行的5900数字是其作用的,其他均为注释 rootl# vi /usr/bin/vncserver /于是将这两行

27、的5900替换为你想要的新端口,我这里改为17050 $vncPort = 17050 + $displayNumber; . if (!bind(S, pack(S n x12, $AF_INET, 5900 + $n) . rootlongzw # vi /etc/sysconfig/iptables -A INPUT -p tcp -m state -state NEW -m tcp -dport 17050 -j ACCEPT -A INPUT -p tcp -m state -state NEW -m tcp -dport 17051 -j ACCEPT /开放防火墙,因为vnc用的

28、了 :1连接所以17051也要用到。这里我已经将公网地址的1705*都映射到此服务器上 /然后就是重启iptables生效 rootlongzw # service iptables restart iptables:清除防火墙规则:确定 iptables:将链设置为政策 ACCEPT:filter nat 确定 iptables:正在卸载模块:确定 iptables:应用防火墙规则:确定 rootlongzw # service vncserver restart 关闭 VNC 服务器:1:root 确定 . 确定 rootlongzw # netstat -tnl | grep 17051

29、 tcp 0 0 0.0.0.0:17051 0.0.0.0:* LISTEN /看下17051端口已起来了 此时在远端用vnc client软件输入ip:17051,这里 : 后面跟的是 :1 的实际端口。 如果还是无法正常连接,还需要修改vnc client软件相对于的vnc server的配置。我用的realvnc的server在开始菜单中有server 配置的选项,把“连接”中的端口都修改为17050-即服务器端VNC的服务端口,因为连接过去时会自动加1。 如何设置VNC使之在启动时运行GNOME或KDE? 相关版本:Red Hat Enterprise Linux 3,Red Hat

30、 Enterprise Linux 4,Red Hat Enterprise Linux 5 VNC xstartup程序中默认的设定值是启动twm,而不是GNOME或KDE。 默认的配置文件在第一次启动vncserver之前,运行vncpasswd命令创建密码的时候生成在用户的家目录中: $HOME/.vnc/xstartup $是用户家目录。其中包含如下内容: #!/bin/sh # Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xini

31、trc -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 & 为了启动GNOME或者KDE,先去掉“unset SESSION_MANAGER“和”exec /etc/X11/xinit/xinitrc“这两行的注释,然后将twm&注释掉,最后添加“gn

32、ome-session”,其设置如下: #!/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

33、 -title $VNCDESKTOP Desktop & #twm & gnome-session & 类似的,如果要启动KDE,需要修改为: #!/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 gre

34、y vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title $VNCDESKTOP Desktop & #twm & startkde & 修改配置文件后,关闭所有客户端vncviewer连接,然后重启动VNC,GNOME或KDE即已做为默认桌面。 service vncserver restart 客户端方式和Web方式 客户端方式访问,是在VncViewer的启动对话框中,输入服务器地址和VncServer显示序号(Display number),例如:192.168.0.254:1,如下图所示。显示序号从1开始,开启多个Vnc

35、Server时,显示序号依次递增。 以Web方式访问VncServer,需要在网络浏览器的地址栏内输入服务器地址和端口号,端口号从5801开始(如果 显示编号为1,一般第一次设置的显示编号都是1,就用580015801) 。如:http:/192.168.0.254:5801。 端口号与VncViewer访问时的显示序号有对应关系,例如,用VncViewer访问VncServer输入的服务器地址和显示序 号为192.168.0.254:3,则在Web方式下输入192.168.0.254:5803,访问的是同一个VncServer服务进程。 保持连接端口不变 经分析,启动时加载的 VncServ

36、er,运行时,要在/tmp/.X11-unix目录下创建临时文件,例如X1、X2等;在/.vnc目录下创建进程标识文件和日志文件, 例如router:1.pid,router:1.log等(这里的router是该Linux主机名)。只要在每次启动VncServer之前,把上次 创建的临时文件删除,就可以让VncServer采用最初的显示序号启动了。做法如下: 在/etc/rc.d/rc.local文件中添加命令: rm -f /tmp/.X11-unix/X* rm -f /.vnc/*.pid rm -f /.vnc/*.log vncserver 这样,每次启机,系统会先把上次非正常关机时留下的临时文件删除,然后启动VncServer,从而保证端口号是固定的,可以随时使用http:/192.168.0.254:5801来访问该主机了。 注:使用VNC时出现无法输入数字和字母问题 是输入法在作怪。VNC中要求本地的输入法必须与远程连接的操作系统语言匹配,否则就会出现这样的问题。如果连接的linux系统是英文版的,在使用VNC cient时本地的输入法切换在中文状态下就会出现无法输入的情况,若切换到英语英国这个状态就没有问题了。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号