NetBSD/pc98(based on NetBSD 1.2) and later コンソールガイド 最終更新 1998年 3月 19日 このドキュメントは、NetBSD/pc98 付属のvscドライバの説明と、vsc デバイスを使用した時の注意点などについて説明しています。 1. vsc driverとは? vscはcharacter base と graphical base の差を除くと、X Windowの kterm プログラムと同等の機能が実現されています。主な機能は次の通 りです。 1) history scroll back のサポート scroll部表示は半画面分割と全画面の選択ができます。 2) ANSI ESCシーケンスに従ったステータスライン 3) VT220, ANSI ESCシーケンスをフルサポート 4) JIS規格に厳密に沿ったフォント表示が可能 例えば、JIS83 で追加されたフォントとコードのスワップや、 JIS90で追加された5文字の表示、JIS系の記号の表示が可能です。 また、JIS78とJIS83が厳密に区別されています。 5) SHIFT-JISも含めたISO-2022のサポート(当然半角仮名もOK。ただし ktermと同様に自動判定はしません。原理的に無理です) 6) X WindowはFreeBSD搭載のsyscons ver1.0をエミュレート また、全てのコントロールはvsc utility によって行うことが出来ます。 このように、NetBSD i386 オリジナルに搭載されているpccons やpcvt と 大幅に変わっていますので、TERM変数は'VSC30'か'VSC25'にしてください。 2. VSC ドライバに関する良くある質問とその答え(FAQ) (1) 沢山の漢字モードがありますが、違いはどのような物でしょうか? 各モードはデフォルトで map されている G0 G1 G2 G3 集合の char sets が違います。 これは、文章によって char sets を G1 集合に map せず デフォルトの G1 集合を GL or GR に SI SO するものが多いからです。 例えば、 Graphic chars を使った動画 G1 == DEC GRAPHICS 半角カナ (JIS) G1 == JIS KANA EUC G1 == 94 chars & multibytes chars set. などです。 ですから、正しく表示されない時は、vsc utility でモードをいろいろ変え てみてください。なお、SJIS <-> EUC は KANA KEY を押しても変えられます。 JIS EUC JE SJIS DEC ascii o o o x o romaji x x x o x jis-kanji o o o o o jis-hankana o x o o x ( SI/SO ) jis-hankana o x x o x ( GR mapping ) euc-kanji x o o x x euc-hankana o o o x x ( SS2 ) euc-ext o o x o x ( SS3 ) sjis-kanji x x x o x sjis-hankana o x x o x graph x x x x o fonts jis83 jis78 カナキーを押した時の表示コード start mode(デフォルト JIS) -> SJIS <->EUC (2) 仮想コンソールの切替えやヒストリースクロールはどうやるのでしょうか? 仮想コンソールの切替えは、(hook key)+Function key、ヒストリー スクロールの操作は、(hook key) + ROLL UP,ROLL DOWN,ESC です。 hook key は、configファイルのkbdc の flags で指定できます。指定 しない場合のデフォルトは、CTRL キーです(つまり、CTRL+Fnで仮想 コンソール切替え、CTRL+ROLL UP/DOWN,ESCでヒストリースクロールの 操作)。 kbdc の flags に 0x02 を指定すると、この hook key が CTRL キー から ALT(GRPH) キーに変更されます。 また、vsc -1 or vsc -2 でscroll type を変更できます。 なお、kernel が panicした時、及びVT Process 端末になっている場合で processがhangすると(例えば Xがhangした時)、これでは変えられないことが あります。この場合は、更に GRAPH KEY も同時に押してください。ただし、 これは非常の場合なので多用しないでください。 特に、X を使っている場合はXがhangするとfreezeした状態になります。 この様な場合の救済措置です。 以下は、キーバインドです。 (hook key)+GR+Func (hook key)+Func : 仮想コンソール切替えをする (hook key)+ROLL UP : ヒストリースクロール (hook key)+ROLL DOWN : ヒストリー機能を実行する/ヒストリースクロール (hook key)+ESC : ヒストリー機能を終了する (hook key)+HOME : キーボードのリセット及びキーマップのリセットをする CTRL+GR+HOME : 25行と30行の切替えをする CTRL+GR+STOP : カーネルデバッガを起動する (3) キーマップを変えたいのですが、どうやるのでしょうか? キーマップの変更は、/sys/arch/i386/isa/pcvt/Util/kcon にある、kcon プロ グラムがそのまま使えます。 ただし、/usr/share/misc/keycap がAT用に書かれ ていますから、注意してください。 なお、KEY MAPがおかしくなってしまった場合、(hook key)+HOME でキーマップ を初期化する事が出来ます。 (4) dvioutなどのグラフィック画面を使用する物で、グラフィックが表示されま せん。どうしてでしょう? vsc -g ON tty_device_nameを実行し、グラフィックの表示をONにしてください。 これは各ウィンドウごとに設定出来ます。デフォルトはOFFです。 また、PEGC搭載機種はデフォルトでPEGCモードになっています。この場合、デ フォルトデフォルトのkdviはつかえません。othersrcのPEGC用のdriverを使用し てください。 また、 640x480 の解像度を持つノートマシンでは、デフォルトでは立ち上げ 時に30行モードになっています。これを25linesにしないで下さい。 30行計画の ルーチンは、正常に640x480タイプノートでは動作しません。 (5) フォントをロードしたのに表示されません。どうしてでしょう? ロードされたフォントはJIS83のシーケンスのみで有効です。JIS78の場合、 内蔵ROMのフォントを使います。 なお、vsc -j ON でJIS83強制表示に変更出来ます。 (6) ロードしたフォントをクリアしたいのですが、どうすれば良いのでしょうか? vsc -l で JIS83フォントごとクリアする事が出来ます。JIS83フォントを再ロー ドしたい時は、vsc -J としてください。 (7) スクリーンセーバーをOFFにしたいのですが、どうすれば良いのでしょうか? vsc -s 0 を実行して下さい。これでOFFになります。 (8) X Windowが異常終了して画面が元にもどりません。どうすれば良いでしょうか? まず、X serverが残ってないか確認します。残っていたらkill -9 しましょう。 次に、vsc -X /dev/ttyv? とX Windowを立ち上げた仮想コンソールのデバイスを 指定してX modeをクリアします。 次にXを立ち上げたscreenに移動して、reset と打ちます。これで、すべて正常 になるはずです。 (9) タブコードを使用したテキストを表示すると、表示が乱れるのですが どうしてでしょう? vsc の実装では、タブの位置設定はデフォルトでは8 tabになっていますが、 vt100にはtabの位置を任意の位置に設定するエスケープシーケンスがあります。 /usr/share/tabset の中に、いろいろな設定ファイルがあるので、このファイ ルをcat することにより、任意の位置にタブを設定する事が出来ます。 また、NetBSD/pc98 の設定では、termios のoxtabsが有効になっていますが、 この設定だとある種のshellとの組合せでカーネルのタブ展開ルーチンが正しく 動かないようです。そのような場合は、.login にstty -oxtabsを記述して下さ い。 (10) 98ノートメニューの省電力の設定で、LCDの消灯を9分に設定しました。 screen saverのおかげで画面は暗くなりますが、バックライトが消えな い様です。どうしてですか? この現象は、最近の機種で見られ、対策無しではバックライトは自動的には 消えません(古い機種ではバックライトは自動的に消えます)。 最近の機種では、GDCの画面描画の停止を行うと ・省電力の設定時間より前なら、単にGDCが停止します。 ・設定時間を過ぎていると、GDCが停止し、更にバックライトが消えます。 よって、解決策は、VSCのscreen saverの開始時間を、省電力の設定時間より 大きくとっておく事です。例えばこの例では、9分なので、 vsc -s 600 (600秒) と実行し、screen saverの起動時間を10分後にする事で、規定時間を過ぎた後 にscreen saverがGDCの描画停止命令を発行し、バックライトも消えるように 出来ます。 11)起動時の画面のモードはどうなっているのでしょうか? 起動時の画面モードは、次のようになっています。 ・PEGC未搭載の機種の場合 行数はカーネルオプション(LINEIS25)によって決定され、EGCモード で動作します。 ・PEGC搭載機種の場合 1. GRPH + 1によって周波数31.5KHzにしている場合 30行表示になり、PEGCモードで動作します。 2. GRPH + 2によって周波数を24.8KHzにしている場合 行数はカーネルオプションによって決定され、PEGCモードで動作 します。 3. PC9821Noteの場合 30行表示になり、PEGCモードで動作します。 これらのモードは全て、vscコマンドにより変更出来ます。ただし、 1. および3. では必ずvm86biosdを立ち上げてください。vsc コマンド はvm86biosdに依頼して、98BIOSによる正規のモード設定を行います。 3. vscユーティリティについて vscユーティリティは、統合型のコンソールデバイス操作プログラムです。 このプログラムを使用する事により、コンソールの状態をいろいろと変える事 が出来ます。 ここでは、vscコマンドの使用方法についてまとめています。 使用方法 : vsc [DJXlrv][-cgjRS ON|OFF][-k kanjicode][-s saver][-m screenmode] tty vsc -1 : 全画面を使ってヒストリースクロールします。 vsc -2 : 上半画面のみをつかってヒストリースクロールします。 vsc -c ON : Cyrix 486DLC/5x86のキャッシュをONにします。 vsc -c OFF : Cyrix 486DLC/5x86のキャッシュをOFFにします。 vsc -g ON tty_device_name : グラフィックモードをON にする vsc -g OFF tty_device_name : グラフィックモードをOFFにする vsc -j ON : JIS83強制表示に変更します。 vsc -j OFF : JIS78表示に変更します。 vsc -R ON : 白黒反転表示になります。 vsc -R OFF : 標準の表示になります。 vsc -l : JIS83フォントをクリアします。 vsc -J : JIS83フォントをロードします。 vsc -s saver_time : スクリーンセーバーの起動時間を設定します。デフォ ルトはvsc -s 180 の状態で、起動時間は180秒(3分)です。 vsc -X tty : X modeをクリアします。 vsc -k kanji_mode : 画面に表示するキャラクタセットを決めます。kanji_mode には、 JIS -> j ローマ字 -> r EUC -> e SJIS -> s ユーザセット -> u JE -> je DEC graphic -> d を指定して下さい。 vsc -D : その時点でカーネル内にあるlog bufferの内容を画面に出力 します。この機能を使用する時は、options VSC_KMESGを指定 してカーネルを作成する必要があります。 vsc -m number : 画面モードを切替えます。numberの値と対応する画面 モードは次の通りです。 0: 80x30行表示(PEGC, 31.5KHz) 1: 80x25行表示(EGC, 24.8KHz) 2: 80x25行表示(PEGC, 31.5KHz) 3: 80x25行表示(PEGC, 24.8KHz) 4. vsc のサンプルプログラムについて /usr/src.skel/sys/arch/i386/isa/vsc/Util 以下に、VSC のサンプルプログ ラムがいろいろ入っています。これらのプログラムについては、簡単な使用方法 を書いた物しかないか、もしくは全くドキュメントがついていません。 いわゆるおまけプログラムですので「使ってみてのお楽しみ」ということで 御了承ください。 NetBSD/pc98 core team 連絡先 E-Mail:netbsd-98@njk.co.jp