[Linux] 設定 CentOS 7 上的 VNC 遠端桌面

[Linux] 設定 CentOS 7 上的 VNC 遠端桌面

自從裝了 CentOS 7 之後,一直有個困擾…

那就是原本 CentOS 6 內建的 Screen Sharing 到 CentOS 7 之後走樣了!

平常我可以用 Mac 的 Finder > Go > Connect to Server > vnc://<host> 

就可以看到 CentOS 6 的桌面,

可是用同樣的方式卻沒有辦法連到 CentOS 7,而會跳出 Connection failed 錯誤:

Screen Shot 2014-12-25 at 下午11.41.43

 

查了一下,VNC & Remote Desktop (aka: Screen Sharing) 的發文者與我有相同的困擾,

而大部分人的建議是另外裝一個 VNC server 來用…

試了一下,另外裝一個 VNC server 是可以用的,

但缺點是沒辦法直接看到原本 CentOS 7 的桌面 (因為是開一個新的虛擬桌面出來),

不過目前就先將就了~

 

備註:後來是有找到一個用 NoMachine 連上現有 X-Window session 的方法 。

 

1. 在 CentOS 7 上安裝 Tiger VNC server

可以參考 Redhat System Administrator’s Guide: Tiger VNC 的說明~

用 yum 安裝 tigervnc-server:

yum -y install tigervnc-server

 

2. 啟動 Tiger VNC server

照網友建議的,是先用 SSH 連進去 CentOS 7 裡面之後,

執行 vncserver 來打開 VNC server~

這樣的話只有在必要的時候才啟動 VNC server,而不是一開機就打開,較為安全~

第一次執行的話會需要設定一下密碼,以後就不用了 (除非你把 ~/.vnc 目錄砍掉):

testuser@localhost ~ $ vncserver
You will require a password to access your desktops.
Password:
Verify:
New 'localhost:1 (testuser)' desktop is localhost:1
Creating default startup script /home/testuser/.vnc/xstartup
Starting applications specified in /home/testuser/.vnc/xstartup
Log file is /home/testuser/.vnc/localhost:1.log

 

可以看到有一個 :1 的虛擬桌面被建立起來了~

用 vncserver -list 可以列出目前所有的 VNC 虛擬桌面:

testuser@localhost ~/.vnc $ vncserver -list
TigerVNC server sessions:
X DISPLAY # PROCESS ID
:1      5387

 

3. 使用 VNC client 連到 CentOS 7 上的 Tiger VNC server

這邊可以用自己常用的 VNC client,

像我在 Mac 上是用 Finder > Go > Connect to Server > vnc://<host>:<port>~

這邊因為虛擬桌面是在 :1,因此 port 的部分是 5900+1 = 5901 (5900 是 VNC 預設 port):

Screen Shot 2014-12-25 at 下午11.21.35

 

按下 Connect 後,會問你 VNC 的密碼 (就是在執行 vncserver 時設定的那一個):

Screen Shot 2014-12-25 at 下午11.22.44

 

接著就可以連線成功囉~

可以注意到桌面上空盪盪的,沒有任何的視窗,

這是因為這是一個虛擬桌面,不會看到其他登入者開啟的視窗…

Screen Sharing Picture 2014年12月25日 GMT+8下午11時24分04秒  

 

後記:我平常的 CentOS 7 桌面是設定成 English 顯示,但是 vnc 進去之後卻是中文…

要解決這個問題,可以在執行 vncserver 指令之前,

先設定 LANG 或 LC_ALL 環境變數~

像我如果先設定成 LANG=C 的話,VNC 的桌面就會是英文的囉~~^^

testuser@localhost ~ $ export LANG=C
testuser@localhost ~ $ vncserver

 

 

(本頁面已被瀏覽過 2,898 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料