嵌入式linux實現vnc功能

現在有一個想法準備在嵌入式設備和pc之間通過網絡實現一種類似遠程桌面的功能,在pc端可以看到嵌入式設備顯示的內容,並且可以使用鼠標和鍵盤操作嵌入式設備的程序。

查看了網絡上的一些資料後,準備使用vnc功能來實現,在嵌入式設備端啓動vncserver,在pc端啓動vncclient,建立連接後能實現需要的功能。準備嘗試的方法有兩種:

一種是在編譯Qt時加入vnc的支持。參考的資料是

http://doc.qt.io/archives/qt-4.8/qt-embedded-vnc.html

http://www.friendlyarm.net/forum/topic/5029

http://bbs.csdn.net/topics/380149017

具體做法是編譯Qt時加入編譯選項

-qt-gfx-vnc

-plugin-gfx-vnc

-qt-gfx-linuxfb

-plugin-gfx-linuxfb

編譯完成後把生成的libqgfxvnc.so和libqscreenlinuxfb.so拷貝到開發板 qt路徑/plugins/gfxdrivers/

然後在嵌入式設備啓動應用程序 ./myapp -qws -display VNC:0

這時出現了

VNC: driver not found 

Aborted

最後這個問題沒有解決掉,放棄了這個方法。

第二種方法是使用x11vnc。參考的資料是

https://forum.qt.io/topic/66162/running-vnc-server-on-embedded-linux/2

http://blog.csdn.net/xiaolangyangyang/article/details/52950690

具體做法是

1.先下載x11vnc源碼地址在http://www.karlrunge.com/x11vnc/#downloading

2.編譯源碼:

# tar -xjvf x11vnc-0.9.13.tar.gz
# cd x11vnc-0.9.13
# CC=arm-fsl-linux-gnueabi-gcc CFLAGS=-O2 ./configure --host=arm-linux --without-x --prefix=./_INSTALL/
# make
# make install

3.拷貝生成的x11vnc到設備上。

4.啓動x11vnc。

/app/x11vnc-noipv6 -rawfb /dev/fb0 -pipeinput UINPUT:touch,tslib_cal=/etc/pointercal,direct_abs=/dev/input/event2,nouinput,dragskip=4 -clip 640x480+0+0

其中校準文件tslib_cal和觸摸屏設備direct_abs的路徑要換成自己設備中的路徑。

5.在pc端通過vnc客戶端工具如vncviewer連接設備,這時就能看到設備顯示的內容了,而且可以通過鼠標操作設備了。

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