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に興味があるなら、こちらの書籍も参考になるかもしれません