WIN下安装VNC实现对CENTOS的远程控制

原创 2012年03月31日 10:08:35

VNC,全称为Virtual Network Computing,它是一个桌面共享系统。它的功能,类似于windows中的远程桌面功能。VNC使用了RFB(Remote FrameBuffer,远程帧缓冲)协议来实现远程控制另外一台计算机。它把键盘、鼠标动作发送到远程计算机,并把远程计算机的屏幕发回到本地。
VNC技术与平台无关,VNC Viewer可以和VNC Server在不同的操作系统上。VNC几乎支持所有的操作系统,也支持Java,甚至可以通过支持Java的浏览器来访问VNC Server。多个VNC客户端可以同时连接到一个VNC Server上。
VNC最初由AT&T开发的,它的源代码是开源的。

在CentOs 4.3上配置VNC服务很简单(这里假定你的计算机上已经安装了VNC软件)

首先需要配置VNC密码,密码在使用客户端连接服务器时使用。
注意:VNC密码保存在用户的主目录中,每个用户都可以设置自己的密码。因此,请使用你的用户名(尽量不要使用root)运行下列命令:

Java代码
  1. vncpasswd  
然后输入密码。

接下来就可以启动VNC server了。在启动VNC server时,需要为你的server指定一个display参数。你可以把display理解为一个桌面,每个用户都可以有自己的桌面。VNC客户端在连接时,可以指定连接到哪个桌面上。在系统中,display号不能重复,也就是说,如果有用户已经建立了名为“:1”的display,另外一个用户就不能再使用“:1”了,他可以使用“:2”。
启动VNC server的命令是:

Java代码
  1. vncserver   < display >  
例如,
Java代码
  1. vncserver : 1  

最后,需要配置一下防火墙,允许VNC客户端连接VNC server。VNC server监听的端口从5900开始,display :1的监听5901,display :2监听5902,以此类推。CentOs的防火墙缺省是不允许连接这些端口的,所以需要使用下面的步骤打开防火墙(需要root权限):

Ruby代码
  1. vi /etc/sysconfig/iptables  
找到下面的语句:

Ruby代码
  1. -A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited  

在此行之前,加上下面的内容:

Java代码
  1. -A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 5900:5903 -j ACCEPT  

这句话的含义是,允许其它机器访问本机的5900到5903端口,这样,display:1, display:2, display:3的用户就可以连接到本机。

然后使用root身份重新启动防火墙:

Java代码
  1. /sbin/service iptables restart   

好了,现在就可以运行客户端软件,连接到VNC server上了。
VNC客户端软件很多,在linux下有vncviewer,KDE还提供了一个krdc(它的菜单项就是”Remote Desktop Connection”,远程桌面连接)。
在window也有不少vnc客户端,你可以到http://www.realvnc.com/ 去下载一个,安装就可以用了。

假设VNC server的IP地址是192.168.1.1,display是:1。在VNC viewer的server栏中输入:“192.168.1.1:1 ”,然后连接。OK,你可以看到自己的桌面了。以后不管你什么时候关闭自己的本地PC机都不怕了,只要server不关机,你只要连接到VNC server,你就可以看到你前一天关闭本地PC机时的桌面还保持着原样。

不过…这个桌面怎么这么丑?!
原来vncserver默认使用的窗口管理器是twm,这是一个很简陋的窗口管理器,你可以把你的桌面改成GNOME或KDE。
方法是,进入你自己的home目录,然后编辑这个文件:.vnc/xstartup,下面是这个文件的内容:

Ruby代码
  1. # !/ bin / sh   
  2.   
  3. # Uncomment the following two lines   
  4. for   normal desktop:   
  5. #unset SESSION_MANAGER   
  6. #exec   / etc / X11 / xinit / xinitrc   
  7.   
  8. [   
  9. - x   / etc / vnc / xstartup ]   &&   exec   / etc / vnc / xstartup   
  10. [   - r $HOME / .Xresources ]   &&   xrdb $HOME / .Xresources   
  11. xsetroot   - solid grey   
  12. vncconfig   - iconic   &   
  13. xterm   - geometry 8 0×24 + 10 + 10    - ls   - title   “ $VNCDESKTOP Desktop “    &   
  14. #twm   &   
  15. gnome - session   &  


你可以把像上面这样把”twm &”这一行注释掉,然后在下面加入一行”gnome-session &”,或者是”startkde &”,分别启动GNOME桌面和KDE桌面。

如果server重启了,那你就需要重新运行一次vncserver命令来启动VNC server,这很麻烦。有没有更好的方法呢?

有!我们可以把VNC server启动成后台服务。执行如下步骤:

首先要允许VNC server在系统启动过程中被启动。这可以通过“系统设置–>服务器设置–>服务”菜单来配置,把vncserver一项选上就可以了。
如果使用命令行的话,以root身份运行以下两条命令:

Java代码
  1. cd    / etc / rc5 . d   
  2. mv K35vncserver S35vncserver  

然后编辑/etc/sysconfig/vncservers,以下是文件内容:

Java代码
  1. # The VNCSERVERS variable is a list of display:user pairs.   
  2. #   
  3. # Uncomment the line below to start a VNC server on display : 1  
  4. # as my ’myusername’ (adjust this to your own).   You will also   
  5. # need to set a VNC password ;   run ’man vncpasswd’ to see how   
  6. # to do that.   
  7. #   
  8. # DO NOT RUN THIS SERVICE if your local area network is   
  9. # untrusted!   For a secure way of using VNC ,   see   
  10. # <URL:http://www.uk.research.att.com/vnc/sshvnc.html>.   
  11.   
  12. VNCSERVERS   
  13. = “ 1:user1 2:user2 3:user3 “   
  14. VNCSERVERARGS [ 1 ] = “ -geometry 1024×768 “   
  15. VNCSERVERARGS [ 2 ] = “ -geometry 1024×768 “   
  16. VNCSERVERARGS [ 3 ] = “ -geometry 800×600 “   


解释一下这个文件:
VNCSERVERS这一行是配置在系统启动时启动几个VNC server,上面的例子里运行了三个VNC server,其中user1在display :1,user2在display :2,user3在display :3。
VNCSERVERARGS这三行,分别为VNC server 1, 2, 3配置启动参数,上面的例子里对user1和user2使用屏幕分辨率1024×768,对user3使用800×600。
其它支持的参数请使用“man vncserver”命令查询。

编辑好这个文件后,保存,然后以root身份运行:

Java代码
  1. /sbin/service vncserver   start  


这样user1, user2, user3的vncserver就启动了。
以后每次系统重启时,都会自动启动这三个用户的vncserver。

注意:上面三个用户必须已经使用vncpasswd命令设置过vnc密码,不然他的vncserver启动会失败!

使用VNC View远程访问Linux,总是没有办法切换出SCIM输入法,研究了很久,终于让我找到了解决 方法

1)修改.vnc/xstartup文件,在最后一行加入:scim -d,意思为打开SCIM输入法

2)使用VNC View访问Linux系统以后,修改scim输入法的快捷键,因为默认打开输入法的快捷键为ctrl+space,与本地机器上切换输入法的快捷键冲突,系统 会先接收到本地的命令,所以没办法使用默认快捷键打开输入法。将打开SCIM输入法的快捷键修改为Ctrl+Alt+Space。


CentOS 6.4安装和配置VNC服务

一、安装 VNC   默认情况下,CentOS 6.4 是没有安装的。   检查是否安装,输入: [root@localhost ~]# rpm -q tigervnc tigervnc-server...
  • shile
  • shile
  • 2016年08月18日 16:24
  • 3378

CentOS 7.0 上安装和配置 VNC 服务器

那么,让我们开始安装 VNC 服务器之旅吧。我们需要按照下面的步骤一步一步来搭建一个可用的 VNC。 首先,我们需要一个可用的桌面环境(X-Window),如果没有的话要先安装一个。 注意...
  • qjc_501165091
  • qjc_501165091
  • 2016年04月23日 13:25
  • 1142

win10通过vnc远程控制ubuntu桌面

版本:ubuntu16.04 LTS, Windows 10   今天突发奇想想用win10控制一下自己的另一台机子ubuntu,网上的方法试了不少,遇到一些问题,发现其实没有那么复杂,ubun...
  • Cirs_q
  • Cirs_q
  • 2017年03月22日 12:21
  • 1708

用VNC远程控制android模拟器

用VNC远程控制android模拟器 关键字: android vnc 1 到http://code.google.com/p/...
  • qinlicang
  • qinlicang
  • 2010年12月22日 13:49
  • 1625

CentOS7下安装配置vncserver/vncviewer

http://hsuehwee.blog.51cto.com/10114119/1632211 一.安装 以root用户运行以下命令来安装vncserver; yum ins...
  • hshl1214
  • hshl1214
  • 2017年04月17日 13:15
  • 1256

centos 7下配置VNC服务

VNC简介VNC (Virtual Network Console)是虚拟网络控制台的缩写。它是一款优秀的远程控制工具软件。VNC可以运行在基于 UNIX 和 Linux 操作系统,并且是免费的开源软...
  • jack_nichao
  • jack_nichao
  • 2017年10月19日 21:01
  • 308

CentOS下安装KDE/GNOME+VNC实现远程图形界面管理

通常,我们用ssh命令行来管理linux服务器。但有时候,我们需要像Windows下的远程桌面这样的图形远程程序来管理服务器(比如安装ORACLE),然而Linux下默认并不存在这样的程序。所以,我们...
  • yongsheng0550
  • yongsheng0550
  • 2011年07月08日 14:22
  • 3925

mac 通过vnc连接centos 7

mac安装TigerVncbrew install Caskroom/cask/vnc-viewercentos 7安装vnc server wget http://centos.ustc.edu.c...
  • devoteeA
  • devoteeA
  • 2016年05月21日 19:48
  • 717

PC 远程控制 android手机的方法之一VNC

1、VNC访问 a 、在android手机中安装vnc 的服务端:androidvncserver http://code.google.com/p/android-vnc-server/ 本文...
  • shuzui1985
  • shuzui1985
  • 2012年08月07日 22:41
  • 6542

CentOS6.8上VNC的安装、配置和使用

VNC是一个的“远程桌面”工具。 通常用于“图形界面”的方式登录服务器,可视化操作。 下面介绍CentOS6.8上VNC的安装、配置和使用: ①检查是否安装了VNC。 命令: rpm -q tiger...
  • qq1623803207
  • qq1623803207
  • 2017年09月01日 21:13
  • 433
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WIN下安装VNC实现对CENTOS的远程控制
举报原因:
原因补充:

(最多只允许输入30个字)