歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS下VNC連接黑屏問題解決

CentOS下VNC連接黑屏問題解決

日期:2017/2/28 13:44:14   编辑:Linux教程

嘗試在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。

CentOS 6.5 安裝VNC Server實現圖形化訪問 http://www.linuxidc.com/Linux/2015-12/126262.htm

VNC的安裝配置 http://www.linuxidc.com/Linux/2013-05/84941.htm

CentOS 6.3安裝和配置VNC http://www.linuxidc.com/Linux/2013-05/84668.htm

Linux下強制不檢測依賴安裝VNC http://www.linuxidc.com/Linux/2013-05/84075.htm

CentOS6 VNC服務安裝配置 http://www.linuxidc.com/Linux/2013-04/82510.htm

CentOS下VNC配置和安裝 http://www.linuxidc.com/Linux/2013-05/83975.htm

VNC遠程控制安裝和設置 http://www.linuxidc.com/Linux/2013-01/77769.htm

Windows通過VNC訪問Ubuntu http://www.linuxidc.com/Linux/2012-10/73043.htm

Windows遠程桌面訪問Ubuntu 12.04 之安裝VNC http://www.linuxidc.com/Linux/2012-07/64801.htm

Copyright © Linux教程網 All Rights Reserved