FreeRDP - プリンターのリダイレクト
Windows7 を稼働させるにはスペック不足の PC を再利用するため、 水銀室 Linuxで作るUSBブートのXenAppクライアント を参考にして RDP クライアントを作ろうとしている。 (リンク先の記事では XenApp だが、ここでは Windows 2012 の Remote Desktop Services に 接続することを考える)
要件
最初は、remmina を使用したが、プリンターのリダイレクトが Windows 2012 への接続ではできなかった。 (Windows 2008 の場合は OK だったが...) そのため、FreeRDP を試してみたが、Ubuntu の apt-get でインストールされるバイナリー(1.0系)では 同じくリダイレクトは行えなかった。 そこで、開発元のページより、より新しいバージョンのソースコードをダウンロードして ビルドすることにした。
ビルド
cmake
master ブランチ の場合
cmake -DCMAKE_BUILD_TYPE=Debug -DCHANNEL_PRINTER=ON -DWITH_SSE2=ON -DMONOLITHIC_BUILD=ON -DBUILD_SHARED_LIBS=OFF -DWITH_CUPS=ON .
stable-1.1 ブランチの場合
cmake -DCMAKE_BUILD_TYPE=Debug -DCHANNEL_PRINTER=ON -DWITH_SSE2=ON -DMONOLITHIC_BUILD=ON -DBUILD_SHARED_LIBS=OFF -DWITH_CUPS=ON .
実行
./xfreerdp -sec-nla /v:xx.xx.xx.xx /kbd:Japanese +fonts +menu-anims +clipboard +window-drag +aero +decorations /printer
とりあえずいろいろ試して上記で Windows 2012 でもプリンターのリダイレクトができた。 何故 -DMONOLITHIC_BUILD=ON -DBUILD_SHARED_LIBS=OFF が必要なのかはわかっていない。 (共有ライブラリを使用するようビルドすると、実行時に printer-client.so が無い旨のエラーが出る)