xrdp

コンピュータ関連のことを、出来る時に、出来ることだけ。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
metaさんより、CVSではなくgitからソースを取得すれば、ソースコードの書き換えが不要とのコメントをいただきましたので、早速(といっても半月経ちましたが・・・)試してみます。

あと、OSインストール時の情報と必要なパッケージについて、前回より詳しく書きます。

(1)OSのインストール
CentOS5.5をインストールします。
構成は以下のとおり。VMWareServer2.0上の仮想マシンにインストールしました。
記述している箇所以外はデフォルトです。

HDD:8GB
パーティション:
 (デフォルト構成)
 /boot 101MB /dev/sda1
 /VolGroup00 8887MB /dev/sda2
 / 7040MB LogVol00
 /swap 1024MB LogVol01

UTC:使用しない

パッケージ:カスタマイズ
 デスクトップ環境
 GNOME デスクトップ環境 →チェックをはずす
 KDE ( K デスクトップ環境) →チェックをつける
 その他は変更なし

xrdpのスクリプト等を見ていると、デスクトップ環境はGNOMEではなくKDEを想定しているように見えるので、KDEにしました。

参考までにキックスタートファイルをアップしておきます。


(2)gitの導入
以下のサイトを参照させていただきました。

irusu::備忘録 - さくらのVPS 980にyumでgitをインストール

・rpmforgeのyumリポジトリを使用してgitをインストール
※wgetでダウンロードするパッケージは環境に合わせて変更。事前にhttp://packages.sw.be/rpmforge-release/で確認。
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
rpm -Uvh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
rm rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
sed -i 's/enabled = 1/enabled = 0/g' /etc/yum.repos.d/rpmforge.repo
yum -y --enablerepo=rpmforge install git


(2)ソースコードの入手
ここに記述されている通りに、xrdpのソースコードを取得します。

git clone git://xrdp.git.sourceforge.net/gitroot/xrdp/xrdp


(3)必須パッケージの導入
bootstrapとconfigureを実行した際に、必要と通知されるパッケージをインストールします。
yum -y install autoconf
yum -y install automake
yum -y install libtool
yum -y install gcc
yum -y install openssl-devel
yum -y install pam-devel
yum -y install libX11-devel
yum -y install libXfixes-devel


(4)xrdpの設定・コンパイル・インストール
./bootstrap
./configure
make
make install


(5)キーマップファイルの作成
・GUI環境で仮想コンソールを起動し、キーマップを作成
/usr/local/bin/xrdp-genkeymap /etc/xrdp/km-0411.ini

・リンクファイルを作成
ln -s km-0411.ini km-e0200411.ini
ln -s km-0411.ini km-e0210411.ini
ln -s km-0411.ini km-e0010411.ini


(6)OSをリブート
このままxrdpを起動するとログインできなかったため、一旦OSをリブートしました。

(7)ファイアウォールの設定
こちらの「3.iptablesの設定」と同様に、FW(iptables)にリモートデスクトップの接続を許可する設定を追加します。

(8)xrdpを起動
/etc/xrdp/xrdp.sh start



これで完了。日本語表示もうまくいっています。
デスクトップ(KDE)


ただ、Ctrl + Spaceでは日本語入力機能を起動できませんでした(コンソールからなら可能)。バックスラッシュが利かないのも解消していないので、次回はその辺をなんとかします。

参考サイト
  • irusu::備忘録 - さくらのVPS 980にyumでgitをインストール


  • スポンサーサイト
    今、複数ユーザ(500人程度)が使用するターミナルサービス環境を検討してるんですが、MSのターミナルサービスを使おうとするとライセンス費用(TS-CAL)が結構大変なことになることが判明・・

    対抗案として、オープンソースでターミナルサーバを作れないかと探してみると、「xrdp」が良さそうだったので試してみます。

    手順に関しては、こちらのブログエントリを参考に、というかほぼそのまま実行しました。
    Linuxで複数ユーザで使えるリモートデスクトップ環境を作る
    xrdp 0.5.0 (cvsベース)

    環境はVMWareServer2.0上のCentOS5.5です。
    OSインストール時にgnomeデスクトップ環境をオプションパッケージはデフォルトのままインストールしています。

    意味は後から考えればよいかと思いまして、参照させていただいたブログの手順どおりに実施しました。

    (1)cvsリポジトリから最新版のソースコードを入手します。2011/3/6時点で0.6.0が入手できました。
    # mkdir xrdp
    # cd xrdp
    # cvs -d:pserver:anonymous@xrdp.cvs.sourceforge.net:/cvsroot/xrdp login
    ※パスワードは無しでOKです。
    # cvs -z3 -d:pserver:anonymous@xrdp.cvs.sourceforge.net:/cvsroot/xrdp co .

    (2)ファイルを修正します。
    # cd xrdp
    # vi xrdp/lang.c
    if ((code >= 0) && (code < 128))
    ↓変更
    if ((code >= 0) && (code < 135))

    # vi xrdp/xrdp_types.h
    struct xrdp_key_info keys_noshift[128];
    struct xrdp_key_info keys_shift[128];
    struct xrdp_key_info keys_altgr[128];
    struct xrdp_key_info keys_capslock[128];
    struct xrdp_key_info keys_shiftcapslock[128];
    ↓変更
    struct xrdp_key_info keys_noshift[135];
    struct xrdp_key_info keys_shift[135];
    struct xrdp_key_info keys_altgr[135];
    struct xrdp_key_info keys_capslock[135];
    struct xrdp_key_info keys_shiftcapslock[135];

    ※128をすべて135に変更します。

    (3)コンパイルしてインストールします。
    # ./bootstrap
    # ./configure

    configure実行時にパッケージが足りないというメッセージが出てきたので、指定されたパッケージを追加
    # yum -y install libX11-devel
    # yum -y install libXfixes-devel

    再度configure後、make → make install
    # make
    # make install

    (4)キーマップを作成します。GUI上の端末で実行します。
    # /usr/local/bin/xrdp-genkeymap /etc/xrdp/km-0411.ini

    キーマップのシンボリックリンクを作成します。
    # cd /etc/xrdp/
    # ln -s km-0411.ini km-e0200411.ini
    # ln -s km-0411.ini km-e0210411.ini
    # ln -s km-0411.ini km-e0010411.ini
    ここも意味は理解していませんが、これをやらないとキーボードが利きませんでした。

    (5)起動します。
    # /etc/xrdp/xrdp.sh start

    (6)接続
    リモートデスクトップクライアントを起動し、xrdpを起動したサーバのIPアドレスに接続すると、以下ログイン画面が表示されます。
    Posts22_01

    普通にユーザー名とパスワードでログインできました。
    Posts22_02

    Posts22_03

    取り急ぎやってみましたが、問題なく動いています。というか、サクサク動いて快適です。

    現時点で判明している問題点は以下2点
    ・英語表記になっている
    ・バックスラッシュキーが利かない

    あと、恥ずかしながら手順の途中でのソースコード修正の意味がまったく分かってません(笑)

    今後の課題は以下のとおり
    ・上記問題点の解決
    ・日本語入力環境を整える
    ・1接続あたりの必要帯域を算出する
    ・ロードバランシング環境で動かしてみる
     ※500ユーザは1サーバではさばけないと思うので・・
    ・ActiveDirectoryで認証させる

    道は長そうです・・・

     | Copyright © ふたごパパのサーバ構築日記 All rights reserved. | 

     / Template by 無料ブログ テンプレート カスタマイズ
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。