qtembed應用程序輸出到VNC

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. 後面的數字兩邊應該保持一致

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章