VNC (Virtual Network Computing)是虛擬網絡計算機的縮寫。用於遠程控制的一個開源工具。
我們這裏要討論的是將VNC作爲一套顯示系統,也就是說將完整的窗口界面通過網絡,傳輸到另一臺計算機的屏幕上。比如我們在嵌入式系統上開發的窗口程序,
我們可以讓它在我們的Linux主機上顯示,被被鼠標和鍵盤所控制。
要讓VNC工作,需要一個server端,和一個client端。server端提供要被顯示的內容,而client端通過網絡接收server端 的內容將其顯示出來。很明顯我們的嵌入式設備上的Qt-Embedded應用輸出是server,而我們的Linux主機是client
client端的工具,我們可以選擇安裝vnc4viewer,在ubuntu裏安裝命令
爲
$ sudo apt-get install vnc4viewer
而運行命令是
$ xvncviewer localhost:0
不過先彆着急運行這個命令,如果你此時運行,你會得到”unable to connect to host: Connection refused
(111)”這樣的錯誤,因爲server還沒起來呢。
下面我們來看在嵌入式設備上怎麼啓動我們的vnc server.很簡單,命令如下:
$ ./app -qws -display VNC:0
此處可能會出現錯誤”VNC: driver not
found”,這是因爲你在編譯的時候沒有把gfxdriver的vnc支持加進去,重新編譯一下vnc的插件就行了。到你的src/plugins
/gfxdrivers/vnc目錄下,輸入命令qmake,make install就可以了。然後重新運行
$ ./app -qws -display VNC:0
vnc server也就運行起來了,後面的這個數字0是可變的,你喜歡寫哪個數字都可以,只不過在vnc
client訪問的時候要和這個數字保持一致。此時再去你的host端運行xvncviewer就能看到你在嵌入式端的應用界面了。
總結:總共分兩步
1) 在嵌入式端運行 ./app -qws -display VNC:0
注意點:gfxdriver的vnc支持一定要有
2) 在Linux主機端運行 xvncviewer localhost:0
注意點:因爲我這是在一臺機器上測試,如果通過網絡localhost應該換成嵌入式設備的IP. 後面的數字兩邊應該保持一致