harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

CentOSへWindows7端末からリモートデスクトップする設定をしてみる(xrdp)

   


客先のシステムにCentOSで監視&シスログサーバーを立てたのだが
他の業務システムはWindows Serverばかりであることと、Linuxになじみがない環境のため
管理者へWindowsに近い操作性を提供するため、リモートデスクトップ環境をセットアップ。
あわせてxrdpのセッション管理にXvncを使うそうなので、VNCサーバーの環境も事前に設定する必要あり。

■参考サイト
お世話になっております!

本家サイト
http://www.xrdp.org/

CentOS 6.5 へリモートデスクトップ接続
http://cobitech.blogspot.jp/2014/01/centos-65.html

■作業した環境

今回はすでにXwindowsが導入されている環境を前提に整備。

  • OS
    CentOS6.5
  • xrdp
    0.5.0/RPM版(epelリポジトリ)
  • VNCサーバー
    tigervnc-server

■作業ログ

1)vncserverのインストールと設定

xrdpの実行にあたってvncserverの環境が必要となるので、まずVNC環境を整備。

1-1.インストール

# yum install tigervnc-server

1-2.初期設定

設定ファイル編集

設定ファイルは”/etc/sysconfig/vncservers”。
コメントアウトされている下記2行を有効にして
パラメーターを指定する。

# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"

VNCSERVERSで指定するユーザー名は既に登録しているUNIXアカウントを指定する。
今回は”USER”というアカウントを使ってみる。
リモートデスクトップ用にアカウントを作成する場合は、先にUNIXアカウントを作成すること。
VNCSERVERARGSは画面の解像度も指定できるので、任意の値に(1024×768)変更。
そのほかのパラメータも任意で変更。今回は解像度以外は変更なし。

設定例:

18,19c18,19
< # VNCSERVERS="2:myusername"
< # VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
> --- 		
> VNCSERVERS="2:USER"
> VNCSERVERARGS[2]="-geometry 1024x768 -nolisten tcp -localhost"

VNC用パスワード設定

UNIXアカウントとは別にパスワードを設定する。

# vncpasswd USER
Password:	←パスワード投入
Verify:		←パスワード再投入
#

起動

/etc/sysconfig/vncserversにて設定したユーザーへsuして起動。

# su - USER
$  /etc/init.d/vncserver start

ここまで済んだら、まずVNCクライアントからアクセスして動作確認をしてみる。

自動起動設定

# chkconfig vncserver on
# chkconfig --list vncserver
vncserver       0:off   1:off   2:on    3:on    4:on    5:on    6:off

2)xrdpのインストールと設定

今回はepelリポジトリで提供されている0.5.0を利用。
キーボードの定義ファイルを別途用意する必要がある様子。

インストール

epelの導入(まだ導入していない場合のみ)

# yum localinstall http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

xrdpと関連パッケージ

※今回の環境ではxvfbとkdebaseが必要になったので、指定してインストール。

# yum install --enablerepo=epel xrdp kdebase xorg-x11-server-Xvfb kdebase

起動

# /etc/init.d/xrdp start

ファイアーウォールの設定などがあれば、ポート3389を許可する。

自動起動設定

– 自動起動設定をonに。

# chkconfig xrdp on

– 設定を確認

# chkconfig --list xrdp
xrdp            0:off   1:off   2:on    3:on    4:on    5:on    6:off

3)キーボード設定の変更

xrdp-0.5は、日本語のキーボードレイアウトの定義ファイルを追加する必要があるとの情報があったので。
追加でダウンロード。
設定ファイルが置かれている”/etc/xrdp/”以下に置けばいい様子。

参考サイト:お世話になりました!
[Xrdp-devel] Keyboard issue and Japanese Keyboard Layout

上記のサイトで提供されているiniファイルを、さらにコピーして4つのファイルにする必要がある様子。

  • km-0411.ini
  • km-e0010411.ini ←提供されているファイル
  • km-e0200411.ini
  • km-e0210411.ini

– 定義ファイルをダウンロードして、/etc/xrdp/以下へ保存

# wget http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263/km-e0010411.ini -P "/etc/xrdp/"

– ダウンロード後、cpしてファイルを用意。

# cd /etc/xrdp/
# cp -p km-e0010411.ini km-0411.ini
# cp -p km-e0010411.ini km-e0200411.ini
# cp -p km-e0010411.ini km-e0210411.ini

ファイルを用意したのち、再度xrdpを起動。

# /etc/init.d/xrdp start

4)ログイン

以下、設定後にWindows端末からのログインをお試し。

1.リモートデスクトップログイン

Windows7のリモートデスクトップ、IPアドレスはダミーです

2.xrdpのログイン認証画面

xrdpのログイン認証画面

3.認証中のメッセージ

認証後にログが画面左上に出るので、確認します

4.ログインしました。

ログイン後の画面

と、こんな感じで。

5)備考

上記にて設定をおこなったのち、別のCentOS6.5のサーバーでtigervnc-serverをはじめ、Xwindow環境ががあらかじめインストールされている環境で試してみたところ、vnc周りの設定をせず(かつvncpasswdも設定せず)そのままリモートデスクトップができてしまった(あれれ?)

ちなみにパスワード認証はPAM認証でOKだったので、インストール時にあらかじめデスクトップ環境のパッケージを用意しておけば、xrdpのインストールとキーボード定義ファイルのダウンロードだけで、環境が出来上がってしまう??

サーバーの環境によっては簡単に整備できるということになるが、vncserverの設定はなんだったのか…うーむ。
また時間があるときに調べてみることに。

 - CentOS, GNU/Linux, network, 作業ログ