本業が忙しく前回からだいぶ間が空いてしまいました。まだまだ仕事は忙しいので、今回はちょっと軽い話題でお茶を濁させていただきます。
Solaris10 をノートPCに入れることはできるようになり、場合によってデュアルブートで切替え使用するまではできるようになりましたが、Solaris10を使っている最中やその逆に、もう一方のOSの上のアプリケーションを使いたくなることがあると思います。
前回のデュアルブート ではOSを再起動しないとだめでしたが、今回はSolaris10の上でどうにかWindowsアプリケーションを使うことを模索しましょう。
Windowsのアプリケーションを動かす方法はあるの?
Solaris10上でLinuxアプリケーションを動かすことは、以前はJanusと呼ばれていたBrandZという環境を利用することで実現ができます。(この記事を執筆している現在公開されているSolaris10 6/06ではBrandZはまだ使えませんが、OpenSolaris では利用可能となっており、もうすぐSolaris10でも使えるようになるでしょう。)
しかし、Solaris10上でWindowsのアプリケーションを使おうとすると、いまだにバージョン1.0にならないWineを使うしかありませんでした。そこで今回はWineを使わないでWindowsのアプリケーションをSolaris上でどうにか使う方法を実践してみます。
Windowsのアプリケーションを動かすいくつかの方法
WindowsのアプリケーションをそのままSolaris上で動かすのは、先のWineを使うしか今のところ無いのですが、もう少し考え方を広げてみると、以下のような方法が考えられます。
昨今はやっている仮想マシンを作って、その上でWindowsを動作させてみる。
別のところで動いているWindowsの画面をノートPCに転送し、そこでWindowsアプリケーションを使ってみる。
1.の方法はWindowsやLinuxの世界ではVMwareやVirtualPC、最近ではXENが該当し、2.の方法はUNIXの世界でよく利用されているVNCが該当します。しかし、1.のものはSolaris用は存在しませんし、2.の方法はWindows側に仕組みを入れ込まなければなりません。
でも、世の中ではいろいろなソフトを作る人がいるので何かあるはずです。
便利なバイナリソフトのサイト
Solaris10で標準的に搭載されていない機能を使う場合、ベンダ製品を購入するか自分で作成するか、オープンソースのソフトを探したりするわけですが、Solaris関係では以下の2つのサイトでオープンソースのソフトをパッケージ化して公開しています。それぞれのサイトではpkg-getコマンドを使用してパッケージをダウンロード・インストールできるサイトになっているため、使用したいサイトに用意されているpkg-getのパッケージをインストールします。
サイト
pkg-getパッケージ名
インストール先
CSWpkgget
/opt/csw/bin/pkg-get
BOLTpget
/usr/bin/pkg-get
今回はSunfreeware.com のpkg-getを使用しますので、そちらのサイトからパッケージをダウンロードし、pkgaddしておきます。
まずダウンロードしたディレクトリに移動し、
# pkgadd -d .
※うまく見つからないときには、 # pkgadd -d pkg_get.pkg
The following packages are available:
1 CSWpkgget pkg_get - CSW version of automated package
download tool (all) 3.7
Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: 1
</Desktop/pkg_get.pkg> 中のパッケージインスタンス <CSWpkgget> を処理中です。
:
中略
:
<CSWpkgget> のインストールに成功しました。
#
として、pkg-getをインストールします。
仮想マシンはQEMUを使用してみる
仮想マシンのソフトウエアは製品の他に、フリーなのも数多く登場しています。その中のひとつ、QEMUというソフトウエアが実はx86 Solarisに対応しており、そのソースとバイナリが以下のサイトから配布されています。
Open Source Software for Solaris(米国サイト:英語)
こちらのサイトにバイナリが用意されていますので、以下の手順でインストールをします。
# /opt/csw/bin/pkg-get -i qemu
No existing install of CSWqemu found. Installing...
Trying http://ibiblio.org/pub/packages/solaris/csw/
unstable/i386/5.10/qemu-0.7.0,REV=2005.06.27-SunOS5.8-i386-CSW.pkg.gz
--23:24:38-- http://ibiblio.org/pub/packages/solaris/csw/
unstable/i386/5.10/qemu-0.7.0,REV=2005.06.27-SunOS5.8-i386-CSW.pkg.gz
=> `qemu-0.7.0,REV=2005.06.27-SunOS5.8-i386-CSW.pkg.gz'
:
中略
:
[ クラス <none> を検査しています ]
<CSWqemu> のインストールに成功しました。
#
pkgの情報を見るとSolaris8用ですが、Solarisはバイナリ互換が保証されているので、今回はそのまま使うことにします。もし、気になる方は先のサイトからソースをダウンロードしてmakeしてみてください。
この後は、仮想マシンで使用するディスク領域を作成します。下記の例のように、仮想マシンを作成するディレクトリとサイズを指定します。
あとはqemuを起動して、通常のWindowsインストールを行うだけです。
qemuのウインドウが起動して、その中にWindowsのインストーラが走るので、ある意味カルチャーショックを受けると思います。
なお、細かいデバイス関係の設定を行わないと、ユーザモードネットワーク(-user-net)しか使えなかったりしますが、それはqemuのサイトを参考にして、いろいろと設定を行ってください。
例1:
ユーザモードネットワークの時にネットワーク内から、ゲストOSにSSHアクセスしたいとき
-redir tcp:22::10022 このように、qemuの起動時に個別にポートの変換を指定する必要があります。
例2:
ゲストOSもそのままネットワークに出たいとき
別途TUN/TAPパッケージを使用します。
# /opt/csw/bin/pkg-get -i tun
仮想マシンにqemuを使用して、
Windowsを動作させた画面
クリックで拡大
※最近のノートパソコンでは、キーボードがUSB接続タイプになっているものがあります。この場合、Windowsのインストールの際にキーボードの「半角/全角」キーが押せません。この場合、「S」キーを押してその他を選び、その中で再度「Japanaese Keyborad」を選ぶようにします。
qemuはCPUもエミュレートしているためとても動作が緩慢なのが欠点です。そのため最近の高性能なCPUを搭載しメモリも大量に搭載しているノートPCでないと、実際には利用するのにストレスがたまると思います。しかしどうしてもWindowsをSolaris上で早く使いたいという場合は、次の方法が現実的でしょう。
画面の転送ソフト使用してみる
QEMUはCPUもエミュレートしているため遅いので、実際にSolaris10上で使う場合には相当な性能のノートPCにメモリなどの資源もいっぱい搭載しないと実用的ではないかもしれません。そこで、別のWindowsマシン環境を用意して、その画面をノートPCに飛ばして使う方法をやってみましょう。
rdesktopを使用してみる
rdesktopは、Linuxディストリビューションにも標準で組み込まれている、Windowsのターミナルサービスに接続するためのリモートデスクトップ接続ソフトです。同じ機能を実現するものには後述するtsclientもあります。
rdesktopはrdesktop: A Remote Desktop Protocol Client のサイトから入手できますが、Open Source Software for Solaris にはバイナリが用意されていますので、ありがたくそちらを使わせていただくことにします。入手には先の場合と同じように、pkg-getコマンドを使用します。
# pkg-get -i rdesktop
No existing install of CSWrdesktop found. Installing...
Trying http://ibiblio.org/pub/packages/solaris/csw/
unstable/i386/5.10/rdesktop-1.5.0,REV=
2006.09.13-SunOS5.8-i386-CSW.pkg.gz
:
中略
:
[ クラス <none> を検査しています ]
<CSWrdesktop> のインストールに成功しました
#
これだけで必要なパッケージの依存関係を検証しながら、rdesktopがインストールされます。pkgの情報を見るとSolaris8用ですが、SolarisはLinuxのようにカーネルやライブラリに依存してバイナリが使えないなどがありません。これがSolarisの良いところです。
また、パッケージのインストール先である/opt/csw/binへのパスも、忘れずに設定しておくと良いでしょう。(設定しなくても、以下の例のようにフルパスで指定すれば実行可能です。)
インストールが終わった後は、あとはrdesktopプログラムを実行するだけです。端末エミュレータを開いて、まずは以下のコマンドを実行してください。
これだけで見慣れたWindowsの画面がSolaris10上の1つのウインドウに表示されたと思います。あとはウインドウ内のWindowsをローカルで使うのと同じように操作するだけです。
もちろん、Windowsのリモートデスクトップ接続と同じように、ローカルのSolarisの資源をrdesktop内のWindowsで使用することができます。この場合、上記接続時のオプションに対し、以下のようなオプションをおのおの追加します。
オプション
内容
-r comport:COM1 =/dev/ttyS0
rdesktop内のWindowsでローカルの/dev/ttyS0をCOM1として使用します。 下線部分は環境により変更します。(COM2やttyS1など)
-r disk:floppy=/mnt/floppy
rdesktop内のWindowsでローカルのフロッピーデバイスを使用します。
-r disk:cdrom=/mnt/cdrom
rdesktop内のWindowsでローカルのCD/DVDデバイスを使用します。
-r disk:export=/export
rdesktop内のWindowsでローカルのディスクデバイスを使用します。
-r lptport:LPT1=/dev/lp0
rdesktop内のWindowsでローカルのプリンタデバイスを使用します。
rdesktopを使って、
Windowsアプリケーションを
ノートPCに転送させた画面
クリックで拡大
他にもプリンタリダイレクトやサウンドを使う、クリップボードリダイレクションの機能などが実装されていて、結構便利に利用することができます。
このrdesktopを使うシーンとしては、会社のセキュリティ対策のためにモバイル用ノートPCには会社の情報などは一切入れないシンクライアントとして利用し、外から仕事をする場合はこのrdesktopを使用して行うなどが考えられます。また通信を暗号化したい場合はsshのポートフォワーディングを行えば(Port:3389/TCP)、安全に通信を行うことも可能で、情報漏えい対策の強い味方になるでしょう。
Let's報告
今回はソフトウエアの使い方が主でしたが、新しいハードウエアにSolaris10のインストールができましたら、是非HCL for Solaris OS に報告しましょう。これからチャレンジする人には、強い助っ人になることと思います。サーバだけではなくクライアントでもSolaris、広がるといいですね。
本記事は、サンのユーザ様自らの体験をお寄せいただいたものであり、サン・マイクロシステムズ社としての公式情報ではありません。
※著者のタイトル、所属等は、執筆当時のものであり、現在と異なる場合があります。
また、日本サン・ユーザ・グループは2007年6月をもって休会しております。
ページ先頭へ