VNC连接黑屏的问题

今天尝试在CentOS上安装一个VNC Server。CentOS5 已经自带了VNC,默认也已经安装了,只要配置一下就可以了(如果没有安装,可以:yum install vnc vncserver安装)。Windows客户端只需安装一个vncviewer即可,例如realvnc。

安装配置好以后,却无法使用,主要遇到两个问题:

1、无法连接至VNC Server。
2、连接上以后出现黑屏。



解决方案总结如下:

VNCServer 配置

1.修改配置文件/root/.vnc/xstartup

注:有的系统配置里有 –nolisten tcp 和 –nohttpd ,这两个是阻止Xwindows登陆和HTTP方式VNC登陆的,如果需要图形界面,那就删除这部分


如果使用的是gnome图像界面,则需要注释掉以下两行,
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
并添加以下这行:
gnome-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 -title "$VNCDESKTOP Desktop" &
#twm &
gnome-session &

2. 修改用户配置文件:/etc/sysconfig/vncservers


打开配置文件:vi /etc/sysconfig/vncservers,去掉下面这两行前的“#”,也就是说把这两行的注释给去掉。
VNCSERVERS=”1:root”
VNCSERVERARGS[1]="-geometry 800×600"

1表示VNC以桌面1运行,这样可以启动root的桌面。你可以添加其他的用户,例如VNCSERVERS=”

1:root,2:user1,3:user2”,当然这些用户是实现系统存在的。

例如:我的/etc/sysconfig/vncservers配置文件如下:

VNCSERVERS=”1:root”
VNCSERVERARGS[1]="-geometry 800×600"

另外:如果有图像界面的话,在系统设置>服务器设置>服务 中把 vncserver 打勾,可以随系统启动。

3、改变xstartup的权限

这个问题是很多人容易忽视的问题,也是造成连接成功后黑屏的原因之一。

在CentOS中,xstartup的文件路径为:/root/.vnc/ (可以通过locate xstartup来查看xstartup的文件路径)

所以需要执行:chmod 777 root/.vnc/xstartup

4. 关闭防火墙对VNC端口的限制
如果需要从外网控制内网的某台Linux,则需要打开防火墙相应的端口,并在路由器上进行端口映射。
VNC给浏览器的端口是5800+N,给vncviewer的端口是5900+N,N是设置的display号。

如果不想打开防火墙,但是仍需要VNC这项服务,则需要:

编辑vi /etc/sysconfig/iptables 
在里边加入如下两行: 
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT 
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT

这里需要的是,display N 对应的端口就是 5900+N,所以不建议设的太多。

5. 启动 VNC Server:
打开终端执行:vncserver
第一次运行 vncserver,将会要求输入两次密码,会看到如下提示信息:
New ‘localhost.localdomain:1 (root)’ desktop is localhost.localdomain:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost.localdomain:1.log
上边信息中的“:1”表示启动的第一个vnc桌面。

6. 停止vncserver:(选读)
停止 vncserver 的方法是执行:vncserver -kill :1
注意:“:1”,表示停止第一个vnc桌面,1代表当前启用的VNCserver序号,“:1”之前是有一个空格的。如果目前启动的序号是2,若要关闭其,则应该使用“vncserver -kill :2”.

7. 修改vnc密码:(选读)
修改vnc密码的方法是执行:vncpasswd

输入两次密码即可。

8:检查服务器端VNC Server是否正常运行中

执行:ps -ef|grep vnc

如果vnc在执行,可以看到类似的消息:

[root@IMS ~]# ps -ef|grep vnc
root      3605     1 0 Jul13 ?        00:13:51 Xvnc :1 -desktop MyIMS.local:1 (root) -httpd /usr/share/vnc/classes -auth /root/.Xauthority -geometry 800x600 -depth 16 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5901 -pn

说明是序号为":1"vnc进程在端口为5901上进行监听。

9.VNC 客户端

服务器端运行正常后,我们方可以考虑使用VNC客户端与其相连。
Windows 客户端 VNC Viewer 的配置:
1. 从 http://www.realvnc.com/download.html 下载 VNC Free Edition for Windows Version 4.1.2
2. 打开 VNCViewer :
填入VNCServer 的IP:编号(1或2或…)
3. VNCViewer 切换全屏模式:F8

10 一些配置文件
/etc/X11/xorg.conf 设置屏幕分辨率

到这里,您的VNC应该已经能够连上,但有可能出现黑屏的问题:

1、查看/root/.vnc/下的log日志,有没有报错;有可能是xstartup权限不够。“chmod xstartup 777”更改下

权限,重启后再进。

2、重新启动下电脑,试一试。我就是各种配置之后,始终黑屏,重启电脑后OK。

Xvfb(X Virtual Framebuffer)是一个虚拟的X服务器,它可以在没有物理显示设备的情况下运行图形界面应用程序。VNC(Virtual Network Computing)是一种远程桌面协议,可以通过网络连接到远程计算机的图形界面。 要使用Xvfb连接VNC并解决黑屏问题,可以按照以下步骤进行操作: 1. 安装Xvfb和VNC Server:首先,确保你的系统上已经安装了Xvfb和VNC Server。你可以使用适合你的操作系统的包管理器来安装它们。 2. 启动Xvfb:使用以下命令启动Xvfb,并指定一个显示号码(例如:1): ``` Xvfb :1 -screen 0 1024x768x16 ``` 3. 启动VNC Server:使用以下命令启动VNC Server,并将其连接到Xvfb的显示号码: ``` vncserver :1 -geometry 1024x768 -depth 16 ``` 4. 连接VNC客户端:使用VNC客户端工具连接VNC Server。在连接时,指定服务器地址和端口号(例如:localhost:5901),然后输入密码(如果设置了密码)。 如果你在连接VNC后遇到黑屏问题,可能是由于以下原因导致的: - Xvfb没有正确启动:请确保Xvfb已经成功启动,并且与VNC Server连接的显示号码是一致的。 - 分辨率和颜色深度设置不正确:请确保在启动Xvfb和VNC Server时,分辨率和颜色深度设置是一致的,并且与你的VNC客户端设置相匹配。 - 权限问题:请确保你有足够的权限来运行Xvfb和VNC Server,并且防火墙没有阻止VNC连接。 希望以上信息对你有帮助!如果你还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值