«前の日記(2013-03-25) 最新 次の日記(2013-04-03)» 編集

meta's blog - The Power To Serve

筆者について

FreeBSDを通じてOSSにささかな貢献を。

OSS活動をご支援いただける方を募集しています


2013-04-02 FreeRDP

net/freerdp を 0.8.2 から 1.0.2 へアップデート

Microsoft Remote Desktop Protocol のフリーな実装の net/freerdp を 0.8.2 から 1.0.2 にアップデートしました。主に net/xrdp で FreeRDP 1.0 系のライブラリを使いたかったというのが理由ですが。

FreeRDP 1.0.0 がリリースされて1年以上経っても FreeBSD では古いバージョンの 0.8.2 のままとなっていたので、 メンテナにアップデートをお願いしたものの一向にやってくれる気配がなく結局自分でやってしまいました。 ビルドシステムが GNU configure から CMake に変わっていて、単なるアップデートではなく新規に porting するのと変わらない くらい時間がかかりました。

完成していざ PR を出そうとしたところで、1.0.0 へのアップデートの PR が既にあるのを発見、そっちに合流して、 途中でメンテナの交代を挟んだものの最終的に無事にコミットしてもらいました。

いくつか問題が残っていて、古いバージョンの freerdp 0.8.2 がインストールされていると freerdp 1.0.2 がビルドできないというのがひとつ。このせいで portupgrade や portmaster で net/freerdp をアップデートすることができません。これは既にパッチを出してコミット待ちですが 8.4-RELEASE に向けての ports freeze に入ってしまったので修正されるのは 8.4-RELEASE の後になりそう。

もうひとつ、Remmina の RDP プラグイン net/remmina-plugin-rdp が FreeRDP の0系のライブラリに依存していたために、net/freerdp を1.0.2にアップデートした結果ビルドできなくなってしまいました。Remmina とそのプラグインも同時にアップデートする必要があったのを見落としてました。こちらは net/remmina, net/remmina-plugins を Remmina 1.0.0 ベースのものにアップデートする方向で取り組んでいます。

freebsd-ports@ メーリングリストでも結構つつかれていて申し訳ない…。

net/freerdp, net/remmina についてはメンテナじゃないのにメンテナのごとく働いています…。

rdesktop は捨てて FreeRDP (xfreerdp) に移行しよう

FreeRDP の FreeBSD port について取り上げたついでに。 rdesktop は捨てて FreeRDP (xfreerdp) に移行しましょう。

雑に比較するとこんな感じです。

rdesktop
Linux などの OS で使えるオープンソースの RDP クライアントの草分け、RDP 5.1 まで対応。
xfreerdp
rdesktop から fork し、後にスクラッチから書きなおされた RDP クライアント、RDP 7.1 まで対応。

FreeRDP は rdesktop から派生し、後にスクラッチから書きなおされ、現在は Apache Lisence Version 2.0 でライセンスされているオープンソースの Microsoft Remote Desktop Protocol の実装で、単なる RDP クライアントにとどまらずプロトコルそのものをオープンソースで実装することを目指しているプロジェクトの名称でもあります。

FreeRDP プロジェクトのクライアントのコマンド名が xfreerdpremmina というフロントエンドも同プロジェクトで開発されています。 Windows Server 2008 R2 で追加されたマルチモニタ対応に加え RemoteFX や RemoteApp, マルチメディアリダイレクションという機能が使えるので、特に rdesktop にこだわる理由がなければ xfreerdp や remmina に乗り換えることをおすすめします。rdesktop と xfreerdp ではほぼ同じコマンドラインオプションが使えるので、それほど違和感なく乗り換えられると思います。

現時点で MS-RDP は RDP 7.1 が最新ですが、FreeRDP は開発が活発なのでいずれ 8.0 にも対応するでしょう。

rdesktop が対応している Windows XP までの RDP 5.1 と Windows 7 / Server 2008 R2 の RDP 7.1 の違いについては以下の記事が詳しいので挙げておきます。