読者です 読者をやめる 読者になる 読者になる

CentOS 6.3のxrdp 0.5.0で、日本語キーボードを使う(\,_,| 完全動作版)

CentOS xrdp リモートデスクトップ Linux

Cent OS の Gnome デスクトップで動作する GUI アプリケーションに Windows からアクセスする必要がありまして… vnc で接続しても良いのですが、セキュリティ上追加アプリケーションがインストールできない Windows 環境でもリモートデスクトップは標準で入ってますよね。RDP で接続出来たら設定要らずだし、速いし、セキュリティも高いし、嬉しいじゃないですか。ということでこんにちは。あぴゃーです。

設定にあたり、色々とググってみましたが、RedHat 系の OS で情報が纏まってるエントリーが無かったので、今日は VMware 上の Cent OS 6.3 に xrdp をインストールし、Windows のリモートデスクトップで接続し、日本語入力をできるようにするまでを備忘録として残します。

 

下準備から xrdp のインストールまで

以下をインストール、設定します。

  • Xvnc (Cent OS では tigervnc が該当します。xrdp.org にあるように、xrdp は X のセッションを管理するために Xvnc または X11rdp を使用します。)
  • EPEL (yum で xrdp をインストールしたいので)

Xvnc (tigervnc) のインストール、設定

Xvnc がインストールされていなければ、インストールします。

# yum install tigervnc*

Xvnc にはユーザーとパスワードが必要ですので、

# vi /etc/sysconfig/vncservers

のファイルを以下のようにコメントアウトして編集し、ユーザー設定を行い、

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

上記で指定したユーザー(ここでは USERNAME)でログインして

[USERNAME@localhost ~] $ /usr/bin/vncpasswd

とパスワードを設定します。その後、#service vncserver start で起動。

なお、ここで僕の環境では問題発生。詳しくは 下の方 をご覧ください。

EPEL のインストール、設定

EPEL は fedora wiki によると「エンタープライズ Linux 用の拡張パッケージ(EPEL) は、 Red Hat Enterprise Linux (RHEL) 向けの高品質なアドオンパッケージであり、CentOS や Scientific Linux (SL) のような RHEL からスピンオフしたディストリビューションと互換性のある、Fedora プロジェクトで有志によって作成されたパッケージになります。」とのこと。

Dependency をチェックしてくれる yum でインストールしたいので、xrdp がレポジトリに追加されている EPEL を使用します。以下で RHEL6 用のパッケージをインストールします。

# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm を取得中
警告: /var/tmp/rpm-tmp.WT0pEB: ヘッダ V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
準備中...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

EPEL 日本語ページ は少し情報が古かったので 英語ページ から rpm の情報を参照しました。)

xrdp のインストール

yum でインストールするだけで、設定は不要です。

# yum --enablerepo=epel -y install xrdp
Loaded plugins: downloadonly, fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
epel/metalink                                                           | 4.5 kB     00:00    
* base: ftp.iij.ad.jp
* epel: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
epel                                                                    | 4.2 kB     00:00    
epel/primary_db                                                         | 5.0 MB     00:00    
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package xrdp.x86_64 0:0.5.0-0.13.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================
Package            Arch                 Version                      Repository          Size
===============================================================================================
Installing:
xrdp               x86_64               0.5.0-0.13.el6               epel               240 k

Transaction Summary
===============================================================================================
Install       1 Package(s)

Total download size: 240 k
Installed size: 1.5 M
Downloading Packages:
xrdp-0.5.0-0.13.el6.x86_64.rpm                                          | 240 kB     00:00    
警告: rpmts_HdrFromFdno: ヘッダ V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
Userid : EPEL (6) <epel@fedoraproject.org>
Package: epel-release-6-8.noarch (installed)
From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : xrdp-0.5.0-0.13.el6.x86_64                                                  1/1
  Verifying  : xrdp-0.5.0-0.13.el6.x86_64                                                  1/1

Installed:
  xrdp.x86_64 0:0.5.0-0.13.el6                                                                

Complete!

# service xrdp start xrdp を起動中: [ OK ] xrdp-sesman を起動中: [ OK ]

 

これで準備は整いました!

 

Windows 環境からリモートデスクトップで接続します。

接続後、一度リモートデスクトップが落ちたり、ログインエラーになることがあるようですが、繰り返し接続を試みれば、ログインは出来たのではないでしょうか?出来た方はおめでとうございます!引き続き、日本語キーボードの設定を行いましょう。

 

日本語キーボードの設定

いくつかググった中では、先人の皆さんも苦労されているようでした。

 この最後のサイトに日本語キーボード用のキーマップファイルが置いてありますので、ページ下部の km-e0010411.ini をダウンロードします。原理は不明ですが、/etc/xrdp/ ディレクトリに以下の 4つのファイル(中身は同じ)が必要なようですので、ダウンロードした km-e0010441.ini を以下の 4つに名前を変えてコピーします。

  • km-0411.ini
  • km-e0010411.ini
  • km-e0200411.ini
  • km-e0210411.ini

これで日本語キーボードが使えるようになるはずです。

# service vncserver restart
# service xrdp restart

どうでしょうか?日本語入力もばっちりですね!

f:id:tubapr:20130417163612p:plain

 

以上です。見ていただきありがとうございます。 

 

以下、僕がはまったエラーも残しておきます。

Xvnc の設定をしないで xrdp をインストール起動しても、[error: problem connecting]  のエラーが出て接続できない。

f:id:tubapr:20130417160320p:plain

/var/log/xrdp-sesman.log を見て、

[INFO ] scp thread on sck 7 started successfully
[INFO ] ++ created session (access granted): username xlsoftkk, ip 192.168.xxx.xxx:49169 - socket: 10
[INFO ] starting Xvnc session...
[ERROR] X server for display 10 startup timeout
[INFO ] starting xrdp-sessvc - xpid=1072 - wmpid=1071
[ERROR] X server for display 10 startup timeout
[ERROR] another Xserver is already active on display 10
[DEBUG] aborting connection...
[INFO ] ++ terminated session:  username USERNAME, display :10.0, session_pid 1070, ip 192.168.xxx.xxx:49169 - socket: 10

とあるので、まずは Xvnc の設定かしら?と起動してみたところ、以下のエラーが…

# service vncserver start
VNC サーバー を起動中: no displays configured              [失敗]

Xvnc の設定をしなければいけないようで、Xvnc (tigervnc) のインストール、設定 の設定を行い、再度起動したところ、今度は以下のエラーが…

# service vncserver start
VNC サーバー を起動中: 2:USERNAME
WARNING: The first attempt to start Xvnc failed, possibly because the font
catalog is not properly configured.  Attempting to determine an appropriate
font path for this system and restart Xvnc using that font path ...
Could not start Xvnc.

/usr/bin/Xvnc: symbol lookup error: /usr/bin/Xvnc: undefined symbol: pixman_composite_trapezoids
/usr/bin/Xvnc: symbol lookup error: /usr/bin/Xvnc: undefined symbol: pixman_composite_trapezoids

                                                           [失敗] 

いくつかインストールされていないパッケージがあったようです。そのため、以下で追加パッケージをインストール

# yum install pixman
# yum install libXfont

その後問題なく起動できました。

# service vncserver start
VNC サーバー を起動中: 2:USERNAME
New 'localhost.localdomain:2 (USERNAME)' desktop is localhost.localdomain:2

Creating default startup script /home/USERNAME/.vnc/xstartup
Starting applications specified in /home/USERNAME/.vnc/xstartup
Log file is /home/USERNAME/.vnc/localhost.localdomain:2.log

                                                           [  OK  ]

ちゃんと Xvnc も勉強しとけよ。ってことですね(´;ω;`)