次のページ 前のページ 目次へ

3. Solaris x86 の仮想端末切り替えサブシステム

仮想端末サブシステムは、Solaris x86 のドキュメントが無く、サポートもさ れていない機能です。したがって、仮想端末の利用は 読者の皆さん自身の責任において行ってください。

Solaris の仮想端末は基本的に、Intel ベースの SVR4 仮想端末サブシステム とほぼ同様に動作します。しかし、以下に述べるようないくつかの制限があり ます。

まず最初に、Solaris 2.4 x86 システムで仮想端末を使う場合、必要なデバイ スを作成する必要があります。これは root になって行います。

まず chanmux デバイスのメジャー番号が 100 であることを確かめます:

        # grep -i chanmux /etc/name_to_major
        chanmux 100
        #
`chanmux' の後の数字が 100 以外であれば、仮想端末を作ろうとするのは即 刻止めて、仮想端末なしでやって行く方法を考えることをお勧めします。

この数字が 100 であれば、root ユーザで以下のコマンドを実行し、利用可能 な最大の数の仮想端末を作成します。

        # cd /dev
        # mknod vt01 c 100 1
        # mknod vt02 c 100 2 
        # mknod vt03 c 100 3
        # mknod vt04 c 100 4
        # mknod vt05 c 100 5
        # mknod vt06 c 100 6
        # mknod vt07 c 100 7
再設定のための起動は必要はありません。

次に、Solaris x86 のバージョン 2.1, 2.4 どちらのシステムの場合も、次 の行を inittab に追加して、仮想端末からログインできるようにします。

(注意: ここで間違ってはいけません。システムにログインで きなくなってしまうかもしれません。)

--------------------->ここから切り取る<-----------------------------------------------
v1:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` VT01 login: " -T AT386 -d /dev/vt01 -l console
v2:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` VT02 login: " -T AT386 -d /dev/vt02 -l console
v3:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` VT03 login: " -T AT386 -d /dev/vt03 -l console
v4:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` VT04 login: " -T AT386 -d /dev/vt04 -l console
---------------------->ここまで<----------------------------------------------- 
この行を設定すると、Alt-SysReq-F1 から Alt-SysReq-F4 までのキーを使っ て 4 つの仮想端末を有効にすることができます。

それからコマンド 'init q' を実行し、仮想端末をすぐに有効にし ます。

仮想端末の切り替えに使うキーは以下のようになります:

Alt-SysReq-F1 から Alt-SysReq-F7 でそれぞれ 仮想端末 1〜7 が有効になります(仮想端末がアクティブな場合)。

Alt-SysReq-n で次のアクティブな仮想端末の画面が有効に なります。

Alt-SysReq-p で前のアクティブな仮想端末の画面が有効に なります。

Alt-SysReq-h でコンソールに戻ります。

仮想端末を使っている場合、X サーバが使うための空きの仮想端末を少なくと も 1 つ残しておかなければなりません。

Solaris x86 における仮想端末サブシステムの制限を以下に示します:

通常の 15 個ではなく、合計 8 個の仮想端末(通常の仮想端末 7個 + コンソー ル 1 つ)しか使えません。8 個全てを割り当てた状態で追加の仮想端末を割り 当てようとすると、システムがパニックしてしまいます。(このバグは Solaris 用 XFree86 の X サーバでは回避されています。)

プログラミングの立場から言えば、仮想端末サブシステムはほぼ 「AT&T Unix System V/386 Release 4 Integrated Software Development Guide」 に書かれているように動くのですが、ioctl() の多くが壊れていま す。


次のページ 前のページ 目次へ