Ubuntu Weekly Recipe

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

この記事を読むのに必要な時間:およそ 2 分

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)。

……と言及するといいことづくしのように見えますが,必ずしもそうでもありません。具体的に見ていきましょう。

注1
UltraVNCにはVNCサーバー機能もあります。
注2
VNCにはいろいろな実装があるので,これらの弱点を克服しているものもあります。

インストール

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が使えるようになります。

注3
あくまで筆者はパッケージを用意しただけであって,不具合の修正などは行っておりません。詳しくはパッケージに含まれるchangelog.Debian.gzをお読みください。
注4
含まれない可能性があるという意味ではなく,今後もっと新しいバージョンに差し変わる可能性があるという意味です。
注5
よって,4月以降も参考になる記事になるはずです。

動作環境

今回いくつか試しましたが,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年は使うことができます。さらに,今のところ特段不具合は見つかっていません。

注6
すなわちxrdpは正常に動作しています。
注7
全くできないかと云われるとそうでもない方法はありますが,正直なところ素直にXubuntuを使うのがいいと思うのであえて紹介しません。

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"/>

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

著者プロフィール

あわしろいくや

Ubuntu Japanese Teamメンバーで,主として日本語入力関連を担当する。特定非営利活動法人OpenOffice.org日本ユーザー会。LibreOffice日本語チーム。ほか,原稿執筆も少々。

コメント

コメントの記入