raspbian jessieでxrdpをビルドするとfontutil.hが無くてできなかった

リモートデスクトップ接続でクリップボードが使えなくなって不便でしかたありません。
最新環境でxrdpのビルドができなくなったので試行錯誤してます。今回の記事はxrdpをビルドしている日記です。
ビルドはできたようですがリモートデスクトップ接続はできていません。


以前の記事でRaspberry Pi 3にxrdpをビルドしてインストールしました。クリップボード、サウンドとドライブのリダイレクトができていました。パッケージの更新をしたらrdpでつながらなくなったので再びビルドしてみます。

前回もそうだったのですが日替わりで症状が変わる感じでうまくいってません。
手順のメモと症状の記録をしておきます。

システムイメージをSDカードに焼く。11月末のPIXELです。
パッケージを最新の状態にする。
sudo apt-get update
sudo apt-get upgrade

xrdpに必要そうなパッケージをインストールする
sudo apt-get -y install libx11-dev libxfixes-dev libssl-dev libpam0g-dev libtool libjpeg-dev flex bison gettext autoconf libxml-parser-perl libfuse-dev xsltproc libxrandr-dev python-libxml2 nasm xserver-xorg-dev fuse

xrdpのソースをクローンする。develブランチはやめてmasterでやってみる。
cd ~/Downloads
git clone  https://github.com/neutrinolabs/xrdp.git
cd xrdp
git clone  https://github.com/neutrinolabs/xorgxrdp.git

リモートFXのサブモジュールを更新してビルドする。
git submodule init
git submodule update
cd librfxcodec
sudo ./bootstrap
sudo ./configure
sudo make -j4
cd ..

前回はxorgxrdpを先にビルドしていたが、今はxrdpのV0.9が先に入っていないとconfigureができないようだ。
https://github.com/neutrinolabs/xorgxrdp
を見直すとこんな記述があった。
If you don't want to install xrdp first, you can compile xorgxrdp against xrdp sources by specifying XRDP_CFLAGS on the configure command line.
./configure XRDP_CFLAGS=-I/path/to/xrdp/common

xorgxrdpからビルドしてみる。
cd xorgxrdp
sudo ./bootstrap
sudo ./configure XRDP_CFLAGS=-I/home/pi/Downloads/xrdp/common
sudo make -j4
ここでエラーが発生する。
CC       rdpFillSpans.lo
In file included from /usr/include/xorg/dixfontstr.h:28:0,
                 from rdpDraw.c:40:
/usr/include/xorg/dixfont.h:32:32: fatal error: X11/fonts/fontutil.h: No such file or directory
 #include 
                                ^
compilation terminated.
fontutil.hが無いそうだ。
libxfontパッケージにあるようなのだが。ちょっと探してみる。
$ apt-cache search libxfont
libxfont1 - X11 font rasterisation library
libxfont1-dbg - X11 font rasterisation library (debug package)
libxfont-dev - X11 font rasterisation library (development headers)
libxfont2 - X11 font rasterisation library

libxfont-devだと思われるのでインストールしてみる。
$ sudo apt-get install libxfont-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
libxfont-dev はすでに最新版です。
libxfont-dev は手動でインストールしたと設定されました。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。

あれま。もう入ってるそうだ。手詰まり・・・

fontutil.hだけ手動でファイルを作ってみる。ディレクトリ/usr/include/X11/fontsに移動してからテキストエディタでfontutil.hを作る。中身はfontutil.hを検索してコピペした。

xorgxrdpへ戻って再トライ。
sudo make -j4
通った! 理由はよくわからないが続けよう。
sudo make install
cd ..
これでxorgxrdpは完了。
次はxrdpだ。xrdpのディレクトリで続ける。
sudo ./bootstrap
sudo ./configure --enable-fuse  --enable-jpeg --enable-rfxcodec
sudo make -j4
sudo make install

ここでどうなるか試してみる。
sudo systemctl daemon-reload
sudo systemctl enable xrdp.service
sudo reboot

リモートデスクトップで接続してみるが応答なし。
環境を整えていく。
sudo sed -i.bak 's/EnvironmentFile/#EnvironmentFile/g' /lib/systemd/system/xrdp.service
sudo sed -i.bak 's/sbin\/xrdp/local\/sbin\/xrdp/g' /lib/systemd/system/xrdp.service
sudo sed -i.bak 's/sbin\/xrdp/local\/sbin\/xrdp/g' /lib/systemd/system/xrdp-sesman.service
再び
sudo systemctl daemon-reload
sudo systemctl enable xrdp.service
sudo reboot

リモートデスクトップで接続すると・・・応答あり。

ユーザーとパスワードを入れて続けるも反応なし。デスクトップが動かない。
tightvncserverを入れてセッションをXvncにすればデスクトップは表示される。でもrdpでないから用はない。

これは前回のリモートデスクトップがパッケージ更新で動かなくなったのと同じような状況のようだ。今回はmateデスクトップを入れていないのでデスクトップが動かないだけか?Xvncでデスクトップは動いてるから違うようだ。

今回はxrdpのコンパイルができる事が分かったのでここまでとする。
fontutil.hが無いのは何が原因なのだろう? 単にリポジトリ側の間違えなのだろうか。

コメント

最近のコメント

Threaded Recent Comments will be here.