xrdpとは?
xrdpは、その名のとおりX Window Systemで動作するRDP(Remote Desktop Protocol)サーバーです。RDPサーバーはWindows 7を含む歴代WindowsのProfessional以上のエディションで使用できるので、ご存じの方も多いでしょう。Professional未満のエディションでは「リモート デスクトップ接続」というクライアントだけが搭載されています。
逆にいえば、xrdpがあれば「リモート デスクトップ接続」からUbuntuにアクセスすることができます。UbuntuにはデフォルトでVNCサーバーが搭載されていますが、これのクライアントはWindowsにはインストールされていないため、UltraVNCなどのクライアントを別途インストールする必要があります[1]。また、VNCは画面の転送にしか対応していませんが、RDPは音の転送も行えます。今回も軽くテストしてみましたが、問題なく再生できました。ほかにもVNCと比較してセキュアであること、画面の解像度や色数を指定できることなど、VNCよりも優れた点はたくさんあります[2]。
……と言及するといいことづくしのように見えますが、必ずしもそうでもありません。具体的に見ていきましょう。
インストール
xrdpは、少なくともUbuntu 8.04以降にはパッケージとして用意されていますが、日本語キーボードで使用する場合には不具合があるため、それを修正したパッケージを用意しました[3]。ベースも12.04に含まれる予定[4]のxrdp 0.5.0にしてあります。少なくとも筆者が検証した限りでは、キー入力に関しては1つを除いて問題を見つけることはできませんでした。パッケージは10.04と11.10用を用意しています。その理由は後述しますが、今後12.04用のパッケージも用意するつもりです[5]。
インストールの方法は次のとおりです。
インストールが完了すると自動的にデーモンが起動し、xrdpが使えるようになります。
動作環境
今回いくつか試しましたが、Ubuntu 10.04とXubuntu 11.10で正常に動作しました(Xubuntuのダウンロードはミラーサーバから行えます)。Ubuntu 11.10やLinux Mint 12では、ログインまでは成功するものの[6]ログイン後に表示されるデスクトップがまともに動作する状態になりません。いろいろと試してみましたが、時間内に解決することができませんでした[7]。xrdpを使用する場合は、問題はあるもののXubuntuの採用を検討するのがいいでしょう。11.10はともかく、12.04はLTSで長く使えるのでxrdpを使用したいということもあるかもしれませんが、おそらくUbuntu 12.04でも同じ結果になるはずです。そこでやはりXubuntu 12.04の採用を検討していただきたいのですが、XubuntuもUbuntuと同じく5年サポートのLTSになることがすでに発表されていますので、あまり抵抗はないのではないかと思います。
どうしてもUbuntuを使いたい方のために、10.04用のパッケージを用意しました。こちらも(今更いうまでもありませんが)LTSで、あと1年は使うことができます。さらに、今のところ特段不具合は見つかっていません。
RDPクライアント
実際に検証したRDPクライアントは、Ubuntu 11.04の「ターミナルサーバクライアント」(tsclient)、11.10の「リモートデスクトップビューアー」(vinagre)、Windows 7 Professionalの「リモート デスクトップ接続」の3つですが、どれも接続することができました。ただし、「リモートデスクトップビューアー」はRDPのウリである細かな設定が全くできず、かつ「ターミナルサーバクライアント」はアーカイブから削除されているので使用することができません。
よって、コマンドベースではありますが”freerdp-x11”パッケージをインストールし、実行するのがいいでしょう。次の例を参考にしてください。
- xfreerdp…コマンドに続けてホスト名、必要によって:の後ろにポート番号をつける(デフォルトの3389の場合は省略できる)
- -u…ログインするユーザー名
- -p…パスワード
- -g…解像度。1024x768の場合は省略できる
- -a…色深度。8, 15, 16, 24, 32が選択できる。16ないし24が妥当
- -k…キーボードの形式。日本語の場合はjp
より詳しい説明が必要な場合は、-hオプションをつけて実行するとヘルプが表示されます。
UbuntuなどAvahiデーモンが動いている場合は、IPアドレスを入力する代わりにホスト名.localでも接続できます。Windowsでは、詳しい解説はしませんがBonjourを使用すると同様の方法で接続できるようになります。先の例ではこのような感じです。
注意点
XubuntuにはXubuntuセッションとXfceセッションがありますが、Xfceセッションでしか使用できません。また、XubuntuではTabキーが正しく使用できませんでした。
修正方法はわりと簡単で、ホームフォルダにある.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xmlの
を次のとおりに変更し、xrdpデーモンを再起動してログインするだけです。
さらに根本的な問題として、少なくとも国内ではあまり使用されていないように思います。よって筆者もいちおうひと通りの動作は確認したものの、ほかに気づいていない不具合がある可能性もあります。