日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

隨著技術的發展,測試行業也慢慢和運維靠攏,與devops對應,誕生了testops的概念。所以各位測試同學務必建立起一定的運維知識。在傳統的運維或者測試工作當中,對于機器的遠程桌面管理一直是很常規的工作,比如windows的遠程桌面RDP,linux的vnc和nomachine。今天我們主要聊一下novnc這個東西在vnc領域的使用,原因在于,有時候我們不想安裝一個客戶端軟件,或者需要提供一個方便的遠程的工具內嵌到我們的應用當中。下文以ubuntu為例進行介紹,windows比較簡便,不在贅述。

安裝vncserver

傳統linux服務器在安裝過程中為了減少空間,提高效率和增強安全性,一般只會做最小的服務器安裝,所以不會安裝桌面相關的組件。而在vnc的使用過程中,大家動動腦子就知道,沒有桌面支持,我們顯示個鳥文件夾啊。

  • 以xfce為例,我們增加桌面環境的支持:

sudo apt-get install xfce4

  • 然后我們安裝vnc服務端:

sudo apt-get install vnc4server

  • 修改~/.vnc/xstartup中的內容為:

#!/bin/sh

unset SESSION_MANAGER

unset DBUS_SESSION_BUS_ADDRESS

startxfce4 &

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

xsetroot -solid grey

  • 然后使用如下命令啟動vnc:

vncserver

啟動的時候會提示輸入連接密碼以及是否提供一個只讀密碼,根據需要,自行輸入。啟動成功后會得到如下結果:

ubuntu@awvs:~/.vnc$ vncserver

New 'X' desktop is awvs:1

Starting Applications specified in /home/ubuntu/.vnc/xstartup

Log file is /home/ubuntu/.vnc/awvs:1.log

這里面要說明下,vnc的服務器的端口從5901開始,上面的awvs:1中,awvs是主機名;1的意思就是端口5901,如果是2的話,端口就是5902了。如果要停止當前的vnc服務,使用:

vncserver -kill :1

支持,服務端的配置算完成了。一般的介紹中,后面會介紹客戶端的安裝。比較常見的有tightnvc、vncviewer等,隨便選擇安裝一款即可。比如我在windows上安裝的就是tightvnc。

測試運維 | 遠程桌面管理工具novnc的搭建和使用

使用的時候,從程序里面找到tightvnc%20viewer進行啟動,然后輸入我們vnc服務的ip和地址,比如上文的192.168.10.49:5901:

啟動后輸入我們在執行vncserver的時候設定的密碼:

測試運維 | 遠程桌面管理工具novnc的搭建和使用

,就可以看到遠程桌面了:

測試運維 | 遠程桌面管理工具novnc的搭建和使用

novnc的安裝和使用

上文我們說到,使用vnc的時候必須安裝服務端和客戶端,其中服務端是必不可少的,客戶端有可以不必安裝的解決方案,這里介紹下novnc:https://github.com/novnc/noVNC。看下官方的介紹:

noVNC is both a html VNC client JAVAScript library and an application built on top of that library. noVNC runs well in any modern browser including mobile browsers (IOS and Android).

簡單翻譯下:noVNC是一個使用HTML的VNC客戶端JavaScript的庫和基于該庫之上的應用。noVNC運行在所有的現代瀏覽器當中(包括iOS和安卓)。

Many companies, projects and products have integrated noVNC including OpenStack, OpenNebula, LibVNCServer, and ThinLinc.

再來看看典型客戶:許多、項目和產品都在其中集成了noVNC,包括OpenStack, OpenNebula(OpenNebula是專門為云計算打造的開源系統,用戶可以使用Xen、KVM、VMware等虛擬化軟件一起打造企業云。利用OpenNebula可以輕松構建私有云、混合云、公開云)、LibVNCServer(一個實現了vnc服務器端的庫)等。

簡單總結下:NoVNC是一個js庫,在云計算等iaas層有著典型的應用。這與我在上面提到的測試必須掌握一定的運維知識相符合:)

  • 首先在ubuntu上開啟snap:

sudo apt install snapd

sudo systemctl enable --now snapd.socket

  • 然后通過snap安裝novnc應用:

sudo snap install novnc

  • 接下來使用如下的命令創建一個novnc的服務:

sudo snap set novnc services.n6081.listen=6081 services.n6081.vnc=localhost:5901

簡單解釋下,該novnc的服務名稱為services.n6081,監聽的端口為6081,所監聽的vnc服務為locahost:5901,如果連接的是其他服務器,將localhost改為對應的ip或者主機名即可。

  • 使用如下的命令查看服務的狀態:

sudo snap get novnc services.n6081

測試運維 | 遠程桌面管理工具novnc的搭建和使用
  • 接著,我們使用瀏覽器打開http://192.168.10.49:6081/vnc.html:
測試運維 | 遠程桌面管理工具novnc的搭建和使用

點擊其中的“鏈接”按鈕,輸入我們啟動vnc時候的密碼,見證奇跡的時刻到了:

測試運維 | 遠程桌面管理工具novnc的搭建和使用

我們在瀏覽器上實現了通過vnc協議對服務器的鏈接和管理,有么有:)

  • 如果我們想停止掉某個監聽服務器,直接運行如下命令:

sudo snap set novnc services.n6081.listen='' services.n6081.vnc=''

就是把監聽的端口和vnc服務都設置為空串就行了,這個時候在訪問http://192.168.10.49:6081/vnc.html發現已經鏈接不上了,而且通過snap get命令發現服務有如下輸出:

測試運維 | 遠程桌面管理工具novnc的搭建和使用

是不是很方便:)

總結與擴展

文章介紹了ubuntu上vnc服務的搭建以及通過novnc不安裝vnc客戶端情況下使用瀏覽器訪問和管理vnc服務器的步驟,非常方便,很有實戰價值。

我的落地應用,主要是在selenium集群做ui自動化測試時,每個selenium客戶端上安裝了vnc server,然后通過測試平臺的界面,使用novnc訪問這些客戶端,從而可以實時進行自動化測試用例的調試和監控。關于selenium的自動化測試,后續撰文再說。

分享到:
標簽:novnc
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定