Howto

DirectVNCのビルド

ArmadilloでDirectVNCを動かしてみましょう。
DirectVNCは、DirectFBライブラリを使用して動作することができるVNCクライアントです。

DirectFBのビルドについては、こちらを参照してください。

1. ソースコードの準備

DirectVNCのページから取得するソースコードは最近のDirectFBに対応していないので、Debianパッケージのソースを利用することにします。パッケージのソースは以下のように取得できます。

[PC ~/directvnc]$ apt-get source directvnc
    :
    :
dpkg-source: extracting directvnc in directvnc-0.7.5
dpkg-source: unpacking directvnc_0.7.5.orig.tar.gz
dpkg-source: applying ./directvnc_0.7.5-8.diff.gz
[PC ~/directvnc]$ ls
directvnc-0.7.5  directvnc_0.7.5-8.diff.gz  directvnc_0.7.5-8.dsc  directvnc_0.7.5.orig.tar.gz

2. 必要なパッケージのインストールとコンフィグレーション

ここからの作業は、DirectFBが既にビルドされているものとして進めていきます。

DirectVNCのビルドには、x11proto-core-devパッケージが必要です。
以下のようにインストールしてください。

[PC ~/directvnc]$ wget http://ftp.cz.debian.org/debian/pool/main/x/x11proto-core/x11proto-core-dev_7.0.7-2_all.deb
[PC ~/directvnc]$ dpkg-cross -b -a arm x11proto-core-dev_7.0.7-2_all.deb
[PC ~/directvnc]$ equivs-control x11-common-dummy
[PC ~/directvnc]$ equivs-control x11-common-arm-dcv1-dummy
 
[PC ~/directvnc]$ vi x11-common-dummy
  Package: x11-common-arm-cross
  Version: 1:7.0.0
[PC ~/directvnc]$ vi x11-common-arm-dcv1-dummy
  Package: x11-common-arm-dcv1
[PC ~/directvnc]$ equivs-build x11-common-dummy
[PC ~/directvnc]$ equivs-build x11-common-arm-dcv1-dummy
[PC ~/directvnc]$ sudo dpkg -i x11proto-core-dev-arm-cross_7.0.7-2_all.deb x11-common-arm-cross_7.0.0_all.deb x11-common-arm-dcv1_1.0_all.deb

つづいて、DirectVNCのコンフィグレーションを行います。
以下のように、コマンドを実行してください。

[PC ~/directvnc]$ cd directvnc-0.7.5
[PC ~/directvnc/directvnc-0.7.5]$ ./configure --host=arm-gnu-linux CC=arm-linux-gnu-gcc PKG_CONFIG=/bin/true

3. ビルド

ビルドを行います。
以下のようにコマンドを実行します。

make CFLAGS="-I[DirectFBのincludeディレクトリへの絶対パス]" \
    LDADD="[libdirect.soへの絶対パス(※)] \
    [libdirectfb.soへの絶対パス(※)] \
    [libfusion.soへの絶対パス(※)]"

DirectFBを"/home/hoge/directfb/DirectFB/install"にインストールした場合は、以下のようになります。

[PC ~/directvnc/directvnc-0.7.5]$ make CFLAGS="-I/home/hoge/directfb/DirectFB/install/usr/local/include/directfb" \
    LDADD="/home/hoge/directfb/DirectFB/install/usr/local/lib/libdirect.so \
    /home/hoge/directfb/DirectFB/install/lib/local/lib/libdirectfb.so \
    /home/hoge/directfb/DirectFB/install/lib/local/lib/libfusion.so"

DirectVNCがsrcディレクトリの下に出来上がります。

[PC ~/directvnc/directvnc-0.7.5]$ ls src/directvnc
src/directvnc

動作確認のために、DirectFBが動作可能なArmadilloにdirectvncをFTP等で転送しましょう。

4. 実行

directvncを起動する場合は、以下のようにコマンドラインオプションをつけます。

[armadillo ~]# directvnc [ホスト]:[ディスプレイ番号]

VNCでリモート制御するためには、キーボードやマウスを接続している必要があります。
動作確認が取れているUSBデバイスはこちらから検索することができます。