英創公司ESM7000 是面向工業領域的雙核 Cortex-A7 高性能嵌入式主板,ESM6800E則為單核Cortex-A7 高性價比嵌入式主板,ESM7000、ESM6800E都是公司的成熟產品,已廣泛應用于工業很多領域。ESM7000/6800E板卡中Linux系統配置為linux-4.9.11內核、預裝X11桌面系統,并支持Qt-5.8。
VNC(Virtual Network Computing),為一種使用RFB協議的屏幕畫面分享及遠程操作軟件。此軟件借由網絡,可發送鍵盤與鼠標的動作及即時的屏幕畫面。通過VNC可實現遠程桌面控制功能,在實際應用中給用戶帶來很多方便。
X11VNC是一款基于X Window的VNC服務器程序,為此我們在ESM7000/6800E上移植了該軟件包,以支持遠程桌面的功能。
先用git獲取libvncserver和x11vnc。 x11vnc是基于libvncserver的服務端程序。
#> git clone https://github.com/LibVNC/libvncserver
#> git clone https://github.com/LibVNC/x11vnc
參考其中的README說明,用ESM7000的交叉編譯工具鏈進行編譯。在編譯的過程中先編譯libvncserver,然后x11vnc。
libvncserver 編譯
# mkdir build
# cd build # cmake ..
# cmake --build .
libvncserver編譯完成后,需要將相應的庫文件和頭文件復制到交叉編譯的環境中,才能進行后續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
編譯完成后,將相應的庫文件以及x11vnc程序復制到目標板上即可。
庫文件包括libvncserver*.so libvncclient*.so,注意啟動x11vnc還需要用到libavahi-client.so.3
啟動vnc服務器,在ESM7000板卡上直接運行x11vnc程序即可,如:
#>x11vnc
客戶端遠程訪問的PC機可以是Ubuntu系統也可以用Windows,安裝上對應的VNC Viewer程序即可。這里我們是在Windows PC機器上,使用RealVNC Viewer軟件,輸入正確的IP地址后連接ESM7000的遠程桌面。
可通過鼠標和鍵盤來操作遠程桌面,以下分別啟動了一個Qt程序和一個終端界面程序。
X11VNC服務器程序將自動包含在英創公司后續提供的ESM7000/6800E板卡中,對于現有的客戶感興趣可和英創公司聯系,索取相應的軟件更新包。
成都英創信息技術有限公司 028-8618 0660