CentOS7でリモートデスクトップクライアント rdesktopを使う方法

CentOS7からWindowsマシンのリモートデスクトップを利用しようと思って、調べてみました。リモートデスクトップは、RDP ( Remote Desktop Protocol ) で接続します。事前に Windows 側でリモートデスクトップ接続の許可をしておく必要があります。また、Windowsの方はProfessional版などのリモートデスクトップを提供する機能を持つバージョンが必要です。リモートデスクトップクライアントは、どのWindowsエディションでも使うことができます。

最初、KRDCで良いと思っていたのですが、1度接続してから解除すると2回目から接続ができなくなってしまう現象に出会って、とりあえず使うのをあきらめました。xfreerdpコマンドが使われているようですが、オプションの指定が良くないようです。

次に、メニューのインターネット – リモートビューアー(実体は remote-viewer コマンド)を使ってみたのですが、こちらはspiceを使っていて、rdpは使えないようでした。KVMやVirtualBoxなどのゲスト仮想マシンとしてWindowsマシンを用意している場合は、これでも良さそうですが、普通のWindowsマシンでは使えなさそうです(よく調べてませんが)。192.168.0.100が接続先のマシン(リモートデスクトップ機能を提供するマシン)

$ remote-viewer spice://192.168.0.100:5903 &

次に、xfreerdpコマンドを使ってみました。「-g 80%」は画面のサイズを指定するときのオプションです。一応、うまく動いたのですが、日本語キーボードがうまく動きません…

$ xfreerdp -g 80% 192.168.0.100

調べたところ「-k jp」をオプションにつければ良いようなのですが、手元では認識してくれずに英語キーボードのレイアウトになってしまいました。調べてみたところ、仮に認識してもxfreerdpが1.0.2だと「|」などが入力できないバグがあるということでした(「xfreerdpでwindowsに繋いだ時のキーボードの挙動 | 新々連打メモ」)。1.1以降なら直っているようなので、そちらをソースコードからコンパイルしてインストールすれば良いような気もしたのですが、必要なライブラリでffmpeg-devがあったり、コンパイル手順が複雑そうだったので、やめることにしました。

結局、「rdesktop: A Remote Desktop Protocol Client」で提供されているrdesktopが楽かなぁ、ということで、そちらをインストールすることに。以前はパッケージがあったはずなのですが、見つからなかったので、ソースコードをコンパイルすることにしました。ソースコードは「Release rdesktop v1.8.3 · rdesktop/rdesktop · GitHub」から入手できます。

手順は下記。configure時のオプションは好きにつけてください。configure.acファイルがあるので、最初にautoconfコマンドでconfigureファイルの生成が必要です。READMEには、この説明がありませんでした。もしエラーがでる場合は、必要そうなライブラリ(xxxx-devといった名前のパッケージに含まれるものが多いでしょう)をyumでインストールするといいはずです。いまどきだと、開発のパッケージを入れたCentOS7を仮想マシンで1つ用意しておくのがお薦めです。

$ tar xf ~/Downloads/rdesktop-1.8.3.tar.gz 
$ cd rdesktop-1.8.3
$ autoconf
$ ./configure --disable-credssp --disable-smartcard --prefix=${HOME}/applications/rdesktop
$ make
$ make install

これでインストールができたら、実行するだけです。ただ、ここでもキーボード指定のオプション「-k ja」で問題がありました。VirtualBoxをインストールしているマシンでは、キーマップファイルが見つかるのですが、そうでない場合は見つからずに日本語キーボードが使えませんでした。

$ ${HOME}/applications/rdesktop/bin/rdesktop -k ja -g 80% 192.168.0.100

キーマップファイルはrdesktopに含まれていて、${HOME}/applications/rdesktop/share/keymaps にあります。これを${HOME}/.rdesktop/keymapsへコピーすることで対応できました。

$ mkdir ${HOME}/.rdesktop/
$ cp -r ${HOME}/applications/rdesktop/share/keymaps ${HOME}/.rdesktop/

CentOS7に興味があるなら、こちらの書籍も参考になるかもしれません

同じタグの記事: CentOS7
同じタグの記事: rdesktop
同じカテゴリの記事: Linux