meta‘s blog
2014-09-18 xrdpでオーディオリダイレクト可能なデスクトップ環境を構築する
■ xrdp でオーディオリダイレクト可能なデスクトップ環境を構築する (Xbuntu 14.04.1)
Ubuntu 16.10 にあわせた改訂版の記事を書きました。こちらも参照してください。
環境
- Linux ディストリビューション
- Xubuntu 14.04.1
- xrdp
- xrdp 0.9.0 beta (devel branch 316445c)
xrdp は開発版ブランチのコミット 316445c を使用しました。
今回は Xubuntu を使用しましたが、Ubuntu でもほぼ同じ手順でいけると思います。バージョンは 14.04.1 ですが、現時点での最新版の 14.10 でも基本的には同じです。
xrdp のインストール
まずは xrdp & x11rdp を X11RDP-o-Matic を使ってインストールします。
$ cd $ git clone https://github.com/scarygliders/X11RDP-o-Matic.git $ cd X11RDP-o-Matic $ sudo ./X11RDP-o-Matic.sh --justdoit --withsound --withjpeg --branch devel
PulseAudio モジュールのビルド&インストール
xrdp のソースの中に含まれる pulse-notes.ubuntu.txt をベースにモジュールをインストールします。
dpkg-dev パッケージがインストールされていない場合は、あらかじめインストールしておきます。
$ sudo apt-get install dpkg-dev
PulseAudio のソースをダウンロードします。
$ cd /tmp $ apt-get source pulseaudio
PulseAudio に依存するパッケージをインストールします。
$ sudo apt-get build-dep pulseaudio
PulseAudio をビルドします。
$ cd pulseaudio-4.0 $ dpkg-buildpackage -rfakeroot -uc -b
xrdp の PulseAudio モジュールをビルドします。これには xrdp のソースコードが必要ですが、このページの手順にしたがって xrdp をインストールした場合は ~/X11RDP-o-Matic/xrdp 以下にソースコードが存在するので、これを使います。
pulse モジュールのディレクトリに入ります。
$ cd ~/X11RDP-o-Matic/xrdp/sesman/chansrv/pulse
Makefile の PULSE_DIR の部分を、先ほどの pulseaudio-4.0 の場所を指すように書き換えます。差分はこのようになります。
diff --git a/sesman/chansrv/pulse/Makefile b/sesman/chansrv/pulse/Makefile index da1a89a..59809f9 100644 --- a/sesman/chansrv/pulse/Makefile +++ b/sesman/chansrv/pulse/Makefile @@ -2,7 +2,7 @@ # build xrdp pulseaudio modules # -PULSE_DIR = /home/lk/pulseaudio-1.1 +PULSE_DIR = /tmp/pulseaudio-4.0 CFLAGS = -Wall -O2 -I$(PULSE_DIR) -I$(PULSE_DIR)/src -DHAVE_CONFIG_H -fPIC all: module-xrdp-sink.so module-xrdp-source.so
Makefile を書き換えたら make します。
$ make
make が終わると module-xrdp-sink.so, module-xrdp-source.so という2つのファイルができているので、これを /usr/lib/pulse-4.0/modules 以下にコピーします。
$ sudo cp module-xrdp-sink.so module-xrdp-source.so /usr/lib/pulse-4.0/modules/
これで終わりです。pulse-notes.ubuntu.txt に書かれている情報は少し古いので、316445c では /etc/pulse/default.pa の編集は不要です。
リモートデスクトップ接続して音を出してみる
ここまで来たら、あとは xrdp にリモートデスクトップで接続するだけです。
xrdp のデーモンを立ち上げておきます。
$ sudo service xrdp start
Windows のリモートデスクトップクライアントで接続し radiko などにアクセスして音を出してみると、リモートデスクトップ経由で音声が転送されて、クライアント側で音声が鳴っているのを確認できると思います。