LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf ·...

14
LTSP (Linux Terminal Server Project) - 古いマシンをシンクライアントに活用 - (財)松本ソフト開発センター 髙砂 康司 1.LTSP とは LTSP というのは、Linux Terminal Server Project の略で、プロジェクトそのものや、LTSP で構築したシス テム、あるいはその技術を指します。Terminal Server(ターミナルサーバー)というのは、シンクライアントシ ステム(Thin Client System)の一つで、大きな特徴としては クライアントは最低限の機能、装備 ディスプレイ、キーボード、マウス、PC 本体(HDD 不要) 処理(の大部分)はサーバーで行う というものがあります。ターミナルサーバー、あるいはシン・クライアントは専用の製品を利用して構築する 場合もあります 1 が、LTSP ではちょっと強力な PC をサーバーに、クライアントには古くて使われなくなった PC を利用してターミナルサーバーのシステムを構築できます。 LTSP システムのクライアントは次のように起動し ます。 1. 電源 ON 2. PXE (Pre-eXecution Environment)というプ ロトコルでブートする 3. PXE が DHCP サーバーから IP アドレスを取得 4. DHCP サーバーは追加の情報をクライアントに 渡し、TFTP でクライアントの RAM ディスクに 起動用のファイルシステム・イメージ(Linux initramfs filesystem image)を読み込ませ 5. クライアントは上記システムイメージで起動 し、ハードウェアを探査し、LTSP サーバーの X window システムとのセッションを確立する これ以降、全ての操作はサーバー側で扱われ、全ての グラフィカルな情報がクライアントに転送されます。 LTSP のシステムには次のようなメリットがありま す。 クライアントに高性能を要求しない 10 年ほど前の PC でも十分使用に耐え ます。 「LTSP Manual 2 」によると推奨は 533MHz 以上の CPU、256MB メモリのよ うですが、VMwarePlayer で作成した 72MB メモリの仮想マシンでも起動し ました。 HDD など記憶装置がいらない 1 PC メーカー各社もシン・クライアントを用意しています。NEC、HP、IBM、富士通などにも製品があります。 2 https://sourceforge.net/projects/ltsp/files/Docs-Admin-Guide/LTSPManual.pdf/download 図 1:起動プロセス(WIKIPEDIA COMMONS より)

Transcript of LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf ·...

Page 1: LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf · は「LTSP Manual 」では 256+(192 ... network 192.168.2.0 broadcast 192.168.2.255

LTSP (Linux Terminal Server Project)

- 古いマシンをシンクライアントに活用 -

(財)松本ソフト開発センター

髙砂 康司

1.LTSP とは

 LTSPというのは、Linux Terminal Server Projectの略で、プロジェクトそのものや、LTSPで構築したシス

テム、あるいはその技術を指します。Terminal Server(ターミナルサーバー)というのは、シンクライアントシ

ステム(Thin Client System)の一つで、大きな特徴としては

• クライアントは最低限の機能、装備

ディスプレイ、キーボード、マウス、PC本体(HDD不要)

• 処理(の大部分)はサーバーで行う

というものがあります。ターミナルサーバー、あるいはシン・クライアントは専用の製品を利用して構築する

場合もあります1が、LTSPではちょっと強力なPCをサーバーに、クライアントには古くて使われなくなったPC

を利用してターミナルサーバーのシステムを構築できます。

 LTSPシステムのクライアントは次のように起動し

ます。

1. 電源ON

2. PXE (Pre-eXecution Environment)というプ

ロトコルでブートする

3. PXEが DHCPサーバーからIPアドレスを取得

4. DHCPサーバーは追加の情報をクライアントに

渡し、TFTPでクライアントのRAMディスクに

起動用のファイルシステム・イメージ(Linux

initramfs filesystem image)を読み込ませ

5. クライアントは上記システムイメージで起動

し、ハードウェアを探査し、LTSPサーバーの

X windowシステムとのセッションを確立する

これ以降、全ての操作はサーバー側で扱われ、全ての

グラフィカルな情報がクライアントに転送されます。

 LTSPのシステムには次のようなメリットがありま

す。

• クライアントに高性能を要求しない

10年ほど前のPCでも十分使用に耐え

ます。

「LTSP Manual2」によると推奨は

533MHz以上のCPU、256MBメモリのよ

うですが、VMwarePlayerで作成した

72MBメモリの仮想マシンでも起動し

ました。

• HDDなど記憶装置がいらない

1 PCメーカー各社もシン・クライアントを用意しています。NEC、HP、IBM、富士通などにも製品があります。

2 https://sourceforge.net/projects/ltsp/files/Docs-Admin-Guide/LTSPManual.pdf/download

  図 1:起動プロセス(WIKIPEDIA COMMONSより)

Page 2: LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf · は「LTSP Manual 」では 256+(192 ... network 192.168.2.0 broadcast 192.168.2.255

PCの故障の大半を占めるHDDが必要ない分、クライアントの信頼性も上がります。コストは下

がります。

• FD、USBメモリなどの使用を不可に出来る

リムーバブルメディアの利用を制限することにより、情報の持ち出し・漏洩をある程度防ぐこ

とができます。

• サーバーだけメンテナンスしていればいい

クライアントはデータもアプリケーションも保持していないので、サーバーのみしっかりメン

テしておけば良い。アプリケーションのバージョンアップもサーバーだけ。

• どのクライアントを利用してもいつも同じ環境

ユーザーデータはサーバー側にあるので、どのクライアントから利用してもいつも同じ環境で

作業できます。もし、クライアントが故障しても、すぐに他のクライアントで作業できます。

 反面、デメリットも存在します。

• サーバーにある程度の高性能を要求する

CPUは速いに越したことはありません。目安としては2GHzくらいは欲しいところです。メモリ

は「LTSP Manual」では

256+(192×ユーザー数)MB

となっていますが、実際試したところでは

512+(300×ユーザー数)MB

程度あれば快適に利用できるような気がします。

そして、サーバーとクライアントが頻繁に通信するので、なるべく高速なNICとネットワーク

(ギガビット・イーサネット)も欲しいところです。

• 設定が難しい場合もある

環境次第ですが、ちょっと導入に手間取ることもあります。

 現在、LTSPは多くのディストリビューションに取り込まれています3が、独立したディストリビューションと

して存在するものもあります。Edubuntu, Skolelinux, KIWI-LTSPなどのディストリビューションです。

3 K12Linux(Fedora)、Easy-LTSP(SuSE)など特定ディストリビューション用のプロジェクトもあるようです。

Page 3: LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf · は「LTSP Manual 」では 256+(192 ... network 192.168.2.0 broadcast 192.168.2.255

2.準備

 LTSPを利用する前に次のようなことを検討しておいたほうが良いと思います。

• ネットワーク構成

(A)既存のネットワーク内にLTSPサーバーを立てる

(B)既存のネットワークの下に、分離したLTSPサーバー・クライアントを構築する

• ディストリビューションなどの選択

(a)既存のサーバーにLTSP機能を持たせるか

(b)新たにLTSPサーバーを立てる場合、ディストリビューションはどれにするか

 ネットワーク構成の(A),(B)の違いを下図に示します。(A)が図2、(B)が図3となります。(A)の場合はLTSP

サーバーのNICが 1つで構成できますが、ルーターのDHCP機能を停止する必要があります。(B)の場合、LTSP

サーバーにルーター機能を持たせることになるのでNICが 2つ必要になります。

 既存のサーバーをLTSPサーバーにする場合は、LTSPのサイト4から「Download」リンクをたどって、それぞ

れのディストリビューションのパッケージを入手するなりしてください。その際、LTSP4.2は古いので気をつけ

てください。最新はLTSP5です。UbuntuではAPTで導入可能です。次のように実行します。

sudo apt-get install ltsp-server-standalone openssh-server

 新規にLTSPサーバーを立てるのであれば、簡単に導入できるディストリビューションが良いでしょう。今回

はUbuntuを利用します。ただ、Alternate CDを利用してインストール時にLTSPを構築します。

Alternate CD → http://www.ubuntu.com/download/ubuntu/alternative-download

amd64版とi386版がありますが、古いPCをクライントとして利用したい場合、i386版を選択します。5

4 http://www.ltsp.org/

5 7~8年前の低価格機では64bitCPUが載っていないことがあります。その場合、amd64版のクライアントイ

メージでは起動できないので、そのまま利用できる32bit版を用いるのが楽。

図 3: (B)既存ネットワーク下に構築

LAN

図 2: (A)既存ネットワーク内に追加

Page 4: LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf · は「LTSP Manual 」では 256+(192 ... network 192.168.2.0 broadcast 192.168.2.255

3.インストール

 元来、Ubuntuの Alternate CDはノーマルのCDで起動できないとか、メモリの少ないPCのためのインストー

ル用CDですが、起動時に選択することでLTSPルーターを簡単に構築できるようになっています。具体的には

CDから起動した後、

1. 日本語を選択し

2. ファンクションキー[F4]を押し

3. メニューから「LTSPサーバーのインストール」を選択

とします。その後は質問などに適切に答えていけば OKで、次のような流れになります。

4. 場所の選択

5. キーボードの設定

6. ネットワークの設定

【NIC1枚の場合】

あらかじめネットワーク上のDHCPサーバーは停止しておき、固定 IPを LTSPサーバーに割り当

てます。

【NIC2枚の場合】

サーバーとして利用するので、内外 2枚ともIP固定で運用します。(外側はDHCP割当てでも可)

画面のメッセージをよく読んで、2枚のNICのどちらが外(WAN)側になるか、間違えないように

注意しましょう。

7. ディスクのパーティショニング

8. ベースシステムのインストール

9. ユーザーとパスワードの設定

管理者になれる(sudoが使える)ユーザーの登録。その他の一般ユーザーは後で作る。

10.ホームディレクトリの暗号化の有無

11. プロキシの設定

12. ソフトウェアのインストール

途中で「言語サポートのダウンロード」について訊かれます。

13. クライアントイメージの作成

Building Thin Client system ...と表示され、クライアントが利用するchroot環境6が作成さ

れます。インストールしたOSのアーキテクチャと同じものしか作成されません7。

14. GRUBのインストール

15. システム時間の設定

UTCは使わない

16. インストール完了・再起動

3-1.インストール後の設定

 インストールを終了して、再起動後に少々設定が必要となります。

(1) ネットワークマネージャ(network-manager)の削除

ネットワークマネージャがネットワークの設定を書き換える事がある

ので、それを防ぐためです。

sudo apt-get remove network-manager*

(2) IPアドレスの設定

/etc/network/interfacesを編集して、外側、内側のNICを適切に設定

6 Linuxシステムのディレクトリ構造の中に、別途、独立したLinuxシステムのディレクトリ構造を作ったも

の。chrootした後は、ログアウトするまでその環境の外には触れない。

7 サーバーがamd64版ならクライアント環境もamd64版が作成されるということ。後から別アーキテクチャの

クライアントイメージを作成することも可能。

(一部抜粋)

auto eth0

iface eth0 inet static

address 192.168.0.150

netmask 255.255.255.0

network 192.168.0.0

broadcast 192.168.0.255

gateway 192.168.0.1

auto eth1

iface eth1 inet static

address 192.168.2.1

netmask 255.255.255.0

network 192.168.2.0

broadcast 192.168.2.255

外側

内側

Page 5: LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf · は「LTSP Manual 」では 256+(192 ... network 192.168.2.0 broadcast 192.168.2.255

します。

(3) DNSの設定

/etc/resolv.confを適切に編集します。

(4) DHCPサーバーの設定

デフォルトだと、192.168.0.0/24のネット

ワークを利用するようになっていますので、

実際のネットワークに合わせて修正します。

設定ファイルは、

/etc/ltsp/dhcpd.conf

です。

(5) クライアント環境の調整

以下を実行します。

sudo ltsp-update-ssykeys

sudo ltsp-update-image

sudo /etc/init.d/nbd-server restart

(6) ユーザーの追加

sudo adduser 〜

3-2.その他の設定

 このままでも問題なく利用できますが、日本語フォントの一部がキレイでないので、追加でフォントを導入

します。導入は「Ubuntuソフトウェアセンター」から、「Japanese TrueType font, IPA font (meta

package)」をインストールすれば OKです。あるいは端末から、

sudo apt-get install ttf-ipafont

(一部抜粋)

subnet 192.168.2.0 netmask 255.255.255.0 {

 range 192.168.2.20 192.168.2.250;

 option domain-name "temari-net.or.jp";

 option domain-name-servers 192.168.0.1;

 option broadcast-address 192.168.2.255;

 option routers 192.168.2.1;

 option subnet-mask 255.255.255.0;

 option root-path "/opt/ltsp/i386";

 if substring( option vendor-class-identifier,

0, 9 ) = "PXEClient" {

  filename "/ltsp/i386/pxelinux.0";

  } else {

  filename "/ltsp/i386/nbi.img";

  }

}

Page 6: LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf · は「LTSP Manual 」では 256+(192 ... network 192.168.2.0 broadcast 192.168.2.255

4.設定ファイル

 以上でとりあえず LTSPの機能を利用できますが、クライアントに関する細かな設定も可能です。設定ファイ

ルは /opt/ltsp/i386/etc/lts.confにあり、未だに有効ではありますが、今後は

/var/lib/tftpboot/ltsp/i386/lts.conf

になります。もし、旧設定ファイルにより設定を変更した場合、そのたびにltsp-update-imageを実行するこ

とが必要です。

 設定ファイルのサンプルは、/opt/ltsp/i386/usr/share/doc/ltsp-client-core/examples/lts.conf にあり

ます8が、次のような記述方法になっています。

[default]

X_COLOR_DEPTH=16

LOCALDEV=True

SOUND=True

[oldmachine]

X_COLOR_DEPTH=8

X_MODE_0=800x600

[01:23:DE:AD:BE:EF]

LIKE=oldmachine

SCREEN_02=shell

 以下に、lts.confの主要な設定項目をタイプ別に紹介しますが、詳細は「LTSP Manual」を参照してください。

4-1.全体設定

LTSPサーバー全体の設定項目です。

設定項目 初期値 説明

DNS_SERVER DNSサーバーのIPアドレス。普通は必要ない。

SEARCH_DOMAIN ドメイン名の指定。普通は必要ないが、DNS_SERVERを指定している場合は必要。

LOCAL_APPS FALSE クライアントでアプリケーションを実行するか否か。

HOSTNAME クライアントのホスト名の指定。指定しなければ、ホスト名は自動で作成され

る。

HOSTNAME_BASE ltsp クライアントのホスト名のベースとなる部分の指定。

NBD_SWAP FALSE NBDスワップを有効にするか否か。有効にするなら、/etc/hosts.allowに

nbdswapd: ALL: keepalive

を加える必要がある。

NBD_SWAP_SERVER SERVER NBDスワップサーバーの指定。デフォルトではSERVERの値が利用される。

SERVER XDM_SERVER, TELNET_HOST,XFS_SERVER, SYSLOG_HOSTの既定値に使われる。

SYSLOG_HOST SYSLOGサーバーの指定。

USE_LOCAL_SWAP FALSE クライアントにHDDが装備され、かつ、有効なSWAPパーティションがある場合

にそれを利用するか否か。

TIMEZONE クライアントの利用するタイムゾーンの指定。

8 Ubuntuの場合。

全てのクライアントに

対する基本設定

設定にラベルを付けておいて

他から参照することができる

特定のクライアントに

対する設定

(MACアドレスで区別 )

Page 7: LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf · は「LTSP Manual 」では 256+(192 ... network 192.168.2.0 broadcast 192.168.2.255

TIMESERVER クライアントの利用するNTPサーバー。指定しないとクライアントはBIOSの時

刻を使う。

SHUTDOWN_TIME クライアントの自動停止時刻をhh:mm:ss フォーマットで指定する。

LANGUAGE 言語設定。日本語ならja_JP.UTF-8

4-2.ローカル・デバイスの設定

クライアントの装備するデバイス(記憶装置)に関する設定項目です。

設定項目 初期値 説明

LOCALDEV TRUE クライアントマシンのCDや USBメモリなどのローカルデバイスを

利用できるか否か。ただし、ユーザーがFUSEサブシステムにアク

セスできるようにしておく事。

LOCALDEV_DENY_CD FALSE クライアントマシンのCDドライブを利用できないようにする。

LOCALDEV_DENY_FLOPPY FALSE クライアントマシンのFDDを利用できないようにする。

LOCALDEV_DENY_INTERNAL_DISKS TRUE クライアントマシンの内蔵 HDDを利用できないようにする。

LOCALDEV_DENY_USB FALSE クライアントマシンのUSBデバイスを利用できないようにする。

4-3.プリンタの設定

クライアントの装備するデバイス(記憶装置)に関する設定項目です。

設定項目 初期値 説明

PRINTER_0_DEVICE プリンタのデバイス名(/dev/lp0, /dev/usblp0, ...)を指定する。

PRINTER_0_PORT FALSE プリンタサーバーのTCP/IPポート番号を指定する。

PRINTER_0_TYPE プリンタの種類を指定する。P:パラレル U:USB S:シリアル シリアル以外は

自動認識される。

SCANNER クライアントにスキャナーを利用可能にする。

4-4.キーボードの設定

クライアントのキーボードに関する設定項目です。設定しないとUSキーボードとされてしまうので、日本語

キーボードに設定します。

設定項目 初期値 説明

CONSOLE_KEYMAP en TELNET_HOSTセッションにおけるキーマップを指定する。

XKBLAYOUT X windowシステムにおいて利用するキーボードレイアウトを指定する。

"jp”を指定する。

XKBMODEL X windowシステムにおいて利用するキーボードの形式を指定する。

"jp106”を指定する。

4-5.サウンドの設定

クライアントのサウンドの設定項目です。

設定項目 初期値 説明

SOUND TRUE クライアントのサウンドを利用するか否かの指定。

SOUND_DEAMON pulse サウンドサーバーの指定。esd, nasd, pulseのいずれかを指定。

Page 8: LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf · は「LTSP Manual 」では 256+(192 ... network 192.168.2.0 broadcast 192.168.2.255

VOLUME FALSE 0~100%の範囲でクライアントの音量を指定する。

4-6.X window システムの設定

クライアントの画面(X window system)に関する設定です。

設定項目 初期値 説明

CONFIGURE_X X windowシステムの自動設定を利用せずに個別のX設定ファイルを利用したい

場合に True にする。

X_CONF X設定ファイルの指定。設定ファイルは、/opt/ltsp/<arch>/etc/X11ディレク

トリの下に置くが、chroot環境のフルパスで指定する。

XSERVER このパラメータは指定すべきでない。通常、ビデオカードは自動認識される。

何らかの理由で指定するなら以下の適切なものを指定する。

ark, ati, atimisc, chips, cirrus_alpine cirrus, cirrus_laguna, cyrix,

dummy, fbdev fglrx, glint, i128, i740, i810, imstt, mga, neomagic,

newport, nsc, nv, r128, radeon, rendition, riva128, s3, s3virge,

savage, siliconmotion, sis, sisusb, tdfx, tga, trident, tseng, v4l,

vesa, vga, via, vmware, voodoo

X_COLOR_DEPTH 24 ビット単位での色深度(色数)の指定。8, 16, 24, 32が指定可能。

X_MODE_n クライアントのディスプレイ解像度を指定する。nは0~2。[Ctrl]+[Alt]+[+]/

[-]で解像度を切り替えられる。

例) X_MODE_0 = 1280x1024

  X_MODE_1 = 1024x768

  X_MODE_2 = 800x600

4-7.SCREEN SCRIPT

ユーザーインターフェースに関する(?)設定です。

設定項目 初期値 説明

SCREEN_n ldm nは 01~12の数値を指定。但し、01は予約済みなので指定しない方が良い。

Ctrl+Alt+F1~F12でスクリーン(セッション)の切り替えを可能にする。指定可

能な値は、/opt/ltsp/i386/usr/share/ltsp/screen.d/ディレクトリ内のスク

リプト名。(下表)

kiosk KIOSK端末仕様(ブラウザのみ)

ldm 通常のLDM(LTSP Display Manager)セッション

menu 接続サーバーの選択メニューを表示

rdesktop Windowsのリモートデスクトップに接続 (-> xfreerdp)

shell シェル

ssh SSHサーバーに接続

startx

telnet TELNETサーバーに接続

xdmcp

xfreerdp リモートデスクトップに接続

xterm X端末

Page 9: LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf · は「LTSP Manual 」では 256+(192 ... network 192.168.2.0 broadcast 192.168.2.255

特に記述がない場合、LDMセッションがscreen_07で利用される。複数のスク

リーンを指定した場合は、数値の最も大きい設定がデフォルトとして利用され

るようです。

TELNET_HOST クライアントがCUIの場合、telnetでログインするホストを指定。指定しない

場合、SERVERの値が利用される。

4-8.LDM の設定

LDM(LTSP Display Manager)の設定です。ログインに関するものだと思っていただければ・・・

設定項目 初期値 説明

LDM_AUTOLOGIN FALSE ユーザー名、パスワードの入力なしでログインするか否かの指定。Trueにし

た場合、ユーザー名、パスワードともに、ホスト名でのログインを試みるが、

LDM_USERNAME、LDM_PASSWORDでそれらを指定することも可能。

クライアントの停止ができなくなるので、設定しないほうが良い。

LDM_DIRECTX FALSE SSHによるX通信内容の暗号化をしないようにするか否か。セキュリティは

下がるが、反応は速くなる。(遅いクライアントでは有効)

LDM_GUESTLOGIN FALSE ゲストログインのボタンを表示する。ユーザー名、パスワードの指定も可能。

指定しなければ、ホスト名が利用される。

LDM_ALLOW_USER ログインできるユーザーを制限する。

LDM_LOGIN_TIMEOUT 指定の時間が過ぎると、自動ログインする指定。これを使う際には、

LDM_AUTOLOGINを指定しない。

LDM_USERNAME 自動ログインの際のユーザー名を指定する。

LDM_PASSWORD 自動ログインの際のパスワードを指定する。

LDM_LANGUAGE ロケール設定を上書きする。

NETWORK_COMPRESSION FALSE SSHの通信データ9を圧縮する。ネットワークの負荷を減らすが、CPUの負荷

は上がる。

LDM_SESSION デフォルト・セッションを選択する。

例) LDM_SESSION = "gnome-session --session=ubuntu-2d”

4-9.ローカル・アプリケーションの設定

アプリケーションをサーバーではなく、シンクライアントで実行できるようにするもので、ネットワーク経由

でうまく動かないマルチメディアアプリケーションに向いているそうです。

設定項目 初期値 説明

LOCAL_APPS TRUE クライアントでローカルアプリケーションを利用可能にする。

LOCAL_APPS_MENU FALSE サーバーのアプリケーションメニューの上書きを可能にする。

LOCAL_APPS_MENU_ITEMS .desktopファイルに現れるアプリケーションリスト(カンマ区切り)

LOCAL_APPS_WHITELIST ローカルアプリケーションとして実行できるコマンドを指定する。コマン

ドはフルパスで指定。このパラメータを指定しない場合、すべて実行可能。

9 LTSP5では画面転送にSSHを利用している。

Page 10: LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf · は「LTSP Manual 」では 256+(192 ... network 192.168.2.0 broadcast 192.168.2.255

5.クライアント

 最近のPCはほとんどNICをオンボードで装備しており、さらに起動用のROM(BootROM)も載っていますから、

あとはネットブート(PXEブート、Etherboot)ができるようにするだけで準備は終わりです。多くの場合、BIOS

セットアップ画面で起動デバイスを設定できますから、NetworkかLANを優先的な起動デバイスに設定します10。

また、BootROMを有効にすることも忘れないでください。

 LTSPのシステムは必ずしもネットブートする必要はありません。PCによってはネットブートができないもの

もあり、それらはFDや CDから起動します。ROM-o-matic.netにそのような用途のFDデータなどがあるので利

用してください。詳細は、http://cyclops.ddo.jp/recent/0707/ltsp/#5 をご覧いただきたいですが、簡単に

記すと

1. ROM-o-matic.netで gPXE Image Generatorを利用

2. 適切なイメージフォーマットとNICの種類を選択

3. 取得したイメージをFDあるいはCDにする

となります。

 最近のノートPCは、殆どが無線 LANを搭載しています。残念ながら無線 LANの NICは BootROMを搭載してい

ないため、ネットブートができません。よって、LTSPのクライアントとするには、有線 NICを利用せざるを得

ませんでした。

 しかし、無線 LANでもBootROMの搭載されていない有線 NICと同じ手法でLTSPのクライアントにすることが

可能なようです。Wirelessboot という技術ですが、残念ながら以下のチップを使ったものしかサポートされて

いません。

• Realtek 8180/8185

• All Atheros cards that do not support 802.11n

 詳細は、http://etherboot.org/wiki/wirelessboot をご覧ください。

5-1.ログインとシャットダウン

 クライアントを起動するとログイン画面になります。サーバーに登録した

ユーザーでログインしますが、画面左下の[Preference]をクリックすると、

バックエンド、言語、セッションの選択ができるメニューが表示されます。

(右図) このメニューから、再起動、シャットダウンも可能です。

 クライアントの利用を終了するには、画面上部右端のユーザー名をクリッ

クし、ログアウト、あるいはシャットダウンを選択します。すると再びログ

イン画面になりますから、[Preference]→[シャットダウン]とします。

10 起動時に一時的に起動デバイスを変更できるPCもあり、例えば DELLの多くのPCは起動時に[F12]を押すこ

とで起動デバイスの選択ができます。

Page 11: LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf · は「LTSP Manual 」では 256+(192 ... network 192.168.2.0 broadcast 192.168.2.255

6.クライアントの管理

 PC教室のような場所でのPCの利用には、いろいろ難しい面があります。しかし、LTSPなどのシンクライアン

トシステムにはうってつけの管理ツールがあります。

• Edubuntu menu editorと Edubuntu menu editor Profile manager

• iTALC

6-1.Edubuntu menu editor & Edubuntu menu editor Profile

manager

 Edubuntu menu editorと同 Profile managerはアプリケーションメニューの編集を行い、各ユーザーがメ

ニューから実行できるアプリケーションを制限できます。パッケージ名は、edubuntu-menueditorです。

 これらは使い方が独特というか、分かりにくいのですが、流れとしては

1. menu editorでメニューを制限したプロファイルを作成

2. Profile managerでユーザーグループごとに作成したプロファイルを適用

となります。

 これらによってメニューの項目は制限できますが、直接コマンドを入力されるとアプリケーションは実行で

きます11。

6-2.iTALC

 iTALC=Intelligent Teaching And Learning with Computers

 Edubuntu menu editorと同 Profile managerはクライアントの操作に制限を加えるものですが、iTALCはクラ

イアントを集中管理するソフトウェアです。以下のようなことができます。

• クライアントの電源管理

• クライアントの画面監視

• クライアントへの画面配信

• クライアントの操作ロック

• クライアントへのメッセージ送信

• クライアントのデスクトップを操作 などなど

 これらのことを行うのに、以前はThin Client Manager(TCM)というソフトウェアが使われていましたが、現

在はこのiTALCに置き換えられています。

11 Gnome端末をメニューに表示しなければ、コマンドも実行できませんね。

Page 12: LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf · は「LTSP Manual 」では 256+(192 ... network 192.168.2.0 broadcast 192.168.2.255

 Ubuntuではサーバー用、クライアント用のパッケージがそれぞれ、italc-master、italc-clientとして用意

されています。Edubuntuではインストール時にLTSPオプションを選択すると最初から使える状態で導入されて

います。12

6-3.クライアント環境のアップデート

 LTSPサーバーをアップデートしたら、クライアント環境(chroot環境)にもアップデートを適用します。最初

にやることは、サーバーとクライアント環境のパッケージリストを同じにすることです。Ubuntu、Debianであ

れば /etc/apt/sources.listをサーバー側からクライアント環境にコピーします。

sudo cp /etc/apt/sources.list /opt/ltsp/i386/etc/apt/

また、このままではchroot環境でアップデートできない(DNSが引けない)ので、以下を実行しておきます13。

sudo cp /etc/resolv.conf /opt/ltsp/i386/etc/resolv.conf

次にクライアント環境をアップデートします。

sudo chroot /opt/ltsp/i386/

mount -t proc proc /proc

export LTSP_HANDLE_DEAMONS=false

apt-get upgrade

umount /proc

exitで chroot環境を抜ければ、アップデートは終了ですが、もし、アップデートによりLinuxカーネルが新し

くなっていたら、次の操作も必要です。

sudo ltsp-update-kernels

最後にクライアントのブートイメージを更新します。

sudo ltsp-update-image

sudo /etc/init.d/nbd-server restart

これでクライアント環境のアップデートは完了です。

6-4.LTSP サーバーの IP アドレスを変更した時

 何らかの理由でLTSPサーバーのIPアドレスを変更した際には、以下の操作が必要です。

sudo ltsp-update-sshkeys

sudo ltsp-update-image

sudo /etc/init.d/nbd-server restart

12 インストール時に選択する導入するアプリケーションのグループ「edubuntu−desktop」の中に入っています。

Ubuntuでは、aptで italc-masterをインストール後、

http://sourceforge.net/apps/mediawiki/italc/index.php?title=Installation#Setup_authentication_keys

に従って設定してください。

13 元のファイルは保存しておいた方が良いかもしれません。

Page 13: LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf · は「LTSP Manual 」では 256+(192 ... network 192.168.2.0 broadcast 192.168.2.255

7.Tips

7-1.クライアント環境が英語表示(Ubuntu)

 LDM_LANGUAGEを ja_JPにします。これで駄目な時もあります(原因不明)が、ログイン時に言語を選択すれば、

問題ありません。ちなみにEdubutuのデフォルト設定ではlts.conf(の言語設定部分)は、次のようになってま

す。

LANG=en_US.UTF-8

LANGUAGE=ja_JP.UTF-8

LDM_LANGUAGE=ja_JP.UTF-8

 これで問題は出ませんでした。

7-2.クライアントのデスクトップが変(Ubuntu)

 デフォルトでクライアント環境はUnity(3D)になってますが、クライアントPCが 3D対応ビデオカードを装備

していないと悲惨なことになります。中途半端にUnity環境になって、ダッシュはおろか、ログアウトや終了

のメニューさえ出せません。そうなってしまったら、[Ctrl]+[Alt]+[Delete]でログアウトします。次回から、

ログイン時にセッションを選択して「Ubuntu 2D」でログインしましょう。

 しかし、これでは面倒ですからデフォルトセッションを変更しておきます。デフォルトセッションの設定は、

lts.confの LDM_SESSIONです。Ubunt 2Dをデフォルトにするには、

LDM_SESSION="gnome-session --session=ubuntu-2d"

とします。

7-3.Unity 使いたくない(Ubuntu)

 Edubuntuなら、クライアント環境はデフォルトでGnome Classicです。Edubuntuを使ってください・・・

もし、Ubuntuで LTSPを構築して「やっぱりUnityは嫌」ということになったなら、gnome-session-fallback

パッケージをインストールしてください。クライアント起動時に「Gnome Classic」が選択できるようになりま

す。デフォルトセッションにするなら、

LDM_SESSION="gnome-session --session=gnome-fallback"

とします。

8.おまけ Edubuntu のインストール

 Edubuntuは教育現場用にまとめられたディストリビューションです。インストールは最新版のUbuntuとあま

り変わりませんが、Edubuntuに特有の点があります。

• Gnome 2.xのインストールが選択できる

• LTSPのインストールが選択できる(選択する)

• 教育現場で必要なソフトウェアが一括インストールできる

Unityを利用したくない場合は、Gnome 2.xを導入して、デフォルトセッションとすると良いでしょう。

【参考書】

「Linux Terminal Server Project Administrator's Reference A Guide to LTSP Network」

http://sourceforge.net/projects/ltsp/files/Docs-Admin-Guide/LTSPManual.pdf/download?

use_mirror=jaist

Page 14: LTSP (Linux Terminal Server Project) 1.LTSPとはcyclops.ddo.jp/recent/1201/18_ltsp.pdf · は「LTSP Manual 」では 256+(192 ... network 192.168.2.0 broadcast 192.168.2.255

今回の構成図

インターネット

eth0

192.168.0.150

eth1

192.168.2.1

LTSPサーバー

Core2Duo 3GHz

MEM:4GB

HDD:120GB

スイッチング・ハブ

ネットワーク: 192.168.0.0/24

    DNS: 192.168.0.1

ゲートウェイ: 192.168.0.1

LAN

ブロードバンド

ルーター

ネットワーク: 192.168.2.0/24

    DNS: 192.168.0.1

LTSPのネットワーク