今天,我們就一起來學習另外一種方法——如何基于VNC協議連接遠程計算機。
VNC(virtual network computing)是一種圖形化的桌面共享系統,它基于RFB(Remote Frame Buffer)協議實現對遠程計算機的共享。將鍵盤和鼠標輸入從一臺計算機傳輸到另一臺計算機,并通過網絡更新到屏幕上。
VNC提供了兩種架構:CS架構使用客戶端程序顯示遠程計算機的圖形,監聽在5900+<display number>端口;BS架構通過網頁瀏覽器的插件(一些VNC服務端提供對JAVA的支持)顯示遠程計算機的圖形,監聽在5800+<display number>端口。
1、銀河麒麟桌面操作系統遠程連接windows
配置遠程連接前,請確認客戶端與服務器端之間的網絡正常,如果客戶端ping服務器端失敗,請嘗試關閉服務器端的防火墻后再試。此例中,服務器端系統為Windows 10,IP地址為172.20.10.3;客戶端系統為銀河麒麟桌面操作系統V10 SP1,IP地址為172.20.10.2。
圖1 ping服務器端
服務器端安裝RealVNC。
可訪問
https://www.realvnc.com/en/
connect/download/vnc/下載服務端程序,完成安裝后運行程序。
程序運行后,在服務列表中可以看到VNC Server服務已經啟動,本地5900監聽啟動。
圖2 系統服務列表
圖3 客戶端telnet服務端5900端口
遠程桌面客戶端創建連接。
在“開始菜單”中找到“遠程桌面客戶端”,打開程序。在彈出的窗口中,點擊左上角的“創建一個新的連接配置文件”。
圖4 遠程桌面客戶端
在“遠程桌面設定”窗口中,選擇VNC協議類型,在“服務器”一欄中填入要連接到的計算機(即VNC服務端)的ip地址,在“用戶名”和“用戶密碼”欄中填入遠程登錄的用戶名和密碼。點擊“保存”,保存連接。
此處有兩點注意事項:
1.如果啟用VNC驗證(即在配置Authentication選項中選擇VNC password),遠程桌面客戶端配置的連接文件中,要使用該密碼。
2.在Security標簽的Encryption選項設置中,需要將默認的Always on修改為Prefer on或Prefer off。
圖5 RealVNC配置界面
圖6 VNC遠程連接
對于已創建的連接,可以雙擊該連接或鼠標右鍵選擇“連接”,連接到遠程桌面。
連接成功后,客戶端窗口將顯示Windows的桌面圖形,用戶可以在等同于本地桌面一樣的情況下,操作Windows系統。
2、遠程連接銀河麒麟桌面操作系統
在銀河麒麟桌面操作系統V10 SP1版本中,默認安裝了tigervnc軟件包作為VNC服務器,如果在您的電腦中尚未安裝該軟件或者不知道應如何查看,可向麒麟軟件400客服尋求幫助。
此例中,服務器端系統為銀河麒麟桌面操作系統V10 SP1,IP地址為172.20.10.6;客戶端系統與服務器端相同,IP地址為172.20.10.2。執行systemctl status [email protected]可以看到VNC服務已啟動,對應的會話進程監聽在5901端口。
圖7 display1服務狀態
圖8 主服務和會話進程狀態
遠程桌面客戶端創建連接。
在“開始菜單”中找到“遠程桌面客戶端”,打開程序。在彈出的窗口中,點擊左上角的“創建一個新的連接配置文件”。
在“遠程桌面設定”窗口中,選擇VNC協議類型,在“服務器”一欄中填入要連接到的計算機(即VNC服務端)的ip地址,在“用戶名”和“用戶密碼”欄中填入遠程登錄的用戶名和密碼。點擊“保存”,保存連接。
圖9 VNC遠程連接
對于已創建的連接,可以雙擊該連接或鼠標右鍵選擇“連接”,連接到遠程桌面。
連接成功后,客戶端窗口將顯示銀河麒麟桌面操作系統的桌面圖形,用戶可以在等同于本地桌面一樣的情況下,操作銀河麒麟桌面操作系統。
圖10 銀河麒麟桌面操作系統遠程桌面
注:
【1】不同的VNC服務端程序,其支持的功能和特性,通常會有差異。請訪問產品官方網站獲取幫助信息。
【2】remmina不支持強制加密選項,如果需要啟用該特性,請使用VNC Viewer客戶端。
【3】如何配置VNC服務,請參考:
https://askubuntu.com/questions/948774/configure-tigervnc-server-to-start-with-system-in-ubuntu-gnome-16-04
【4】在虛擬會話模式下,監聽的端口和顯示號有關,多個顯示進程以“5900+顯示號”作為其進程監聽的端口號。
【5】銀河麒麟桌面操作系統默認未添加VNC端口的防火墻訪問規則,請在iptables中添加放行相應的端口。
參考文獻:
https://en.wikipedia.org/wiki/Virtual_Network_Computing