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。
VNC连接黑屏的问题的更多相关文章
- [问题解决] VNC连接黑屏或者灰屏+命令行
1.修改配置文件/root/.vnc/xstartup 注:有的系统配置里有 –nolisten tcp 和 –nohttpd ,这两个是阻止Xwindows登陆和HTTP方式VNC登陆的,如果需要图 ...
- CentOS7安装vncserver(启动失败及连接黑屏解决办法)
CentOS7安装vncserver(启动失败及连接黑屏解决办法) 转载weixin_34167043 最后发布于2017-11-09 15:11:00 阅读数 42 收藏 展开 AutoSAR入门 ...
- ubuntu VNC server 黑屏 yum源更新(ubuntu16.04)
更新yum源,备份/etc/apt/sources.list root@mgw-virtual-machine:~# nano /etc/apt/sources.list #添加源 # deb c ...
- vnc远程linux服务器黑屏
本来想尝试用vnc连接到linux服务器上,图形化操作一点东西,不过遇到了困难,记录方便查询. 1,打开vnc 选择Ip和端口,连接上去显示黑屏. 2,于是想到系统原先没有安装图像化桌面.so, y ...
- TeamViewer连接Windows8.1系统黑屏解决方案
TeamViewer用win7连接win8.1 都是64位系统,总是黑屏,可以看到鼠标也联动了,聊天传输文件都没有问题,反向用win8.1连接win7也没问题,而且TeamViewer更新到最新版本了 ...
- VNC黑屏解决办法
在Linux里安装配置完VNC服务端,发现多用户登陆会出现黑屏的情况,具体的现象为:客户端可以通过IP与会话号登陆进入系统,但登陆进去是漆黑一片,除了一个叉形的鼠标以外,伸手不见五指. 原因:用户的V ...
- 关于VNC黑屏的问题
注意: 1.vncserver启动后生成的ID号(1,2,3)要和VNCview里面填入的 ip:ID要保持一致 不然看到的就是黑屏 比如:vncserver启动后 产生: localhost.lo ...
- Win8.1开机黑屏一段时间才能登录
最近发现开机后有一段时间黑屏过后才能进人登录界面,并且时间越来越长,网上查询了很多方法都没有效果,只能自己找了. 网上有一种方法提到用msconfig诊断判断或者安全启动来查看是否有黑屏,于是试了一下 ...
- 记Ubuntu开机黑屏及解决过程
之前遇到一次Ubuntu因为失误卸载了xinit.xserver的原因,导致开机黑屏无法进入系统,实际上当时是第一次遇到这种情况,因此花了点时间自己摸索,事后想来解决方案还是比较简单的,从目前的观点来 ...
随机推荐
- golang 如何判断变量的类型
本文介绍两种用于判断变量类型的方式. 方法一 package main import ( "fmt" ) func main() { v1 := "123456" ...
- Maven 私服 Nexus 权限控制
Nexus 用户 Nexus 预定义了三个用户,这三个用户对应了三个权限级别: admin:该用户拥有对Nexus服务的完全控制,默认密码为 admin123,以下为admin用户的角色树 deplo ...
- IO测试工具之fio详解(转)
http://www.cnblogs.com/raykuan/p/6914748.html 目前主流的第三方IO测试工具有fio.iometer和Orion,这三种工具各有千秋. fio在Linux系 ...
- couldn't launch the emulator make sure the sdk directory is properly setup
android sdk 路径中不能有空格.转到一个没有空格的文件夹下即可.
- Nginx+tomcat+redis实现session共享
Nginx+tomcat+redis实现session共享 1,安装nginx,使用yum -y install nginx 这是epel源中的,需要安装epel源. 2,配置nginx. 在ngin ...
- jackson快速实现对象与json之间的转换
Maven依赖: <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <arti ...
- 关于ie6下png背景透明
今天我突破了一个技术难关,真的是头都大了.. 关于ie6下png背景透明的解决方法,我就不多说了,网上有很多解决方法,我用的是其中的一种: <script type="text/jav ...
- [UE4]计算2点坐标附近的坐标:线性插值法
float distance = FVector::Distance(SelfLocation, TargetLocation); .f / distance; DrawDebugPoint(GetW ...
- volotile关键字的内存可见性及重排序
在理解volotile关键字的作用之前,先粗略解释下内存可见性与指令重排序. 1. 内存可见性 Java内存模型规定,对于多个线程共享的变量,存储在主内存当中,每个线程都有自己独立的工作内存,并且线程 ...
- 使用V$SQL_PLAN视图获取曾经执行过的SQL语句执行计划
通常我们查看SQL语句的执行计划都是通过EXPLAIN PLAN或者AUTOTRACE来完成.但是这些查看方法有一个限制,它们都是人为触发而产生的,无法获得数据库系统中曾经执行过的SQL语句执行计划. ...