英創(chuàng)公司ESM7000 是面向工業(yè)領(lǐng)域的雙核 Cortex-A7 高性能嵌入式主板,ESM6800E則為單核Cortex-A7 高性價(jià)比嵌入式主板,ESM7000、ESM6800E都是公司的成熟產(chǎn)品,已廣泛應(yīng)用于工業(yè)很多領(lǐng)域。ESM7000/6800E板卡中Linux系統(tǒng)配置為linux-4.9.11內(nèi)核、預(yù)裝X11桌面系統(tǒng),并支持Qt-5.8。
VNC(Virtual Network Computing),為一種使用RFB協(xié)議的屏幕畫面分享及遠(yuǎn)程操作軟件。此軟件借由網(wǎng)絡(luò),可發(fā)送鍵盤與鼠標(biāo)的動(dòng)作及即時(shí)的屏幕畫面。通過VNC可實(shí)現(xiàn)遠(yuǎn)程桌面控制功能,在實(shí)際應(yīng)用中給用戶帶來很多方便。
X11VNC是一款基于X Window的VNC服務(wù)器程序,為此我們在ESM7000/6800E上移植了該軟件包,以支持遠(yuǎn)程桌面的功能。
先用git獲取libvncserver和x11vnc。 x11vnc是基于libvncserver的服務(wù)端程序。
#> git clone https://github.com/LibVNC/libvncserver
#> git clone https://github.com/LibVNC/x11vnc
參考其中的README說明,用ESM7000的交叉編譯工具鏈進(jìn)行編譯。在編譯的過程中先編譯libvncserver,然后x11vnc。
libvncserver 編譯
# mkdir build
# cd build # cmake ..
# cmake --build .
libvncserver編譯完成后,需要將相應(yīng)的庫文件和頭文件復(fù)制到交叉編譯的環(huán)境中,才能進(jìn)行后續(xù)x11vnc的編譯,如:
cp libvncserver.so* ../../toolchain/sysroots/cortexa7hf-neon-poky-linux-gnueabi/usr/lib/.
cp libvncclient.so* ../../toolchain/sysroots/cortexa7hf-neon-poky-linux-gnueabi/usr/lib/.
cp libvnc*.pc …/sysroots/cortexa7hf-neon-poky-linux-gnueabi/usr/lib/pkgconfig/.
cp -r include/rfb ../../toolchain/sysroots/cortexa7hf-neon-poky-linux-gnueabi/usr/include/.
x11vnc的編譯
#>./configure –host=arm-poky-linux –prefix=/home/zhl/esm7000/vnc
#>make
#>make install
編譯完成后,將相應(yīng)的庫文件以及x11vnc程序復(fù)制到目標(biāo)板上即可。
庫文件包括libvncserver*.so libvncclient*.so,注意啟動(dòng)x11vnc還需要用到libavahi-client.so.3
啟動(dòng)vnc服務(wù)器,在ESM7000板卡上直接運(yùn)行x11vnc程序即可,如:
#>x11vnc
客戶端遠(yuǎn)程訪問的PC機(jī)可以是Ubuntu系統(tǒng)也可以用Windows,安裝上對應(yīng)的VNC Viewer程序即可。這里我們是在Windows PC機(jī)器上,使用RealVNC Viewer軟件,輸入正確的IP地址后連接ESM7000的遠(yuǎn)程桌面。
可通過鼠標(biāo)和鍵盤來操作遠(yuǎn)程桌面,以下分別啟動(dòng)了一個(gè)Qt程序和一個(gè)終端界面程序。
X11VNC服務(wù)器程序?qū)⒆詣?dòng)包含在英創(chuàng)公司后續(xù)提供的ESM7000/6800E板卡中,對于現(xiàn)有的客戶感興趣可和英創(chuàng)公司聯(lián)系,索取相應(yīng)的軟件更新包。
成都英創(chuàng)信息技術(shù)有限公司 028-8618 0660