EN JA
SYSCONS(4)
SYSCONS(4) FreeBSD Kernel Interfaces Manual SYSCONS(4)

名称

syscons, scコンソールドライバ

書式

options MAXCONS=N
options SC_ALT_MOUSE_IMAGE
options SC_CUT_SEPCHARS=_characters_
options SC_CUT_SPACES2TABS
options SC_DISABLE_KDBKEY
options SC_DISABLE_REBOOT
options SC_HISTORY_SIZE=N
options SC_MOUSE_CHAR=C
options SC_NO_CUTPASTE
options SC_NO_FONT_LOADING
options SC_NO_HISTORY
options SC_NO_PALETTE_LOADING
options SC_NO_SUSPEND_VTYSWITCH
options SC_NO_SYSMOUSE
options SC_PIXEL_MODE
options SC_TWOBUTTON_MOUSE
options SC_NORM_ATTR=_attribute_
options SC_NORM_REV_ATTR=_attribute_
options SC_KERNEL_CONS_ATTR=_attribute_
options SC_KERNEL_CONS_REV_ATTR=_attribute_
options SC_DFLT_FONT
makeoptions SC_DFLT_FONT=_font_name_
device sc

/boot/device.hints 中で:
hint.sc.0.at="isa"
hint.sc.0.vesa_mode=0x103

解説

syscons ドライバは、複数の仮想端末を提供します。それは、SCO のカラーコンソールドライバに類似しています。

syscons ドライバは、キーボードドライバ ( atkbd(4)) とビデオカードドライバ ( vga(4)) の上部で実装されるので、それらの両方がシステムで設定されることを要求されます。

システムでは、1 つの syscons デバイスしか定義できません。

仮想端末

syscons ドライバは、端末がまるで別々であるかのように見える複数の仮想端末に提供します。 1 つの仮想端末は、現在が考慮され、排他的にスクリーン (画面) とキーボードを占有します。他の仮想端末は、バックグラウンドに置かれます。

仮想端末を使用するためには getty(8) がシステムにユーザがログインできるようにするためにアクティブとなり login(1) を実行することを認識できるようにするために、 /etc/ttys で個別に ``on'' とマークしなければなりません。デフォルトでは、最初の 8 つの仮想端末だけが /etc/ttys でアクティブとなっています。

利用者は、仮想端末を切り換えるために Alt キーとスイッチキーを押します。次のテーブルは、スイッチキーと仮想端末との対応をまとめています。

Alt-F1   ttyv0      Alt-F7   ttyv6      Shift-Alt-F1   ttyva 
Alt-F2   ttyv1      Alt-F8   ttyv7      Shift-Alt-F2   ttyvb 
Alt-F3   ttyv2      Alt-F9   ttyv8      Shift-Alt-F3   ttyvc 
Alt-F4   ttyv3      Alt-F10  ttyv9      Shift-Alt-F4   ttyvd 
Alt-F5   ttyv4      Alt-F11  ttyva      Shift-Alt-F5   ttyve 
Alt-F6   ttyv5      Alt-F12  ttyvb      Shift-Alt-F6   ttyvf

また、利用者は、仮想端末を循環して利用できるようにするために ``nscr'' キー (通常 AT 拡張キーボードで PrintScreen キー) を使用することができます。

利用可能な仮想端末のデフォルトの数は、16 個です。カーネル設定オプションの MAXCONS (下記参照) によってこれを変更することができます。

通常、X サーバが表示目的のために仮想端末を必要とするので、 X サーバでそれを使用することができるように、少なくとも 1 台の端末を getty(8) で未使用として残さなければならないことに注意してください。

キー定義とファンクションキー文字列

キーボードドライバに関連して、 syscons ドライバは、ユーザにキー定義とファンクションキー文字列を変更することを許可します。 kbdcontrol(1) コマンドは、 (``キーマップ (keymap)'' ファイルとして知られている) キー定義ファイルをロードし、現在のキーマップをダンプし、ファンクションキーに文字列を割り当てます。キーマップファイルに関しては keyboard(4)kbdmap(5) を参照してください。

利用者は、システムが起動するとき、自動的にロードできるように希望するキーマップファイルを /etc/rc.conf.local (訳注: 現在は、/etc/rc.conf のほうが望ましい) の keymap 変数に設定することができます。

ソフトウェアフォント

ほとんどの近代的なビデオカードに、例えば VGA、関して syscons ドライバとデオカードドライバは、ユーザにスクリーンで使用されるフォントを変更することを許可します。 vidcontrol(1) コマンドは /usr/share/syscons/fonts からフォントファイルをロードするために使用することができます。

フォントは、様々なサイズがあります: 8x8, 8x14 と 8x16。 8x16 フォントは、80 カラム× 25 行モードの VGA カードで通常使用されます。他のビデオモードは、さまざまなフォントサイズを必要とするかもしれません。常に同じフォントの 3 つのサイズすべてをロードした方が良いでしょう。

利用者は、システムが起動するとき、自動的にロードできるように希望するフォントファイルを /etc/rc.conffont8x8, font8x14font8x16 変数に設定することができます。

オプションで、利用者は、デフォルトとして特定のフォントファイルを指定することができます。下記の SC_DFLT_FONT オプションを参照してください。

スクリーンマップ

利用者のビデオカードがソフトウェアフォントをサポートしていないなら、利用者のビデオカードに組み込まれたフォントを再マップすることによってでも同様の効果を得ることができます。文字コードの間のマッピングを定義するスクリーンマップファイルをロードするためには vidcontrol(1) を使用してください。

マウスサポートとコピーアンドペースト

利用者は、スクリーンのテキストをコピーして、まるでそれが手でタイプされたかのようにペーストする (貼る) のにマウスを使用することができます。利用者は、 vidcontrol(1) によって仮想端末でマウスカーソルを有効にするために、マウスデーモン moused(8) を走らせなければなりません。

マウスボタン 1 (通常左ボタン) を押すと、選択は、始まります。ボタン 1 を離すと、選択処理は、終わります。選択されたテキストは、フォアグランドとバックグラウンドの色を反転することによってマークされます。利用者がボタン 3 (通常右ボタン) を押せば、選択された領域が展開されます。選択されたテキストは、コピーバッファに置かれ、何回でも好きなだけ、ボタン 2 (通常中央ボタン) を押すことによってそのカーソル位置にペーストする (貼る) ことができます。

利用者のマウスに 2 個のボタンしかないなら、テキストをペーストを右ボタンで行えるようするために、下記の SC_TWOBUTTON_MOUSE オプションを使用することができます。代わりに、利用者は、マウスデーモンに中央ボタンをエミュレートできるようにすることができます。詳細については moused(8) マニュアルページを参照してください。

逆スクロール

syscons ドライバは、ユーザにスクリーンの先頭で ``スクロールオフ'' した (スクロールして見えなくなった) 出力を閲覧することをできるようにします。

``slock'' キー (多くのキーボードで通常 ScrllLock / Scroll Lock または Pause) を押せば、端末は、``スクロールバック'' モードになります。それは Scroll Lock LED によって表示されます。矢印キー、 Page Up/Down キー、および Home/End キーを使用して、バッファに入れられた端末の出力をスクロールしてください。もう一度 ``slock'' キーを押せば、通常のターミナルモードに戻ります。

以下で説明された SC_HISTORY_SIZE オプションでスクロールバックバッファのサイズを設定することができます。

スクリーンセーバ

syscons ドライバは、現在の仮想端末が使用されていないなら、すなわち、ユーザがキーボードでタイプしていないかマウスを動かしていないなら、スクリーンセーバを表示するようにできます。詳細に関しては splash(4)vidcontrol(1) を参照してください。

ドライバの設定

カーネル設定オプション

次のカーネル設定オプションは syscons ドライバを制御します。
MAXCONS=N
このオプションは、仮想端末の数を N に設定します。デフォルト値は、16 です。
SC_ALT_MOUSE_IMAGE
このオプションは、仮想端末でマウスカーソルを表示する代替の方法を選択します。いくつかのビデオカードで矢印の形のカーソルを描くことが高価 (付加が掛かる) であるかもしれないなら、利用者は、このオプションを試みたいかもしれません。しかしながら、代替のマウスカーソルの外観は、それほど魅力的ではありません。また、利用者が SC_NO_FONT_LOADING オプションを使用し、マウスを使用できるようにしたいなら、このオプションを使用しなければならないことに注意してください。
SC_CUT_SEPCHARS=_characters_
このオプションは、カット操作をするドライバが単語の境界を検索する時に探す文字を指定します。デフォルトでは、その値は“ \x20”—空白文字です。
SC_CUT_SPACES2TABS
このオプションは、カットバッファ中にデータをコピーするとき、先導する空白をタブに変換するようにドライバに指示します。これは、タブで字下げされたテキストをコピーするとき、字下げを保存するために役に立ちます。
SC_DISABLE_KDBKEY
このオプションは、``デバッグ'' キーの組み合わせを無効にします (デフォルトで Alt-Esc または Ctl-PrintScreen です)。それによって、キーの組み合わせを押すことによって、ユーザがカーネルデバッガ (KDB) に入れないようにします。それでも、KDB がカーネルに含まれているなら、カーネルパニックか、またはブレークポイントに到達するとき、呼び出されます。このオプションが定義されていないなら、この振る舞いは sysctl(8) 変数 hw.syscons.kbd_debug によって実行時に制御されます。
SC_DISABLE_REBOOT
このオプションは、無頓着なユーザが偶然システムをリブートしないように、 ``リブート'' キー (デフォルトで、それは Ctl-Alt-Del) を無効にします。このオプションが定義されていないなら、この振る舞いは sysctl(8) 変数 hw.syscons.kbd_reboot によって実行時に制御されます。
SC_HISTORY_SIZE=N
バックスクロールバッファのサイズを N 行に設定します。デフォルト値は、100 です。
SC_MOUSE_CHAR=C
上記の SC_ALT_MOUSE_IMAGE オプションが指定されていない場合、 syscons ドライバは、いくつかのシステムの仮想端末でマウスカーソルを表示するために 4 つの連続した文字を予約しています。このオプションは、このために使用されるための最初の文字コードを C に指定します。デフォルト値は、0xd0 です。良い候補は、0x03 です。
SC_PIXEL_MODE
ピクセル (ラスタ) モードコンソールのサポートを追加します。このモードは、いくつかのラップトップコンピュータで役に立ちますが、他のほとんどのシステムではそうではなく、syscons に相当量のコードを加えます。このオプションが定義されないなら、利用者は、カーネルサイズをたくさん減少させることができます。下記の VESAMODE フラグを参照してください。
SC_TWOBUTTON_MOUSE
利用者が 2 ボタンのマウスを持っているなら、テキストのペーストにマウスの右ボタンを使用するためにこのオプションを追加することができます。上記の マウスサポートとコピーアンドペースト を参照してください。
SC_NORM_ATTR=_attribute_
SC_NORM_REV_ATTR=_attribute_
SC_KERNEL_CONS_ATTR=_attribute_
SC_KERNEL_CONS_REV_ATTR=_attribute_
これらのオプションは、デフォルト色を設定します。利用可能な色は < machine/pc/display.h> で定義されています。下記の 使用例 を参照してください。
SC_DFLT_FONT
このオプションは、デフォルトフォントを指定します。利用可能なフォントは: iso, iso2, koi8-r, koi8-u, cp437, cp850, cp865, cp866 と cp866u です。 16 行、14 行と 8 行のフォントデータでは、コンパイルされます。このオプションがなければ syscons ドライバは、利用者が開始時に明白にソフトウェアフォントをロードしないなら、ビデオカードで既にロードされているフォントならなんでも使用します。下記の 使用例 を参照してください。
SC_NO_SUSPEND_VTYSWITCH
loader(8) 調整変数と sysctl(8) 変数 hw.syscons.sc_no_suspend_vtswitch としても利用可能な、このオプションはサスペンド (中断)/レジューム (再開) (ACPI と APM) の間の仮想端末 (グラフィックス <->テキスト) の間の切り換えを無効にします。利用者が X を走らせているときシステムがフリーズするなら、サスペンドサスペンドするために、このオプションを使用してください。

次のオプションは、 syscons ドライバからいくつかの機能を取り除いて、カーネルメモリを節約します。

SC_NO_CUTPASTE
このオプションは、仮想端末で ``コピーアンドペースト'' 操作を無効にします。
SC_NO_FONT_LOADING
syscons ドライバは、いくつかのビデオカードでソフトウェアフォントをロードできます。このオプションは、この機能を取り除きます。それでも利用者がこのオプションがあるマウスを使用したならば、 SC_ALT_MOUSE_IMAGE オプションを使用しなければならないことに注意してください。
SC_NO_HISTORY
このオプションは、仮想端末でバックスクロールを無効にします。
SC_NO_SYSMOUSE
このオプションは syscons ドライバでマウスサポートを取り除きます。このオプションが定義されると、マウスデーモン moused(8) は、失敗します。このオプションは SC_NO_CUTPASTE オプションも含んでします。

ドライバフラグ

次のドライバフラグは syscons ドライバを制御するために使用することができます。それらは /boot/device.hints か、あるいはローダプロンプト ( loader(8) 参照) のいずれかで設定することができます。
0x0080 (VESAMODE)
このオプションは、カーネル初期化の間に /boot/device.hints 変数 vesa_mode によって指定される VESA モードのビデオカードにします。このフラグが働くようにするためには、カーネルは、上で説明された SC_PIXEL_MODE オプションでコンパイルされなければならないことに注意してください。 vidcontrol(1) を通して利用可能なモードのリストを取得することができます。
0x0100 (AUTODETECT_KBD)
このオプションは、現在アタッチされていないなら、キーボードデバイスを定期的にスキャンするように syscons ドライバに命令します。そうでなければ、ドライバは、ブートアップの間に一度だけキーボードをプローブします。

関連ファイル

/dev/console
/dev/consolectl
/dev/ttyv?
仮想端末
/etc/ttys
端末の初期化情報
/usr/share/syscons/fonts/*
フォントファイル
/usr/share/syscons/keymaps/*
キーマップファイル
/usr/share/syscons/scrmaps/*
スクリーンマップファイル

使用例

syscons ドライバがキーボードドライバとビデオカードドライバを必要とするとき、カーネル設定ファイルは、次の行を含むべきです。

device atkbdc 
device atkbd 
device vga 
device sc 
device splash

また、利用者は、これらのドライバのために /boot/device.hints で次の行を必要とします。

hint.atkbdc.0.at="isa" 
hint.atkbdc.0.port="0x060" 
hint.atkbd.0.at="atkbdc" 
hint.atkbd.0.irq="1" 
hint.vga.0.at="isa" 
hint.sc.0.at="isa"

利用者がスプラッシュイメージをロードしないか、スクリーンセーバを使用しないつもりであるなら、最後の行は、必要ではなく省略することができます。

キーボードコントローラドライバ atkbdc がキーボードドライバ atkbd によって必要とされることに注意してください。

次の行は、デフォルトの色を設定します。通常のテキストは、黒いバックグラウンドで緑色になります。反転されたテキストは、緑色のバックグラウンドで黄色になります。 config(8) の現在の実装のせいで、引用文字列の内側にどんな空白類も置けないことに注意してください。

options SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
options SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)

次の行は、カーネルメッセージのデフォルトの色を設定します。カーネルメッセージは、黒いバックグラウンドで明るい赤で印刷されます。反転されたメッセージは、赤いバックグラウンドで黒くなります。

options SC_KERNEL_CONS_ATTR=(FG_LIGHTRED|BG_BLACK)
options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)

次の例は、カーネルにフォントファイル cp850-8x16.fnt, cp850-8x14.font および cp850-8x8.font を加えています。

options SC_DFLT_FONT
makeoptions SC_DFLT_FONT=cp850
device sc

歴史

syscons ドライバは、 FreeBSD 1.0 ではじめて登場しました。

作者

syscons ドライバは、 Søren Schmidt <sos@FreeBSD.org>によって書かれました。このマニュアルページは、 Kazutaka Yokota <yokota@FreeBSD.org>によって書かれました。

警告

カットバッファから挿入可能なデータの総量は、端末の入力キューに格納されるバイト数のシステム制限である{ MAX_INPUT}に制限されます - 通常 1024 バイト ( termios(4) を参照)。

バグ

このマニュアルページは、不完全であり至急に改正を必要とします。
September 11, 2009 FreeBSD