Solaris 10 x86版でTcl/Tk

Sun Microsystemsは、2005年2月よりUNIX系OS「Solaris 10 x86版」の無償提供を開始した。
Solaris 10は、x64アーキテクチャ(AMD64/EM64T)対応の64 bit環境にも対応している。
Solarisの新しい流れとして、目的を問わず、バイナリは無償提供される。
さらに、近い将来、オープンソース化が検討されている。
無償といってもフル機能版であり、ATOK12やStarOfficeなども同梱されている。
次の改版でLinuxのエミュレーション環境であるJanus(ヤヌス)が提供される予定である。

Solaris 10 x86

デスクトップ(ウィンドウマネージャ)は、古いCDEの他に、GNOMEベースの
「Sun Java Desktop System」を採用している。見かけはLinuxと変わらない。
使ってみた印象では、Linuxより動作がキビキビしていて、安定しているが、
使い勝手に関しては、最近のLinuxの方が一歩上と感じた。

Solaris 10のインストール

まず、DVD-ROMかCD-ROMのイメージをSunのサイトでダウンロードする必要がある。
最近は雑誌の付録にも添付されるようになったので、ぜひDVD-ROMを手に入れよう。

インストールは、Linuxをインストールした経験の人なら迷わずにできると思うが、
詳細はこちらを参照して欲しい。(^^;
今回はVMwareを使ってゲストOSとしてインストールする時のツボを紹介する。

DVD-ROM(CD-ROM)ブートすると、デバイスの自動スキャンの結果が表示される。

Solaris 10 インストール

ここでVMwareが正しく認識されているが、
ビデオドライバ、解像度、色数とキーボードタイプが違っているので、
すかさずESCキーを押して適切に変更する。

この先でカスタムインストールを選択し、開発パッケージもインストールする。
ただし、gccなどを使う場合は、別途、Solaris Software Companion CD
入手して、インストールする。

インストール後、再起動すると画面がVGAサイズになってしまうので、
rootでログインして、kdmconfigで"Xorg"ではなく"Xsun"を選択する。

ユーザの新規追加だが、Sun Java Desktop Systemではやり方がわからなかった
ので古いCDEを使ってloginし、管理コンソールからユーザの追加をした。
管理コンソールの1回目の起動は少し時間がかかるので我慢して待ちましょう。。
ユーザ追加のついでに、loginシェルをbshからbashに変更するといいでしょう。

Tcl/Tkの動作確認

Solaris 10には、Tcl/Tk 8.3.3がインストールされていたが、
コマンド名は tclsh が tcl に、wish が wishx になっているので注意したい。
だた、wishは終了時にcoreダンプを作るバグがある。
代わりになるActiveTclもSolaris x86版は存在しない。

Tcl/Tkのビルド

ここはやはり、Tcl/Tkのソースからビルドする必要がある。
Tcl/Tkのソースは、SourceForgeのサイトから持ってくる。
ただし、Solaris 10にGNU tarがなく、.tar.gzが一気に解凍できない。
とりあえず、gunzipとtarの併用になる。。

ビルドの前準備としてPATHにgccなどのパスを設定する。

# .bashrc
PATH=$PATH:/opt/sfw/bin:/opt/sfw/lib/bin

Solarisではインストール先が/opt/sfwに推奨されている。

$ cd unix
$ ./configure --enable-threads --prefix=/opt/sfw
$ gmake
# gmake install
※makeコマンドがないのでgmakeを使う

ベンチマーク

いつものように、自作のTkEngine V1.2で性能測定をした。
やはり、Solaris 10の性能が一番良い。

環境TkEngine値
EPSON Endeavor MT8000
Pentium4 3.20GHz HT (i915G内蔵グラフィックス)
Memory 1024MB
Solaris 10 (VMware)129
Turbolinux 10 (VMware)117
Windows XP (Cygwin)99
Windows XP94

今後の課題

とりあえず、企業では、さよならWindowsサーバー君となるのでしょうか。
性能と安定性でLinuxを上回るSolaris 10であるが、課題がないわけではない。
セキュリティ関連の修正はSunが提供する。ただし、バグ修正やサポートが必要な
場合はSunとサポート契約を結ぶ必要がある。
現状は、Linuxに比べて、対応するデバイスや対応するアプリケーションが少ない
ことが挙げられる。これらの整備が今後の課題となりそうだ。

参考文献