VMware の Solaris で X を使う

VMware で Solaris の CDE 画面を出す方法をいくつか紹介します。

【HostOS 上に X Server を動かして使う方法】

1.ASTEC-X を使ってみる

市販の Windows 用の Xserver を使うことで、Windows 側に X の画面を表示することも可能になります。下記写真は、ASTEC-X (雑誌やASTEC のホームページで試用版がダウンロードできます。)を使った例です。どちらかというと、X の入れ替えをしないでよいのと、速度もそこそこ出るので、こちらの方が便利です。個人で買うには価格がとても高いのが難点ですので、Cygwin の環境を作れる人の場合、そちらを使う手もあると思います。以前は試用版も3ヶ月利用できましたが、最近は1ヶ月だけになってしまったので、私は利用していませんが・・・・・。

DTログインの画面になっていますが、よく見ると Windows の1つのウインドウのなかに表示されているのが見えます。下のタスクバーには VMware があるのがわかると思います。

これはログイン後の画面で、Windows のアプリケーションの TeraTermPro と、 Solaris のファイルマネージャとコンソールが、同じ画面上に出ています。また、隠れて VMware のウインドウもあるのがわかると思います。

2.PC-X を使ってみる

富士通から出ている PC-X です。こちらも試用版がここからダウンロードできます。富士通の製品は Solaris と相性がよいようで、font もきれいにでます。

PC-X 自体はデフォルトのままインストールすると、それ自体が1つの Windows のウインドウで動作するので、邪魔なときには最小化きるのが便利です。

3.WeirdX を使ってみる

どうしてもフリーなものがよくて、Cygwin での環境を作るのが面倒くさいという人には、WeirdX というフリーな Java で動作する XServer があります。JDK と WeirdX をダウンロードしてインストール、バッチファイルをちょこちょこと作成すればすぐに使えます。最新版は日本語にも対応できているので、そこそこ使えるのですが、重いのが難点です。

フォント関係をいじらないと下のような画面になっちゃいます。とりあえず、重いのを除けばフリーなので、どうにかこうにか使っていってみようと思っています。(XServer の製品で、2万以下のものが出れば、個人でも手が届くのですが・・・・。)

X Server を HostOS にもいれて使う場合のメリットは、VMware 以外のマシンに対しても X Server が使えることと、RAW Disk にインストールした Solaris を VMware でも共有している場合、RAW Disk の Solaris をネイティブに起動した場合と VMware で起動した場合とで X の設定(kdmconfig)をやりなおさなくても済むという点があります。

ただ、そういう使い方はそうあるわけではないので、デメリットとしての「重い」、「価格が高い」を避ける意味でも、下記の方法が一番良いのではないかなと思っています。

【別の Unix な GuestOS を起動しその X Server を使う方法】

同じ PC の中に VMware を使って VineLinux2.1.5 を入れ、そちらに X を飛ばしてみました。VineLinux のCUIの画面で、以下のコマンドを入力すれば簡単に Solaris の画面を飛ばすことができます。ベースに Linux を使っている人は、この方が 上記の方法より早く、X の入れ替えなども不要で、速度も出ます。

$ X -query xxx.xxx.xxx.xxx :1

xxx.xxx.xxx.xxxの部分には、Solaris9 のホスト名か、IPアドレスを入れます。:1 の部分は仮想コンソールの番号です。

こうして飛ばした Solaris8 の画面です。800 × 600 で表示されているのでフォントがちょっと変です。

上記の場合、Solaris9 をの画面を Linux に飛ばしてみました。

【Solaris に VMware 用のドライバをあてて X を使う方法】

今まではVMwareで Solaris を使うには、重たいコンソール画面を避けて HostOS から Telnet などでログインして使うか、重たいのを我慢して、HostOS 側に X Server をいれてそこで使うしかなかったのですが、最近 http://mostlysoftware.com/ に Solaris 用の VMware ドライバが出ていることを知り、実際にテストしたところすこぶる良好なので、ここでその適用方法などをご紹介します。

1.まずは使用する Solaris8 を確認してください。10/01 であれば問題ありませんが、それ以前の場合まず patch を入手し適用する必要があります。適用しなければならない patch

108653-41 ----- X11 6.4.1_x86: Xsun patch
         (security Xsun libdps cg6 fontadmin NKBM Xlib dtremote)
109401-13  ----- SunOS 5.8_x86: Updated video drivers and fixes
         (security X11 6.4.1_x86 video driver ati 810 matrox nvidia s3 kdmconfig)

です。 パッチは常に新しくなっているので、ハイフン以降の数字が大きいものを利用するようにしてください。パッチはこのように当てます。
# patchadd 108653-41

いろいろメッセージが出ますが、それに応答しながらインストールをしてください。

2.http://mostlysoftware.com/ からドライバをダウンロードする。=> sunwxf86-vmware.tar.gz

3.VMware の Solaris 上でドライバを解凍する。

$ gunzip sunwxf86-vmware.tar.gz
$ tar -xvf sunwxf86-vmware.tar

4.出来上がったパッケージファイルを Solaris に追加する。

su
password :
# pkgadd -d`pwd` SUNWxf86u
# pkgadd -d`pwd` SUNWxf86r

5.kdmconfig を実行し、X の設定を行う。

# kdmconfig

「kdmconfig」 の画面が出るので、[F2_Continue]を押す。

「View and Edit Window System Configuration」画面が出るので、[X] Change Video Device/Monitor を選択し[F2_Continue]を押す。

「Video Device Selection」 の画面が出るので、[X] XF86-VMWARE VMware virtual video adapter を選択し[F2_Continue]を押す。

「Monitor Type Selection」画面が出るので、[X] Notebook LCD XGA 48KHz (1024x768 @ 60Hz) を選択し、[F2_Continue]を押す。

「Screen Size Selection」画面が出るので、使用しているモニタにどのくらいのサイズで表示したいかを考えて、Screen Sizes を選択し、[F2_Continue]を押す。私の場合、[X] 10-inch (25cm) を選択した。

「Resolution/Colors Selection」画面が出るので、[X] 1024x768 - 16777216 colors @ 60Hz を選択し、[F2_Continue]を押す。

「Virtual Screen Resolution Selection」画面が出るので、[X] 1024x768 を選択し、[F2_Continue]を押す。

「kdmconfig Window System Configuration Test」画面が出るので、

X が起動し Test 画面が正常に表示されてボタンなども操作できることが確認できたら、[Yes]を押す。

「View and Edit Window System Configuration」画面に戻るので、[X] No changes needed - Test/Save and Exit を選択し[F2_Continue]を押す。

これで X の設定が完了し、コマンドプロンプトにもどれば設定は完了。次回の起動からは CDE 画面が VMware 内に表示されるようになります。

《注意》

kdmconfig で使えない設定で「kdmconfig Window System Configuration Test」画面からテストを実施した場合、画面が凍りつくことがあります。この場合、ターミナルソフトから telnet で ログインし Solaris を reboot してください。間違っても VMware の PowerOff ボタンを使わないように。ディスクイメージが破損する可能性があります。

あと、kdmconfig自体は telnet でログインしても動きますので、そちら側で kdmconfig を実行して X の設定をするという方法もあります。この場合、エラーが telnet で入っているターミナルのログに出ますので、原因切り分けをする上で楽であるということと、動作可能な設定である場合コンソール側で X がちゃんと表示されますし、ダメな場合すぐさまView and Edit Window System Configuration」画面に戻ってしまうので判断しやすいです。([F3_Quit Without Save]が出ている場合は、設定失敗ですね。)ファンクションキーは使えないのですが、[ESC]+[数字キー]がその代替になっているので、不便でもありません。

ちなみに、この VMware のドライバですが、Solaris の環境を忠実に引き継ぐようで、上の2つの方法(HostOS の上で X Server を使う方法や、別の GuestOS を起動してそこに X を飛ばす方法)とは異なり、コンソール画面での入力時にも出来なかった "|" "\" "_" のキーが入力できません。実際のキーマップのファイルにはそれらのキーの設定がちゃんと記述されているのですが機能しないため、いろいろな操作の際にとても不便をきたします。

で、当面の回避策としてたまたま 109 キーボードを使っていたので、割り当てられていない3つのキーにそれらのコードを割り当てて使ってみました。こんな感じで設定することで、とりあえずは入力が出来るようになります。ただ、キーの位置が位置なので、使いづらいのですが。

# /usr/poenwin/bin/xmodmap -e "keycode 66 = 0x007c"
# /usr/poenwin/bin/xmodmap -e "keycode 70 = 0x005c"
# /usr/poenwin/bin/xmodmap -e "keycode 72 = 0x005f"

それぞれ順番に、左 Windows キーが "|" 右 Windows キーが "\" Application キーが "_" 割り当てられます。毎回コマンドを入力するのも大変なので、シェルで自動実行されるようにしておくと良いでしょう。

ちゃんとキーマップの変更をしようと、Solaris のキーマップファイル(/usr/share/lib/keytables/type_101/japan)をいじったり、X 側のキーマップファイル(/usr/openwin/lib/X11/xkb/keycodes の中のファイル)をいじったりはしていますが、今のところ有効な手段は無いので、対処療法的であまり気に入らないのですが、とりあえずは当面上の方法で使おうと思っています。

【追加情報:2002/02/26】
結局 DCA から起動したときから"|" "\" "_" のキーは使えないことが判明。VMware が想定している104キーボードの情報を、Solaris が忠実に受け取っているため、"|" "\" "_" のキーが使えないのであろうと思う。ということは、Solaris 側の設定ファイルをいくらいじっても"|" "\" "_" のキーは使えないということ。断念するしかないかも。残念。

【追加情報:2003/2/21】
VMware 4.0 からは、"|" "\" "_" のキーが使えるようになっています。これでようやく X を飛ばさなくても VMware 上で Solaris がちゃんと使えるようになりました。

その他、ThinkPadi1124 ではこのドライバは正常に動作しません。「kdmconfig Window System Configuration Test」画面でエラーになります。(画面が固まったまま動かなくなります。)まだまだノートでちゃんと VMware の上での Solaris を使うには、前途多難なようです。

【追加情報】
上記の件ですが、Resorution/Colors/Refresh Rate を 800 x 600 - 16777216 Colors @ 60 Hz で Virtual Screen Resorutions を 800 x 600 にした場合、LANG=C の場合はイメージの色ずれだけなので使えるようになります。LANG=ja の場合、日本語表示まで崩れるので使いものになりません。=>おかしくなるチップセットの機種

Solaris をネイティブに動作させた場合で Solaris XFree86 Video Drivers and Porting Kit を使用しても、ThinkPadi1124 が使っている SMI の Video chip の場合 CDE が正常に動作しないので、ハードウエア側のなにかの問題だと思われます。他のハードは試していないのでわかりませんが、情報お持ちの方ご連絡いただけますか。

【XFree86 のドライバを使い X を使う方法】

まずは使用する Solaris8 を確認してください。10/01 であれば問題ありませんが、それ以前の場合まず patch を入手し適用する必要があります。適用しなければならない patch

108653-41 ----- X11 6.4.1_x86: Xsun patch
         (security Xsun libdps cg6 fontadmin NKBM Xlib dtremote)
109401-12 ----- SunOS 5.8_x86: Updated video drivers and fixes
         (security X11 6.4.1_x86 video driver ati 810 matrox nvidia s3 kdmconfig)

です。パッチは常に新しくなっているので、ハイフン以降の数字が大きいものを利用するようにしてください。パッチはこのように当てます。
# patchadd 108653-41

いろいろメッセージが出ますが、それに応答しながらインストールをしてください。

XFree86 のドライバを使う場合

XFree86 4.1.0 では、VMware のドライバがありますので、それを使えば X が表示できるようになるようですが、未検証のうちに上記のようなドライバが出てきたので、とりあえずよしとしています。(^^;)

XFree86 4.1.0 の検証しました。そのままでは私の使用している ThinkPad i1124 ではうまく動作させることができませんでした。ちょっと調査中です。

VMware for Linux のドライバを利用して使う場合

VMware 上の Solaris8 で Xfree86 4.1.0 に入れ替える方法が UNIX MAGAZINE 2002/2 に出ています。基本的にはこのサイトの X Serverの入れ替え(XFree86のセットアップ) と CDE と dtlogin 画面も使う の方法と同じですが、VMware 上で使うために VMware for Linux 用の vmware_drv.o を /usr/X11R6/lib/modules/drivers に入れて使おうというところが面白い発想でした。しかもちゃんと動作します。便利ですね。

ただ、この場合でも SMI LynxEM+ を使っている ThinkPadi1124 では正常に動作しません。Resorution/Colors/Refresh Rate を 800 x 600 - 16777216 Colors @ 60 Hz で Virtual Screen Resorutions を 800 x 600 にした場合、LANG=C の場合はイメージの色ずれだけなので使えるようになりますが。LANG=ja の場合、日本語表示まで崩れるので使いものになりません。=>おかしくなるチップセットの機種


「ノートPCにSolarisを」のホームへ