Asial Blog

Recruit! Asialで一緒に働きませんか?

XRDPでLinuxをRDPサーバーにする

カテゴリ :
バックエンド(インフラ)
タグ :
Tech
Debian
XRDP
リモートデスクトップ
rdesktop
Linuxで遠隔操作と言えば、sshでコンソールにつないで作業が普通ですね。
64kbpsでも割と快適に操作でき、信頼性も高いツールです。
WebサーバーやDBサーバー用途などでは不便なことは有りませんが、クライアント用途となるとGUIで遠隔操作出来ないと辛い場面が有ります。
(Gimpを操作とか、ローカルの画像を確認など)

もちろん、X11をネットワーク経由で使うのがシンプルですが、
ネットワークが100Mでつながっているならともかく、細い帯域の場合は非常に重い。
前に自宅PCからThunderbirdをX11-forwardしたところ、メールの一覧を描画するのに1分くらいかかったことが(ry
あと、vncはそれに比べればマシですが、それでも遅い。

その点、WindowsのRDP(リモートデスクトップのプロトコル)は早い。
光100Mでつながっていれば、ほぼローカルにかと思えるほど早い。
社内でも、LinuxクライアントからXen上のWindowsに接続してMS-Officeなど触っていますが、非常に快適です。
M$頑張りすぎ。

クライアントのrdesktopがあるのだから、サーバーも無いかと思いググってみると、ありました。
その名も XRDP。

とりあえず入れて使ってみたので、以下その手順を書いておきます。

1・インストール

$ sudo apt-get install xrdp

以上。

2・ユーザーの追加

XRDPを使うユーザーはxrdpグループに登録する必要があるので、
/etc/group

(省略)
xrdp:x:113:hogeuser

のように、groupに追加してください。

3・サービス起動

$ sudo /etc/init.d/xrdp start

(Debianなので起動しているとはおもいますが念のため)

4・クライアントから接続

$ rdesktop 172.16.10.100 -a 16 -g 1200x1600 -k ja -K

こんな感じ
ちなみに、オプションですが、

172.16.10.100 xrdpを起動したサーバーのIP
-a 16 色深度16bit(8か16しか受付ないようです)
-g 1200x166 解像度
-k ja キーボードのタイプを日本語に
        (したはずですが、効かないようです)
-K キー入力を完全にフックさせない

この状態で実行すると、ログイン画面が表示されるので、

Moduleはsessman-Xvncを選択し、
ユーザー名とパスワードを入力すれば、ログイン出来ます。

4・使用感

VNCより高速に感じます。
試しにyoutubeで適当な動画を再生してみたところ、コマ落ちはしますがなんとか見られるレベルです。
(VNCだと反応がなくなる・・・)

あとは、音の転送が出来ればなお良しですが、-r sound を追加しても音が出ない。
同じオプションでwindows機に繋ぐと音は出るのでサーバー側の問題。
(内部はVNC使っているからしょうがない?)

もしかしたら、その辺りうまい方法が有るかもしれないので、引き続き調査します。


余談
そういえば、音声転送が出来たら、iPadにRDPクライアント入れてゲームが出来そうです。

それか、windowsで同じ事すればできますね。
だが断る。

まあ、どちらにろ、3G回線の場合は使い物にならないとは思いますのでWifi限定で。