Ubuntu Weekly Recipe

第208回Ubuntu 10.04/Xubuntu 11.10でxrdpを使用する

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]⁠。

インストールの方法は次のとおりです。

$ sudo add-apt-repository  ppa:ikuya-fruitsbasket/xrdp
$ sudo apt-get update
$ sudo apt-get install xrdp

インストールが完了すると自動的にデーモンが起動し、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 192.168.11.22 -u ikuya -p password -a 24 -k jp
  • xfreerdp…コマンドに続けてホスト名、必要によって:の後ろにポート番号をつける(デフォルトの3389の場合は省略できる)
  • -u…ログインするユーザー名
  • -p…パスワード
  • -g…解像度。1024x768の場合は省略できる
  • -a…色深度。8, 15, 16, 24, 32が選択できる。16ないし24が妥当
  • -k…キーボードの形式。日本語の場合はjp

より詳しい説明が必要な場合は、-hオプションをつけて実行するとヘルプが表示されます。

UbuntuなどAvahiデーモンが動いている場合は、IPアドレスを入力する代わりにホスト名.localでも接続できます。Windowsでは、詳しい解説はしませんがBonjourを使用すると同様の方法で接続できるようになります。先の例ではこのような感じです。

$  xfreerdp xubuntuoneiric.local -u ikuya -p password -a 24 -k jp
図1 Windows 7の「リモート デスクトップ接続」でXubuntu 11.10に接続しているところ
図1 Windows 7の「リモート デスクトップ接続」でXubuntu 11.10に接続しているところ
図2 Ubuntu 11.10に freerdp-x11パッケージをインストールし、接続しているところ
図2 Ubuntu 11.10に freerdp-x11パッケージをインストールし、接続しているところ
図3 Ubuntu 11.04の「ターミナルサーバクライアント」でUbuntu 10.04に接続しているところ
図3 Ubuntu 11.04の「ターミナルサーバクライアント」でUbuntu 10.04に接続しているところ

注意点

XubuntuにはXubuntuセッションとXfceセッションがありますが、Xfceセッションでしか使用できません。また、XubuntuではTabキーが正しく使用できませんでした。

修正方法はわりと簡単で、ホームフォルダにある.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xmlの

<property name="<Super>Tab" type="string" value="switch_window_key"/>

を次のとおりに変更し、xrdpデーモンを再起動してログインするだけです。

<property name="<Super>Tab" type="empty"/>

さらに根本的な問題として、少なくとも国内ではあまり使用されていないように思います。よって筆者もいちおうひと通りの動作は確認したものの、ほかに気づいていない不具合がある可能性もあります。

おすすめ記事

記事・ニュース一覧