フリーのopenThinClientでシンクライアント環境を構築する

openthinclient_thm.png

 シンクライアントの利用は、ハードウェアコストの削減、ストレージ機器の排除によるセキュリティ向上、あらゆる設定をサーバへ集中保存することによる管理の容易化につながる。この分野ではCitrixが優れたソリューションを提供し、同社のCitrix Presentation Serverが普及しているが、この製品の価格は高めで、クライアント5台の同時接続で約1000ドル、以降はクライアント1台の追加につき200~300ドルかかる。だが、そんなにコストをかけなくてもシンクライアントを導入する方法がある。オープンソースのシンクライアントサーバ openThinClient なら、完全に無料で使えるのだ。

 GPLv2の下で提供されているopenThinClientは、Ubuntu Serverをベースとして、Javaで書かれた中規模ないし大規模組織向けのサーバコンポーネントおよび管理システムを利用している。クライアント側はPXE(Preboot Execution Environment)ブートが可能なディスクレスマシンさえあれば実行できるため、最新のデスクトップオペレーティングシステムを実行するには非力な古いコンピュータも活用することができる。

 openThinClientは、独自のLDAP(Lightweight Directory Access Protocol)リポジトリまたは外部のActive Directoryディレクトリサービスを使って、クライアントの設定を保存する。サーバおよび管理コンポーネントはJavaベースなので、Java Standard Edition 6バージョン1.6以降がサポートされていればどんなプラットフォームでも動作する。プロトコルとしては、DHCP(Dynamic Host Configuration Protocol)、TFTP(Trivial File Transfer Protocol)、NFS(Network File System) といった標準のものが使える。openThinClientのインストール前に、必要なプロトコルがすべてファイアウォールを通過できるようにしておくこと。

 各自のサーバ環境でopenThinClientを正しく動作させるために、推奨されているサーバおよびハードウェアの要件をまずチェックしよう。最低でも、500MBの空きディスク領域、1GBのRAM、1枚のネットワークインタフェースカードが必要になる。

openThinClientの導入

 利用するには、openThinClientパッケージをダウンロードし、フォルダに展開して、「/start-server.sh」でサーバを起動する。「Jboss (MX micro kernel)」のあとにサーバの起動所要時間が続くメッセージが表示されれば起動成功だ。

openthinclient1_thm.jpg
openThinClientの設定画面

 起動後は、ブラウザを使ってサーバの設定ができる。「http://サーバ名:8080」にアクセスすると、openThinClientマネージャを起動するためのリンクが表示される。このリンクをクリックして、openThinClientマネージャのダウンロードと起動を行う。

 openThinClientサーバのインストールが終わったら、今度は新たなシンクライアント環境を構築する必要がある。「Create New Environment」ボタンをクリックして、この作業を行うためのウィザードを起動する。openThinClientの組み込みLDAPサーバを利用すれば、ウィザードにおける設定項目を少なく済ませられる。まずは、LDAPサーバのホスト名またはIPアドレスと管理者パスワードを設定する。あとは、次の画面の設定項目をデフォルトのままにして、ウィザードを終了すればよい。あるいは、ほかのLDAPサーバやActive Directoryに接続することもできる。その場合は、ドメイン、スキーマ、組織単位などいくつかの設定を変更する必要があるだろう。

 シンクライアントを環境に追加するには、DHCPサーバが稼働していることを確認したうえで、PXEを利用してクライアントを起動する。ただし、openThinClientマネージャで管理者が登録を行わないと、PXEによるブートは正常に行われない。管理コンソールには、ブートを試みたクライアントのMACアドレスが表示される。そのMACアドレスを右クリックすれば、シンクライアントへの変換が行える。また、必要に応じてクライアントマシンのハードウェア情報を入力することもできる。こうしてクライアントの追加を済ませれば、シンクライアントとしてブートできるようになっているはずだ。環境に追加したシンクライアントは、管理コンソール上に表示される。クリックして展開すると、場所やハードウェアなど、デバイスの管理に役立つ設定オプションが現れる。

 シンクライアントを活用するには、ユーザの追加と各ユーザへのアプリケーションの割り当ても必要になる。openThinClientには、Webブラウザやドキュメントビューアなど、一般的なタスクを実行するアプリケーションがパッケージ化された形で用意されている。一番いいのは、アプリケーションを用意し、アプリケーショングループへの割り当てを行ってから、ユーザまたはユーザグループを作成してアプリケーションの割り当てを行うという方法である。利用可能なアプリケーションを確認するには、「Packages」タブをクリックする。あらかじめ用意されているパッケージには、シンクライアントOS内のデスクトップインタフェースの操作や設定が可能なDesktopアプリケーションのほか、Remote Desktop Protocol(RDP)、Xnest、Firefox、Command Line Utility(CLU)、VLC Media Player、ドキュメントビューアが含まれている。ただし、定義済みのアプリケーションはこれだけである。

 それ以外のアプリケーションを指定する場合は、「Applications」タブを右クリックし、「New Application」でアプリケーションパッケージのリストから選択する。さらにデスクトップ用のアイコン名と説明を入力すると、そのアプリケーションが「Application」タブの下のリストに追加されるので、そこでユーザまたはユーザグループへの割り当てが行える。たとえば私の環境では、すべてのアプリケーションを利用できる管理者ツールグループと、ブラウザやドキュメントビューアなど一部のアプリケーションしか利用できないユーザツールグループを用意している。Citrixサーバへの接続が必要であれば、Citrix Presentation ServerのIndependent Computing Architecture(ICA)クライアントをインストールすることもできる。

 普通の使い方をする分には用意されているもので十分間に合うが、文書処理やオフィス生産性といったアプリケーションが欠けている。幸い、簡単な手順でほかのアプリケーションをopenThinClientパッケージに追加することもできる。私の環境では、パッケージへのSkypeの追加例に従うことで、シンクライアントにSkypeを載せることができた。

 新しいユーザを作成するには、ユーザ名とパスワードを入力する。ユーザのフルネームや連絡先の詳細、所属するグループ、関連付けられているアプリケーションなど、ユーザのプロパティも編集できる。続いて「Applications Group」タブで、適切なアプリケーショングループの選択を行う。アプリケーションと同様、ユーザについてもグループを作成できる。グループのメンバとなったユーザには、そのグループのすべてのプロパティと、アプリケーションとの関連付けが適用される。また、アプリケーショングループに入っていないアプリケーションを個別に指定し、ユーザに割り当てることも可能だ。

 ユーザの作成および追加の際には、グループ選択と個別指定でアプリケーションの割り当てが重複しないようにするのが普通だが、管理者が間違ってそうしてしまう場合もある。残念ながら、すでにアプリケーショングループに含まれているのと同じアプリケーションを追加してしまった場合には、同じアプリケーションのショートカットが2つ並ぶことになる。選択済みのアプリケーショングループに入っているアプリケーションは「Applications」タブに表示しないようにするだけで、開発者はおそらくこの問題を修正できるはずだ。また、openThinClientマネージャでは、プロパティの追加または編集時にウィンドウの表示がおかしくなるという不具合に何度か遭遇した。たとえば、ダイアログウィンドウを閉じたはずなのにその表示が消えず、ウィンドウのタイトルバーの右端にあるボタンを押して閉じなければならないことがあった。この問題は、ユーザやアプリケーションのプロパティ編集の際に起こると、特に面倒である。入力したデータが正しく保存されたかどうかがわからないため、ウィンドウを閉じたうえでもう一度開き、内容を確認する必要があるからだ。

 openThinClientは、NFSによる外部ストレージへの設定およびユーザデータの保存に対応している。うまく行かない場合には、(まだ完全とはいえないものだが)ドキュメントが役に立つ。また、各種の問題やパッケージ開発については、書き込みの多いフォーラムがそれ以上に参考になる。

 ユーザの作成が済んだら、openThinClientを使ってクライアントをブートし、ログインしてみよう。ブートはすぐに完了し、おなじみのUbuntuのログイン画面が表示される。作成したユーザアカウントの1つを使ってログインすると、管理者によってそのユーザに割り当てられたアプリケーションが用意されたデスクトップ画面が現れる。

openthinclient3_thm.jpg
openThinClientのデスクトップ

 Webのブラウジング、ファイルのダウンロード、ドキュメントの表示、VLC Media Playerによる動画再生を試してみたが、いずれも問題なく行えた。しかし、RDPは何らかの理由で起動しなかった。Windows環境への接続を必要とするユーザにとっては厄介な問題といえる。ただし、Xnestも使えるので、UNIXおよびLinuxマシンに対してはRDPと同様のリモートアクセスが可能だ。

まとめ

 一切のコストをかけずにシンクライアント環境に移行したいと思う組織にとって、openThinClientは魅力的な選択肢だ。あらかじめパッケージ化されているアプリケーションは限られているが、それ以外のアプリケーションを組み込む機能も問題なく動作する。シンクライアント側の応答性は、場合によっては問題が起こらないとも限らないが、良好だった。なお、今回はサーバ側に対する負荷テストは行っていない。いくつかの不具合は見られるが、openThinClientは大規模環境向けの柔軟性の高いソリューションといえるだろう。

Linux.com 原文(2008年9月19日)