1. 程式人生 > >Windows下通過VNC訪問Linux伺服器(視覺化介面)

Windows下通過VNC訪問Linux伺服器(視覺化介面)

問題:

實習公司用的是伺服器,我們只能使用SecureCRT通過指令進行類似linux系統下終端的指令操作,如下圖:

而上傳檔案就要通過WinSCP:

一般的工作,不需要視覺化介面也能完成

可是,當我們有些操作需要顯示出來,就有問題了,例如我們訓練完ssd,想在圖片或者視訊上測試,看看效果:

沒辦法顯示!!

所以,我就想實現伺服器也能視覺化!

VNC介紹:

VNC (Virtual Network Console),即虛擬網路控制檯,它是一款基於 UNIX 和 Linux 作業系統的優秀遠端控制工具軟體,由著名的 AT&T 的歐洲研究實驗室開發,遠端控制能力強大,高效實用,並且免費開源。

VNC基本上是由兩部分組成:一部分是客戶端的應用程式(vncviewer);另外一部分是伺服器端的應用程式(vncserver)

在任何安裝了客戶端的應用程式(vncviewer)的計算機都能十分方便地與安裝了伺服器端的應用程式(vncserver)的計算機相互連線。

安裝方法:

因為我是想實現Windows系統下遠端開啟伺服器,並實現視覺化

所以我這裡的客戶端就是Windows系統,伺服器端就是Linux系統

(1)安裝vncviewer

先去VNC的官網下載上述的vncviewer

然後,按照下圖1,2,3的箭頭:

選擇windows系統,

選擇64位的系統(如果你係統是32位,就選第二個,即X86),

然後點選DOWNLOAD VNC VIEWER

下載,完成後,得到該檔案,雙擊安裝即可:

安裝後如下:

(2)Linux伺服器端安裝vncserver

終端輸入:

sudo apt-get install vnc4server

系統就會自動安裝vncserver

(3)開啟vnc服務

安裝成功後,需要開啟vnc服務

終端輸入:

vncserver

首次啟動會要求設定密碼(不能超過8位,我第一次輸入了9位,然後它就只取了我輸入的前8位作為密碼),用來在客戶端訪問時使用,後面可以使用vncpasswd 修改。

執行完vncserver設定密碼後,

產生如下資訊:

我這裡輸入的是  vncserver :2   因為埠1已經被另外一個小夥伴用了(注意vncserver :2中vncserver和冒號之間有個空格哦!!)

New 'dw:2 (lincanran)' desktop is dw:2

Starting applications specified in /home/lincanran/.vnc/xstartup
Log file is /home/lincanran/.vnc/dw:2.log

即此時vncserver已經產生了一個新的桌面,其中的:2是埠號,用於vnc客戶端遠端連線埠的。

並且會根據//home/lincanran/.vnc/xstartup(即使用者主目錄下的 .vnc/xstartup)檔案的配置進行啟動,

相關的log執行記錄儲存在/home/lincanran/.vnc/dw:2.log

啟動vnc成功後,會在主目錄下產生一個.vnc目錄

預設的配置檔案是~/.vnc/xstartup

剛安裝完如果不修改配置檔案的話,從客戶端連線時將看不到完整的桌面,而只有一個Terminal視窗,如下所示:

也就是隻有一個終端視窗沒有圖形介面,這顯然不是我們想要的,那麼如何圖形化訪問呢?這就需要修改vnc的配置檔案xstartup。

(4)修改原有xstartup檔案以圖形化訪問

終端輸入:

sudo vim /home/lincanran/.vnc/xstartup

後面的  /home/lincanran/.vnc/xstartup  就是你的xstartup配置檔案所在的地址,根據你自己的地址修改一下

預設配置檔案~/.vnc/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 &
 x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
 x-window-manager &

將所有內容替換為下面的內容即可:

#!/bin/sh
 
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS  
# 上面這句話在XUbuntu桌面環境下開啟vnc的話最好取消註釋
#exec /etc/X11/xinit/xinitrc
#上面這行先不要開啟
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#gnome-session &
#x-window-manager &
#下面這塊主要是針對運用xfce4管理桌面
x-session-manager & xfdesktop & xfce4-panel &
xfce4-menu-plugin &
xfsettingsd &
xfconfd &
xfwm4 &

我一開始就是這裡沒有填對,所以導致出現灰色螢幕和×型滑鼠,原因是是vncserver找不到指定的圖形化軟體

後來,將xstartup檔案替換成上面的內容後,就沒問題啦!

(5)先停止vncserver服務

配置完成後,我們需要先kill停止一下之前開啟的vncserver

終端輸入:

vncserver -kill :2

(6)重新啟動vncserver服務

終端輸入:

vncserver :2

這時候我們得到埠號為2

(7)客戶端vncviewer建立連線

配置好伺服器端,接下來就很簡單了,就是通過之前安裝好的Windows下的vncviewer建立連線,去訪問伺服器

開啟vncviewer:

大家忽視我下面已經建立好的連線哈!!

點選左上角File,然後點選New Connection:

這裡只需要填2個地方:

即VNC Server和Name

VNC Server就是你需要訪問的伺服器的地址IP,注意:地址後面還要加上

:2

因為我們剛剛分配的埠就是2

例如,這個地址是我隨便寫的哈,你換成你自己的就好,然後後面加上:2即可:

172.11.111.11:2

Name就很隨意了,就是你給這個連線起的名字

最後如下圖:

點選OK,建立連線

(8)客戶端vncviewer啟動連線

然後我們只需雙擊這個,即可啟動連線

注意:啟動連線之前,要保證你伺服器端,已經開啟服務了,也就是已經輸入過:

vncserver :2

並且有如下的資訊輸出:

看到可愛的小老鼠,就是訪問成功啦!

我們可以很方便地以視覺化的方式看到之前得在WinSCP看到的檔案:

我們接下來試一下,跑SSD程式碼來測試視訊檔案,並顯示出來:

測試成功!!!

視覺化介面果然比純命令列用起來爽多了啊!