グラフィカルログイン(gdm)を停止

グラフィカルログインのgdmのオプションの、「セッションの選択」の中には、「フェイルセーフの端末」というメニューがありますが、これはあくまでXサーバが起動した上にxtermだけが開くというセッションです。Xサーバが起動しない「コマンド行ログイン」のメニューはなく、このままでは、コンソールにテキストログインすることができません。そこで、gdmを停止して、必要な場合のみ手動でXを起動する方式に変更することにしました。

gdmを停止するには、実行例3のようにsvcadmコマンドを使います。ここでは「-t」オプションを付けているため、gdmの停止は一時的なものとなりますが、「-t」オプションを付けなければOSの再起動後もgdmは起動しません。

実行例3 gdmを(一時的に)停止する

$ svcs gdm                      ← 念のため、gdmの状態を確認
STATE          STIME    FMRI
online         22:14:20 svc:/application/graphical-login/gdm:default
$ pfexec su                     ← rootになる
# svcadm disable -t gdm         ← 一時的にgdmを停止
# exit                          ← rootを抜ける
$ svcs gdm                      ← gdmの状態を再度確認
STATE          STIME    FMRI
disabled       22:15:11 svc:/application/graphical-login/gdm:default

これで無事コンソールにテキストログインできます。しかし、デフォルト状態ではほとんど環境設定が行われていないので、各種設定ファイルを自分で記述する必要があります。たとえば、Bashがログインシェルとして起動された場合に読み込む$HOME/.bash_profile(.bash_loginまたは.profileでもよい)が存在しないため、PATHの設定などが行われていない状態になります。そこで、リスト1のような.bash_profileを作って.bashrcを読み込ませるようにするとよいでしょう。

リスト1 $HOME/.bash_profile

. $HOME/.bashrc   ← ログインシェルとして起動された場合も.bashrcを読み込ませる

xinit方式でのXの起動

この状態で、xinitコマンドを実行すると、左上にxtermだけが表示される、ウィンドウマネージャなしの素のXが起動します。ここで、左上のxterm内で「twm &」と入力すればtwmの環境に、「gnome-session &」と入力すればGNOMEの環境になります。ただし、twmを使用する場合、起動時になぜかフォントの読み込みで長い時間待たされるという現象が発生しました。GNOMEを使用したくない場合でも、ウィンドウマネージャは「metacity &」として、metacityを単独で利用するようにしたほうがいいかもしれません。なお、startxコマンドはインストールされていません。

日本語入力を行うには、「iiimx -iiimd」というコマンドを実行しておけばOKです(&を付けなくてもバックグラウンドで実行されます)。なお、OpenSolarisのXクライアントは、環境変数XMODIFIERSやGTK_IM_MODULEを設定していなくても(LANG=ja_JP.UTF-8で)日本語入力が可能になるようです(明示的に設定する場合は、XMODIFIERS=@im=htt; GTK_IM_MODULE=iiim; export XMODIFIERS GTK_IM_MODULEとします)。

以上を踏まえ、xinit実行時にGNOMEが起動するようにするには、$HOME/.xinitrcにリスト2のように記述しておけばよいでしょう。

リスト2 $HOME/.xinitrc

iiimx -iiimd          ← 日本語入力のため
exec gnome-session    ← GNOMEを起動

シリアルATAでも無事起動

その後、ハードディスクをIDE接続からシリアルATAに変更することを考えました。OSの再インストールを避けるため、OpenSolarisがインストールされたIDEディスクにIDE-SATA変換基板をつなぎ、PCにはシリアルATAの拡張カード(Silicon Image SiI 3512)を挿して接続し直しました。するとシリアルATA接続でも、GRUBはもちろん、OpenSolaris本体もそのまま無事起動し、もともとIDEディスクとしてインストールされたOSが、シリアルATAに変わっても何の設定変更もなしに動作しました。

おわりに

以上のように、OpenSolaris 2008.05は、BashやGNUコマンドのおかげでLinuxユーザにとっても使いやすいシステムに仕上がっていると言えます。あとは、Xサーバの問題や、LiveCD上のタイムゾーンの問題などが改善されるのを期待したいところです。