vnc连接不上解决问题方法.txt男人应该感谢20多岁陪在自己身边的女人。因为20岁是男人人生的最低谷,没钱,没事业;而20岁,却是女人一生中最灿烂的季节。只要锄头舞得好,哪有墙角挖不到?环境:RedHat Linux 5企业版。
Xwindows:gnome (红帽默认安装的图形界面)
尽管我们可以使用SSH连接远程通过字符界面来操作Linux,但是对于更多熟悉图形人来说是很不方便的,因此开启Linux的远程桌面还是很有必要的。目前有两种比较流行的方式:XDM(X display manager)方案和VNC方案,而我个人比较倾向于VNC方案,一是因为VNC方案配置起来相对比较容易,二是VNC方案支持多种连接方式,比如通过浏览器访问Linux桌面,免去需要安装客户端的麻烦。
接下来进入具体配置说明:
一, 确认及安装VNCSERVER。
1,首先确认你服务器是否配置了VNCSERVER,可以在命令行下敲入以下命令查看:
[root@localhost: ~]#rpm -qa |grep vnc
vnc-server-4.1.2-14.el5 #返回VNCSEVER服务器端版本说明你已经安装了VNCSERVER。
2,如果没有安装VNCSEVER,那么从光盘找到安装包进行安装。
首先将光盘挂载(也叫解压)到某个目录这里是在/var/ftp/pub/下面建立了rhel5-64目录
mount -o loop rhel-server-5.3-x86_64-dvd.iso /var/ftp/pub/rhel5-64/
然后在/var/ftp/pub/rhel5-64/Server目录下找到 vnc-server-4.1.2-14.el5.x86_64.rpm安装包,使用RPM命令直接安装;
rpm -ivh vnc-server-4.1.2-14.el5.x86_64.rpm
二,开始配置VNCSERVER
1,启动VNCSERVER,第一次启动VNCSERVER会提示输入密码,这里分为管理员账户及普通账户,启动方式略有所不同。
管理员:
[root@localhost /]# vncserver
You will require a password to access your desktops.
Password: 123456 #输入vnc 连接密码
Verify: 123456 #确认vnc密码
xauth: creating new authority file /root/.Xauthority
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
普通用户:
[root@localhost /]#su ceboy #ceboy 是用户名
[ceboy@localhost /]$ vncserver
You will require a password to access your desktops.
Password: 123456 #输入vnc 连接密码
Verify: 123456 #确认vnc密码
xauth: creating new authority file /home/ceboy/.Xauthority
New ‘localhost.localdomain:2 (ceboy)’ desktop is localhost.localdomain:2
Creating default startup script /home/ceboy/.vnc/xstartup
Starting applications specified in /home/ceboy/.vnc/xstartup
Log file is /home/ceboy/.vnc/localhost.localdomain:2.log
#这里要注意:每个用户都可以启动自己的VNCSERVER远程桌面,同时每个用户可以启动多个VNCSERVER远程桌面,它们用ip加端口号:ip:1、ip:2、ip:3 来标识、区分,使用同一端口会使另外登录的用户自动退出。另,VNCSERVER的大部分配置文件及日志文件都在用户home目录下.vnc目录下。
用户可以自定义启动号码如:
[ceboy@localhost /]$ vncserver :2 #注意:2前面一定要有空格。
A VNC server is already running as :2
三,相关桌面配置,RedHat Linux支持两种图形模式:KDE模式和gnome模式。
1,你的RH使用的什么图形模式这个一般只有登录到图形界面查看一下才能知道,或者通过ps -A命令列出所有当前运行的程序,看看有没有KDE或者gnome字样来判断一下。
如果你是gnome桌面,那么你需要修改/root/.vnc/xstartup的配置文件。
[root@localhost .vnc]# vi 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 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
gnome-session gnome #添加这一句是连接时使用gnome 桌面环境
twm &
设置修改完毕最好是重启一次系统,否则设置不会生效。我采用的方法是杀死VNCSERVER进程再重运行VNCSERVER。
[root@localhost .vnc]#vncserver -kill :1 #这里你启动vncserver时是什么端口号要对应上。
[root@localhost .vnc]#vncserver :1 #重启VNCSERVER,注意:1前面一定要有空格。
2,设置用户信息及分辨率。
[root@localhost: ~]#vi /etc/sysconfig/vncservers
# The VNCSERVERS variable is a list of display:user pairs.
#
# Uncomment the lines below to start a VNC server on display :2
# 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./archive/vnc/sshvnc.html >.
# Use “-nolisten tcp” to prevent X connections to your VNC server via TCP.
# Use “-nohttpd” to prevent web-based VNC clients connecting.
# Use “-localhost” to prevent remote VNC clients connecting except when
# doing so through a secure tunnel. See the “-via” option in the
# `man vncviewer’ manual page.
VNCSERVERS=”1:root 2:ceboy” #此处添加用户,一般只添加一个1:root也就行了。
VNCSERVERARGS[1]=”-geometry 800×600 -nolisten tcp -nohttpd -localhost” VNCSERVERARGS[2]=”-geometry 1024×768 -nolisten tcp -nohttpd -localhost”
#注意:上面是分别设置的root和ceboy两个用户的分辨率,注意是用端口号区分的。
另外也可以通过命令行临时修改分辨率及色深,这种方式重启后就会丢失,这里暂时用不到,命令如下:
[root@localhost: ~]#vncserver -geometry 800×600 #设置vncserver的分辨率
[root@localhost: ~]#vncserver -depth 16 #设置vncserver的色深
到这里VNCSERVER服务器端就配置完成了。
四,客户端连接及使用。
1,访问方式
a、在linux下,运行vncviewer命令即可,服务器地址的写法形如192.168.1.11:1 b、在windows下,运行windows版本的vncviewer即可,用法与linux下相近。
c、用浏览器(平台无关),作为java applet来实现,以形如http://192.168.1.11:5801 的方式来启动 (vnc 端口从5800 开始依次类推,一般会是5800,5900)
以下为一些常识:
2,修改密码
运行vncpasswd即可
3,停止vncserver
#vncserver -kill :1
#vncserver -kill :2
注意到vncserver只能由启动它的用户来关闭,即时是root也不能关闭其它用户开启的vncserver,只能用kill命令暴力杀死进程。
4,稳定性设置
vncserver默认在多个客户机连接同一个vncserver的显示端口时,vncserver端口旧连接,而为新连接服务,可通过-dontdisconnect拒绝新连接请求而保持旧的连接。
5,同一个显示器可以连接多个客户机
#vncserver -alwaysshared
6,重启服务
service vncserver restart
7,让系统启动时自动启动VNCSERVER。
使用VNC连接登录到RedHat Linux图形界面,点击“系统”——“管理”——“服务器设置”——“服务”,在“后台服务”中找到VNCSERVER后勾选它,点击保存即可。
解决连接不上问题的方法:
1、防火墙开启 不能连接
关闭防火墙 service iptables stop 查看防火墙状态 service iptables status 查看进程 ps axf | grep vnc/iptables
第二篇:vnc服务器
【摘要】本文详细介绍了vnc服务器的搭建,尤其是为不同用户开启不同的窗口,这样多人协作开发时不会出现相互干扰,大家可以在同一时刻操作同一Linux主机,并且相关操作具备不同的用户属性,便于区分不同的开发者。
【关键词】vnc server,图形界面,远处操作
在多人协作的项目中,经常需要大家共享信息,而通常这些都是放在Linux服务器上的,开发者通过nfs在本地Linux主机上可以远处操作服务器上的相关资源,但相比图形界面来说还是不友好。因此本文分析了如何可视化远程操作Linux服务器,本机甚至可以是Windows PC,这种方式最大的好处就是可以做Windows下做其他的所有工作,比如代码编辑文档阅读等,实际的编译等才需要用到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简介
网络遥控技术是指由一部计算机(主控端)去控制另一部计算机(被控端),而且当主控端在控制端时,就如同用户亲自坐在被控端前操作一样,可以执行被控端的应用程序,及使用被控端的系统资源。
VNC(Virtual Network Computing)是一套由AT&T实验室所开发的可操控远程的计算机的软件,其采用了授权条款,任何人都可免费取得该软件。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的桌面环境及输入装置。
2 服务器vncserver的安装及配置
2.1 VNC Server的安装
VNC Server下载地址 或者到rmpfind.net上下载与系统对应的安装包
其实也是非常简单的,一个命令就可以了。
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时,会提示设置密码,再次确定密码。
[drq@dding drq]$ 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 specified 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 改成 startkde 修改后要重新启动 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/.Xresourcesn". 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
表示启动默认的图形管理器
即将第2,3行的#去掉也可以,我就是这么做的。然后重新开一下服务。试一下就OK了,
2.5 为不同的用户开启不同的窗口
即可以管理远程登陆的用户,对权限等进行管理。
建立root用户的vncserver,其对应的窗口号为 1。
[root@dding 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 '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
# <>.
VNCSERVERS="1:root 2:drq" 表示用1登陆即为root用户,2登陆为drq用户
///////////////////////////////////
可以通过以下命令启动或停止vnc服务:
# service vncserver start/stop/restart
如果启动了多个vnc显示,可以通过以下命令关闭指定显示号的vnc服务: # vncserver -kill :1
(":1"为指定的显示号)
[root@dding drq]# /etc/init.d/vncserver stop
关闭 VNC 服务器:1:root 2:drq [ 确定 ]
[root@dding drq]# /etc/init.d/vncserver start
启动 VNC 服务器:1:root 2:drq [ 确定 ]
3 客户等的设置及连接
3.1 windows系统
VNC viewer下载地址
在Microsoft Windows上运行VNC Viewer
直接运行“vncviewer.exe”,系统会出现”Connection details”对话框。
在“Connection details”对话框中的“VNC server”文本框中输入VNC Server的IP地址(或主机名及显示装置编号,单击“OK”按钮后,VNC Server即会开始检查所输入的信息,若是信息错误,系统会出现“Failed to connect to server”的错误信息:若是信息正确,则会接着出现“VNC Authentication”对话框。
若是在“VNC Authentication”对话框中输入的密码正确,就可以成功地打开Linux的桌面窗口。
注意:若vncserver未启动或者秘密错误都将不能正常登陆。
下图即为从windows登陆不同显示装置号对应进入的帐户。
从浏览器远程遥控。
启动VNC Server 后直接打开windwos的浏览器,在地址栏中输入被控端的网址或IP地址,并在网址后加上“:5800+显示编号”的端口号即可操控该计算机。
例如:http://10.0.0.247:5801/ (如果显示编号为1,一般第一次设置的显示编号都是1,就用5800+1=5801。)
另外,采用浏览器访问方式,需安装Java Runtime Environment环境。
3.2 Linux系统远程控制其他Linux主机
linux下使用vncviewer连接:输入以下命令:
# vncviewer 10.0.0.139:48
(注:“10.0.0..139”为远程服务器的IP地址,“:48”即为显示号)。 按要求输入密码,即可以看到远程的桌面。
如果网络速度较差,又希望通过图形界面管理,可以降低显示的颜色深度。执行以下指令:
# vncviewer 219.166.236.11:1 -brg233