`
1enny
  • 浏览: 70614 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

VNC介绍和如何远程连接到远程的Linux界面?

 
阅读更多

今天突然需要使用VNC,但是从来没有使用过这个玩意儿!后来通过查找关于这方面的信息,下面就是我粗略对VNC的理解和使用。

下面对VNC的来源的基本组成就不一一介绍了,我相信没有比百度百科有更好的介绍了。

http://baike.baidu.com/link?url=Z6-B80x_mQUjxotyvIFstCc-cce2IJXKSclfwbAPz0JUMuhIBqmfRg4u2ycN7jQ4rbLTcwMwfGF2bJML5cRnfK
但是要注意一点:
    <span style="white-space:pre">	</span>同样可能远程连入UNIX、Linux进行图形化操作的还有流行的Xmanager,VNC与之相比——两者工作原理不一样,
<span style="white-space:pre">	</span>前者(VNC)是远程连入操作系统,所有操作在UNIX、Linux主机服务端进行,
<span style="white-space:pre">	</span><span style="color:#ff0000;">即使操作过程中“本地电脑与操作主机网络断开”,也不影响操作的顺利进行;</span>
<span style="white-space:pre">	</span>而后者(Xmanager)是通过端口将主机服务器的UI界面引导到本地电脑进行展现,
<span style="white-space:pre">	</span><span style="color:#ff0000;">如操作过程出现“本地电脑与操作主机网络断开”,操作将中断失败!如果操作中进行的工作任务非常重要,
<span style="white-space:pre">	</span>不能中断,如ORACLE RAC实施,结果是灾难性的!</span>
<span style="white-space:pre">	</span>更重要的是,VNC是免费的、开源的,Xmanager你可能用的是破解注册版的。

Linux的版本可以通过:

[root@localhost sysconfig]# cat /etc/issue
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Kernel \r on an \m

查看是否安装了vnc:
[root@localhost sysconfig]# rpm -qa| grep vnc-server
vnc-server-4.1.2-14.el5_3.1

在window中下载vnc viewer :http://download.csdn.net/detail/u011218159/8340161

在服务端配置有两种方式:

1. 通过界面操作来配置:System——preference——远程桌面——勾选所有选项除了(ask you for confiromation选项)

2. 通过命令来配置:

[root@localhost ~]# vncserver :1

You will require a password to access your desktops.

Password:
Verify:

New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log

配置好了以后,通过可客户端的vnc viewer来连接我这里是出现了一些问题:

1. 连接被拒绝:是因为防火墙的原因哦

一种解决方法:关闭防火墙

[root@localhost ~]# /etc/init.d/iptables stop
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
[root@localhost ~]# ls
anaconda-ks.cfg  Desktop  install.log  install.log.syslog
配置到防火墙配置文件中:

基于上面的介绍,如果Linux开启了防火墙功能,就需要手工开启相应的端口,以开启桌面号为“1”相应的端口为例,命令如下
[root@testdb ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
[root@testdb ~]# iptables -I INPUT -p tcp --dport 5801 -j ACCEPT

2. 连接界面在上面的两种中是不一样的,解决方式:

配置VNC图形桌面环境为KDE或GNOME桌面环境
如果您是按照我的上面方法进行的配置的,登陆到桌面后效果是非常简单的,只有一个Shell可供使用,这是为什么呢?怎么才能看到可爱并且美丽的KDE或GNOME桌面环境呢?回答如下
之所以那么的难看,是因为VNC服务默认使用的是twm图形桌面环境的,可以在VNC的配置文件xstartup中对其进行修改,先看一下这个配置文件
[root@testdb ~]# <span style="color:#ff0000;">vi /root/.vnc/xstartup</span>
#!/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 &

将这个xstartup文件的最后一行修改为“startkde &”,再重新启动vncserver服务后就可以登陆到KDE桌面环境
将这个xstartup文件的最后一行修改为“gnome-session &”,再重新启动vncserver服务后就可以登陆到GNOME桌面环境

重新启动vncserver服务的方法:
[root@testdb ~]# vncserver -kill :1
[root@testdb ~]# vncserver :1

这样以后就应该没有问题了,终于写完了!!


下面是我参考的,假如我上面写的还不够完整请看下面 的内容:

1.确认VNC是否安装
默认情况下,Red Hat Enterprise Linux安装程序会将VNC服务安装在系统上。
确认是否已经安装VNC服务及查看安装的VNC版本
[root@testdb ~]# rpm -q vnc-server
vnc-server-4.1.2-9.el5
[root@testdb ~]#

若系统没有安装,可以到操作系统安装盘的Server目录下找到VNC服务的RPM安装包vnc-server-4.1.2-9.el5.x86_64.rpm,安装命令如下
rpm -ivh /mnt/Server/vnc-server-4.1.2-9.el5.x86_64.rpm

2.启动VNC服务
使用vncserver命令启动VNC服务,命令格式为“vncserver :桌面号”,其中“桌面号”用“数字”的方式表示,每个用户连个需要占用1个桌面
启动编号为1的桌面示例如下
[root@testdb ~]# vncserver :1

You will require a password to access your desktops.

Password:
Verify:
xauth:  creating new authority file /root/.Xauthority

New 'testdb:1 (root)' desktop is testdb:1

Creating default startup script. /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/testdb:1.log

以上命令执行的过程中,因为是第一次执行,需要输入密码,这个密码被加密保存在用户主目录下的.vnc子目录(/root/.vnc/passwd)中;同时在用户主目录下的.vnc子目录中为用户自动建立xstartup配置文件(/root/.vnc/xstartup),在每次启动VND服务时,都会读取该文件中的配置信息。
BTW:/root/.vnc/目录下还有一个“testdb:1.pid”文件,这个文件记录着启动VNC后对应后天操作系统的进程号,用于停止VNC服务时准确定位进程号。

3.VNC服务使用的端口号与桌面号的关系
VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下
桌面号为“1”  ---- 端口号为5901
桌面号为“2”  ---- 端口号为5902
桌面号为“3”  ---- 端口号为5903
……
基于Java的VNC客户程序Web服务TCP端口从5800开始,也是与桌面号相关,对应关系如下
桌面号为“1”  ---- 端口号为5801
桌面号为“2”  ---- 端口号为5802
桌面号为“3”  ---- 端口号为5803
……
基于上面的介绍,如果Linux开启了防火墙功能,就需要手工开启相应的端口,以开启桌面号为“1”相应的端口为例,命令如下
[root@testdb ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
[root@testdb ~]# iptables -I INPUT -p tcp --dport 5801 -j ACCEPT

4.测试VNC服务
第一种方法是使用VNC Viewer软件登陆测试,操作流程如下
启动VNC Viewer软件 --> Server输入“144.194.192.183:1” --> 点击“OK” --> Password输入登陆密码 --> 点击“OK”登陆到X-Window图形桌面环境 --> 测试成功
第二种方法是使用Web浏览器(如Firefox,IE,Safari)登陆测试,操作流程如下
地址栏输入http://144.194.192.183:5801/ --> 出现VNC viewer for Java(此工具是使用Java编写的VNC客户端程序)界面,同时跳出VNC viewer对话框,在Server处输入“144.194.192.183:1”点击“OK” --> Password输入登陆密码 --> 点击“OK”登陆到X-Window图形桌面环境 --> 测试成功
(注:VNC viewer for Java需要JRE支持,如果页面无法显示,表示没有安装JRE,可以到http://java.sun.com/javase/downloads/index_jdk5.jsp这里下载最新的JRE进行安装)

5.配置VNC图形桌面环境为KDE或GNOME桌面环境
如果您是按照我的上面方法进行的配置的,登陆到桌面后效果是非常简单的,只有一个Shell可供使用,这是为什么呢?怎么才能看到可爱并且美丽的KDE或GNOME桌面环境呢?回答如下
之所以那么的难看,是因为VNC服务默认使用的是twm图形桌面环境的,可以在VNC的配置文件xstartup中对其进行修改,先看一下这个配置文件
[root@testdb ~]# vi /root/.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 &

将这个xstartup文件的最后一行修改为“startkde &”,再重新启动vncserver服务后就可以登陆到KDE桌面环境
将这个xstartup文件的最后一行修改为“gnome-session &”,再重新启动vncserver服务后就可以登陆到GNOME桌面环境

重新启动vncserver服务的方法:
[root@testdb ~]# vncserver -kill :1
[root@testdb ~]# vncserver :1

6.配置多个桌面
可以使用如下的方法启动多个桌面的VNC
vncserver :1
vncserver :2
vncserver :3
……
但是这种手工启动的方法在服务器重新启动之后将失效,因此,下面介绍如何让系统自动管理多个桌面的VNC,方法是将需要自动管理的信息添加到/etc/sysconfig/vncservers配置文件中,先以桌面1为root用户桌面2为oracle用户为例进行配置如下:
格式为:VNCSERVERS="桌面号:使用的用户名 桌面号:使用的用户名"
[root@testdb ~]# vi /etc/sysconfig/vncservers
VNCSERVERS="1:root 2:oracle"
VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 1024x768"

7.修改VNC访问的密码
使用命令vncpasswd对不同用户的VNC的密码进行修改,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改,例如在我的这个实验中,root用户和oracle用户需要分别修改,修改过程如下:
[root@testdb ~]# vncpasswd
Password:
Verify:
[root@testdb ~]#

8.启动和停止VNC服务
1)启动VNC服务命令
[root@testdb ~]# /etc/init.d/vncserver start
Starting VNC server: 1:root
New 'testdb:1 (root)' desktop is testdb:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/testdb:1.log

2:oracle
New 'testdb:2 (oracle)' desktop is testdb:2

Starting applications specified in /home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/testdb:2.log

                                                           [  OK  ]
2)停止VNC服务命令
[root@testdb ~]# /etc/init.d/vncserver stop
Shutting down VNC server: 1:root 2:oracle                  [  OK  ]

3)重新启动VNC服务命令
[root@testdb ~]# /etc/init.d/vncserver restart
Shutting down VNC server: 1:root 2:oracle                  [  OK  ]
Starting VNC server: 1:root
New 'testdb:1 (root)' desktop is testdb:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/testdb:1.log

2:oracle
New 'testdb:2 (oracle)' desktop is testdb:2

Starting applications specified in /home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/testdb:2.log

                                                           [  OK  ]

4)设置VNC服务随系统启动自动加载
第一种方法:使用“ntsysv”命令启动图形化服务配置程序,在vncserver服务前加上星号,点击确定,配置完成。
第二种方法:使用“chkconfig”在命令行模式下进行操作,命令使用如下(预知chkconfig详细使用方法请自助式man一下)
[root@testdb ~]# chkconfig vncserver on
[root@testdb ~]# chkconfig --list vncserver
vncserver       0:off   1:off   2:on    3:on    4:on    5:on    6:off











分享到:
评论

相关推荐

    如何通过vnc图形界面远程控制Linux主机

    【摘要】本文详细介绍了vnc服务器的搭建,尤其是为不同用户开启不同的窗口,这样多人协作开发时不会出现相互干扰,大家可以在同一时刻操作同一Linux主机,并且相关操作具备不同的用户属性,便于区分不同的开发者。...

    利用LINUX图形界面工具VNC进行远程管理.pdf

    利用LINUX图形界面工具VNC进行远程管理.pdf

    很好的连接Linux远程桌面工具VNC_viewer

    vnc viewer 4.17绿色版一款优秀的远程控制工具软件,远程控制能力强大,高效实用,其性能可以和Windows和MAC中的任何远程控制软件媲美。它是属于一种显示系统,也就是说他能将完整的窗口界面通过网络,传输到另一台...

    用VNC客户端图形界面管理远程Linux系统

    本文介绍了用VNC客户端图形界面管理远程Linux系统的方法。

    VNC客户端远程桌面工具

    VNC远程工具,可以远程Linux 图形界面 ,非常实用的一款远程工具。

    Windows和Linux实现远程桌面连接

    对于远程桌面连接Linux,大家可能会第一时间想到使用VNC,,远程桌面Windows,大家第一时间会想到使用Windows自带的远程桌面。那么有没有办法,使得在Linux中可以远程Windows,在Windows中远程桌面Linux?今天就跟...

    vnc viewer 绿色版 远程控制软件

    在任何安装了客户端的应用程序(vncviewer)的Linux平台的计算机都能十分方便的和安装了服务器端的应用程序(vncserver)的计算机相互连接。另外,服务器端 (vncserver)还内建了Java Web接口,这样用户通过服务器端对...

    linux 远程工具VNC6.3.1

    linux 图形化界面辅助工具VNC,相比IOL IP 的话更加流畅操作

    TightVNC 2.8.5.0

    TightVNC 是一套免费的 VNC 软件,能让你轻松控制远程的计算机,就像坐在自己家的计算机前面一般,让你出门在外无后顾之忧! 使用方法: 1、需要在被控方电脑上打开TvnServer,记住端口的相应信息; 2、如果需要...

    利用vnc远程图形界面控制Linux

    利用vnc远程图形界面控制Linux

    vncviewer远程登录工具

    vncviewer是linux图形界面远程登录的小工具,非常好用,只需要IP加端口即可登录。

    Linux开启VNC桌面及加密连接

    系统工程师在WINDOWS系统下面办公,又要管理Linux服务器,开SSH对于新手级的管理员来说比较“痛楚”,所以需要使用图形界面的远程管理,又考虑到安全型,需要加密连接,这两个问题都可以在VNC下面解决。

    在Linux中快速部署桌面远程连接和安装多种虚拟机制作操作系统镜像,附使用教程.zip

    1、Linux快速安装部署桌面系统,通过任何命令行远程连接到原生Linux系统,这时候是命令行界面,把该目录脚本可以通过 scp 或者 复制》粘贴 或者 ftp 等方式上传到服务器。 2、执行 sudo sh desktop.sh ,等待安装...

    VNC 远程桌面连接工具 硬盘版

    吐血推荐 ,很实用的桌面连接工具。可视化linux solaris 系统界面管理

    VNCviewer远程工具

    VNCviewer远程工具是一个很好实用的工具,应用与Linux系统,可以自由的通过它登录LINUX系统,并以图形化界面显示。

    安卓VNC远程服务端

    安卓远程工具,已测试通过,可通过PC或其他手机远程安卓终端,界面显示流畅,不过不支持鼠标滑屏操作。这个是编译好的Linux程序,需要按照下面方法运行 操作方法:1、通过ADB连接安卓设备;2、使用RootExplorer把...

    vnc远程工具

    linux远程连接vnc图形化界面的工具

    VNC_WindowsClient_LinuxServer_deb_rpm.zip

    Windows平台的VNC客户端,以及Linux平台的VNC Server端(包括rpm包和deb包),安装后可在Windows远程访问Linux图形界面。安装过程可参考:https://blog.csdn.net/u013992330/article/details/116049635

    VNC Client for Windows

    VNC Client for Windows,可以用来连接远程VNCServer。可以在windows打开远程linux 图形界面。

    vnc viewer 绿色版

    在任何安装了客户端的应用程序(vncviewer)的Linux平台的计算机都能十分方便的和安装了服务器端的应用程序(vncserver)的计算机相互连接。另外,服务器端 (vncserver)还内建了Java Web接口,这样用户通过服务器端对...

Global site tag (gtag.js) - Google Analytics