RASPBIAN STRETCHでxrdpをビルドする
RASPBIAN STRETCHではレポジトリのxrdpのバージョンが0.9.1になりました。
レポジトリのパッケージを使えばxrdpでクリップボードとドライブのリダイレクトが使えます。
自分でビルドする理由がほぼ無くなりました。ですが最新バージョンを使ってみたいのでビルドしてみます。ビルドスクリプトも作ってみました。
ビルド手順はjessieの時とほとんど変わらないはずです。
しかしメジャーバージョンアップなので気づかない所が変わっているのかも・・・
関連記事:xrdp v0.9.2をRaspberry Pi 3でビルドする
最初からやってみましょう。
Debian stretchベースに変わったので一から手順を見直しています。
ライブラリが足りないとパッケージを入れろとメッセージが表示されるので、何も入れない状態からメッセージが表示されたパッケージだけインストールしました。
まとめるとこれです。
サブモジュールを更新します。
環境設定ファイルを変更します。jessieと少し変わります。
その前にRASPBIAN STRETCHでは、pulseaudioは使われていません。pulseaudioをインストールします。
pulseaudioのソースをダウンロードします。バージョンは同じもの、10.0をダウンロードします。
login画面が出れば成功です。
Sessionはxorgを選択します。xorg以外では接続できないでしょう。
ログインに成功すればRASPBIANの画面が表示されるでしょう。
クリップボード、PCのドライブがリダイレクトされ使えるでしょう。
しかし、音は出ませんでした。
start-pulseaudio-x11としてもダメです。
pulseaudioのミキサーを入れたりしましたが関係ありませんでした。
結局、pulseaudioを再起動すると音が出ました。
リモートデスクトップを切断し、再度接続しても音は出ました。pulseaudioデーモンが最初おかしいようです。なんでだろう?
今のところxrdp v0.9.3.1決めうちになっています。体裁を今後整える予定です。
こちらで公開しておきます。
xrdp-builder-on-RASPBIAN-STRETCH / GitHub
前回日本語環境を整えたところからビルドした様子をビデオにしてみました。
関連記事:RASPBIAN STRETCH August 2017には日本語フォントが入っていないようです
レポジトリのパッケージを使えばxrdpでクリップボードとドライブのリダイレクトが使えます。
自分でビルドする理由がほぼ無くなりました。ですが最新バージョンを使ってみたいのでビルドしてみます。ビルドスクリプトも作ってみました。
ビルド手順はjessieの時とほとんど変わらないはずです。
しかしメジャーバージョンアップなので気づかない所が変わっているのかも・・・
関連記事:xrdp v0.9.2をRaspberry Pi 3でビルドする
最初からやってみましょう。
レポジトリの更新
まずは今回のバージョンの確認です。$ uname -a Linux raspberrypi 4.9.41-v7+ #1023 SMP Tue Aug 8 16:00:15 BST 2017 armv7l GNU/Linuxレポジトリ/パッケージを更新します。
sudo apt update sudo apt upgrade"apt-get"から"apt"へ変更しました。
Debian stretchベースに変わったので一から手順を見直しています。
Debian 管理者ハンドブックと書いてあるので今後はaptを使うようにしてみます。
6.2. aptitude、apt-get、apt コマンド
"最も推奨されるインターフェースは apt で、この節では apt を例に使います。apt のコマンドライン構文と apt-get や aptitude のコマンドライン構文はよく似ていることに注意してください。"
xrdpのビルド
必要なライブラリパッケージをインストールします。最初から入っているパッケージが異なるようです。以前インストールしていたlibjson0-devが存在しなくなっています。そもそもなぜ入れたのか忘れています。ライブラリが足りないとパッケージを入れろとメッセージが表示されるので、何も入れない状態からメッセージが表示されたパッケージだけインストールしました。
まとめるとこれです。
sudo apt install -y autoconf libtool libssl-dev libpam0g-dev libfuse-dev libmp3lame-dev libpixman-1-dev libx11-dev libxfixes-dev libxrandr-dev xserver-xorg-devソースはホームディレクトリ下の"Downloads"ディレクトリに置きます。
cd ~/Downloadsソースファイルをダウンロードします。
git clone https://github.com/neutrinolabs/xrdp.git
git clone https://github.com/neutrinolabs/xorgxrdp.git
xrdpのバージョンを確認します。cd xrdp git tag -lこの記事作成時ではv0.9.3.1が最新リリースにでした。
git checkout refs/tags/v0.9.3.1スマートフォンのリモートデスクトップから接続するためにサブモジュールを使います。
サブモジュールを更新します。
git submodule init
git submodule update
ビルド条件を設定します。./bootstrap ./configure --enable-fuse --enable-mp3lame --enable-pixmanビルドします。
sudo make -j4 sudo make install cd ..xorgxrdpをビルドします。
cd xorgxrdp sudo ./bootstrap sudo ./configure sudo make -j4 sudo make install cd ..fontutil.hのエラーは出なくなりました。
環境設定ファイルを変更します。jessieと少し変わります。
sudo sed -i.bak 's/^\(EnvironmentFile.*sysconfig.*\)/#\1/' /lib/systemd/system/xrdp.service sudo sed -i 's/^\(EnvironmentFile.*\)\(\/etc\/default\/xrdp\)/\1\/etc\/xrdp/' /lib/systemd/system/xrdp.service sudo sed -i.bak 's/^\(EnvironmentFile.*sysconfig.*\)/#\1/' /lib/systemd/system/xrdp-sesman.service sudo sed -i 's/^\(EnvironmentFile.*\)\(\/etc\/default\/xrdp\)/\1\/etc\/xrdp/' /lib/systemd/system/xrdp-sesman.serviceサービスを登録します。そして再起動します。
sudo systemctl daemon-reload sudo systemctl enable xrdp.service sudo systemctl start xrdp.service sudo reboot
pulseaudio sinkのビルド
xrdpで音を出す、サウンドをリダイレクトするにはpulseaudioのsinkモジュールをビルドします。その前にRASPBIAN STRETCHでは、pulseaudioは使われていません。pulseaudioをインストールします。
sudo apt install pulseaudiopulseaudioのバージョンを確認します。
$ pulseaudio --version pulseaudio 10.0バージョンは10.0となっていると思います。
pulseaudioのソースをダウンロードします。バージョンは同じもの、10.0をダウンロードします。
cd ~/Downloads wget https://freedesktop.org/software/pulseaudio/releases/pulseaudio-10.0.tar.gz tar -zxvf pulseaudio-10.0.tar.gz cd ~/Downloads/pulseaudio-10.0sinkモジュールをビルドします。
sudo apt install intltool libsndfile1-dev libspeex-dev libspeexdsp-dev libcap-dev
./configure cd ~/Downloads/xrdp/sesman/chansrv/pulse sed -i 's/PULSE_DIR = \/tmp\/pulseaudio-10.0/PULSE_DIR = \/home\/pi\/Downloads\/pulseaudio-10.0/g' Makefile sed -ie '/CFLAGS/s/fPIC$/fPIC -DXRDP_SOCKET_PATH=\"\/tmp\/.xrdp\"/g' Makefile sudo make sudo cp *.so /usr/lib/pulse-10.0/modules/ cd ~再起動します。
動作確認
再起動後、Windows PCのリモートデスクトップから接続します。login画面が出れば成功です。
Sessionはxorgを選択します。xorg以外では接続できないでしょう。
ログインに成功すればRASPBIANの画面が表示されるでしょう。
クリップボード、PCのドライブがリダイレクトされ使えるでしょう。
しかし、音は出ませんでした。
音が出ない時は
pulseaudioが動いていないのかと思ったのですが動いているようです。jessieの時の、start-pulseaudio-x11としてもダメです。
pulseaudioのミキサーを入れたりしましたが関係ありませんでした。
結局、pulseaudioを再起動すると音が出ました。
pulseaudio --kill pulseaudio --startと実行してください。これで音が出ると思います。
リモートデスクトップを切断し、再度接続しても音は出ました。pulseaudioデーモンが最初おかしいようです。なんでだろう?
xrdpビルドスクリプト
今回の手順をスクリプトにしてみました。今のところxrdp v0.9.3.1決めうちになっています。体裁を今後整える予定です。
こちらで公開しておきます。
xrdp-builder-on-RASPBIAN-STRETCH / GitHub
【追記:17/08/26:”v0.1”とタグを付けました。】
cd ~/Downloads git clone https://github.com/SignalFlagZ/xrdp-builder-on-RASPBIAN-STRETCH.git cd xrdp-builder-on-RASPBIAN-STRETCH/ ./xrdp-builder.sh
前回日本語環境を整えたところからビルドした様子をビデオにしてみました。
関連記事:RASPBIAN STRETCH August 2017には日本語フォントが入っていないようです
コメント
コメントを投稿