VIDCONTROL(1) | FreeBSD General Commands Manual | VIDCONTROL(1) |
名称
vidcontrol — システムコンソールの制御と設定のユーティリティ書式
vidcontrol | [ -CdLHPpx][ -b color][ -c appearance][ -f [ size] file][ -g geometry][ -h size][ -i adapter | mode][ -l screen_map][ -M char][ -m on | off][ -r foreground background][ -S on | off][ -s number][ -T xterm | cons25][ -t N | off][ mode][ foreground [ background]][ show] |
解説
vidcontrol ユーティリティは、画面モード、色、カーソル形状、画面出力マップ、フォント、スクリーンセーバタイムアウトのような、 syscons(4) コンソールドライバの様々なオプションを設定するために使用されます。以下のコマンドラインオプションをサポートしています:
- mode
-
新しいビデオモードを選択します。現在サポートしているモードは次の通りです:
80x25,
80x30,
80x43,
80x50,
80x60,
132x25,
132x30,
132x43,
132x50,
132x60,
VGA_40x25,
VGA_80x25,
VGA_80x30,
VGA_80x50,
VGA_80x60,
VGA_90x25,
VGA_90x30,
VGA_90x43,
VGA_90x50,
VGA_90x60,
EGA_80x25,
EGA_80x43,
VESA_132x25,
VESA_132x43,
VESA_132x50,
VESA_132x60。ラスタテキストモード
VESA_800x600 も選択できます。代わりに、形式
MODE_
< NUMBER>のモード名を使用することによって、モードは、その番号で指定することができます。有効なモード番号のリストは、 -i mode オプションで得ることができます。後述の 「ビデオモードサポート」 を参照してください。 - foreground [ background]
- テキストを表示する際の色を変更します。前景色 (例: “vidcontrol white)”、あるいは前景色および背景色 (例: “vidcontrol yellow blue”) を指定することにより変更できます。後述の show コマンドを使用して、使用可能な色を見られます。
- show
- 指定したプラットフォームでサポートされている色を表示します。
- -b color
- ボーダ色を color に設定します。本オプションをビデオドライバが常にサポートしているのではないかもしれません。
- -C
- ヒストリバッファをクリアします。
- -c normal | blink | destructive
- カーソルの外観を変更します。カーソルは、反転ブロック ( normal) あるいは古いハードウェアカーソル様のもの ( destructive) のいずれかです。前者は、オプションで blink にできます。後者は実際にはシミュレートしています。
- -d
- 現在の画面出力マップを表示します。
- -f [ size] file
-
サイズ
size (現在のところ
8x8,
8x14,
8x16 のみが指定できます) 用のフォントをファイル
file から読み込みます。フォントファイルは uuencode された形式でも生のバイナリフォーマットでも構いません。メニューによる
vidfont(1) コマンドを使用して、好きなフォントをロード可能です。
size は省略可能です。この場合、 vidcontrol はフォントファイルの大きさから、推測します。
MDA や CGA のような古いビデオカードはソフトウェアフォントをサポートしないことに注意してください。後述の 「ビデオモードサポート」 と 「使用例」 と syscons(4) のマニュアルページも参照してください。
- -g geometry
- テキストモードの geometry を、選択可能なジオメトリに設定します。現在、 VESA_800x600 等のラスタモードのみが、本オプションをサポートします。後述の、 「ビデオモードサポート」 と 「使用例」 を参照してください。
- -h size
- ヒストリ (スクロールバック) バッファを size 行に設定します。
- -i adapter
- 現在のビデオアダプタに関する情報を表示します。
- -i mode
- 現在のビデオハードウェアにて使用可能なビデオモードを表示します。
- -l screen_map
- 画面出力マップをファイル screen_map から読み込んで設定します。 syscons(4) も参照してください。
- -L
- 出力画面マップをデフォルトに設定します。
- -M char
- マウスポインタを描く基本となる文字を char にします。
- -m on | off
- マウスポインタを on または off します。テキストモードでのカット &ペースト機能を利用するために moused(8) デーモンと共に使用します。
- -p
- 標準入力として参照される端末デバイスに対応する、ビデオバッファの現在の内容をキャプチャします。 vidcontrol ユーティリティは、ビデオバッファの内容を標準出力に対し、生のバイナリフォーマットで出力します。このフォーマットに関する詳細は、後述の 「ビデオバッファダンプのフォーマット」 を参照してください。
- -P
- -p と同じですが、ビデオバッファの内容をプレインテキストでダンプし、印字不可の文字とテキスト属性情報を無視します。
- -H
- -p または -P と共に使用すると、ビデオバッファの見える範囲だけではなくすべてのヒストリバッファをダンプするよう vidcontrol に指示することになります。
- -r foreground background
- 反転表示モードで用いる色を前景色 foreground および背景色 background に変更します。
- -S on | off
- vty の切り替えをオンまたはオフにします。 vty の切り替えがオフの場合、別の仮想端末への切り替えの試みは失敗します (デフォルトは、vty の切り替えが可能です)。この保護は、カーネルが DDB オプション付きでコンパイルされているときには簡単にバイパスされてしまいます。物理的に安全であるとみなされるマシン上では、おそらくカーネルデバッガを組み込むべきではないでしょう。
- -s number
- 現在の vty を number に設定します。
- -T xterm | cons25
- xterm と cons25 スタイルの端末エミュレーションを切り換えます。
- -t N | off
- スクリーンセーバのタイムアウト値を N 秒に設定、あるいはスクリーンセーバを無効 ( off) にします。
- -x
- 出力に 16 進数を用います。
ビデオモードサポート
前記の全モードをビデオカードがサポートしているとは限らないことに注意してください。 -i mode オプションを使用することにより、ビデオカードがサポートしているモードを調べることが可能です。VESA ビデオモードもしくは 132 桁モードを使用する場合には、 VESA BIOS サポートをカーネルにリンクするか KLD にてロードする必要があることにも注意してください ( vga(4) を参照してください)。
VGA 90 桁モードを使用する場合には、カーネルを VGA_WIDTH90 オプション付きでコンパイルする必要があります ( vga(4) を参照してください)。
25 または 30 行モード以外のビデオモードは、特定の大きさのフォントが必要となるかもしれません。前述の -f オプションを使用し、フォントファイルをカーネルにロードしてください。必要な大きさのフォントがカーネルにロードされていないと、ユーザが新規ビデオモードを設定しようとした場合に vidcontrol は失敗します。
モード | フォントの大きさ |
25 行モード | 8x16 (VGA), 8x14 (EGA) |
30 行モード | 8x16 |
43 行モード | 8x8 |
50 行モード | 8x8 |
60 行モード | 8x8 |
同じフォントの 3 つの大きさすべて (8x8, 8x14, 8x16) を常にロードすることが望ましいです。
/etc/rc.conf または /etc/rc.conf.local 中の変数を希望のフォントファイルに設定できます。これにより、システム起動時にこれらのフォントが自動的にロードされます。後述を参照してください。
ラスタテキストモードのいずれか使用したいなら、利用者は、 SC_PIXEL_MODE オプション付きでカーネルを再コンパイルする必要があります。このカーネルオプションについての詳細は、 syscons(4) を参照してください。
ビデオバッファダンプのフォーマット
vidcontrol ユーティリティは、 syscons(4) CONS_SCRSHOT ioctl(2) を使用し、ビデオバッファの現在の内容をキャプチャします。 vidcontrol ユーティリティは、バージョンと追加情報を標準出力に書き込み、その後にビデオバッファの内容を続けて書き込みます。VGA ビデオメモリは、典型的には 2 バイトタプルの並びであり、 1 タプルが各文字位置に対応します。各タプルでは、最初のバイトが文字コードであり、 2 番目のバイトが文字の色属性です。
VGA の色属性バイトは次のように見えます:
ビット# | 幅 | 意味 | |
7 |
<X0000000> | 1 | 文字のブリンク |
6:4 |
<0XXX0000> | 3 | 背景色 |
3 |
<0000X000> | 1 | 明い前景色 |
2:0 |
<00000XXX> | 3 | 前景色 |
以下は、3 ビット幅の基本色のリストです:
- 0
- 黒
- 1
- 青
- 2
- 緑
- 3
- シアン
- 4
- 赤
- 5
- マゼンタ
- 6
- 茶
- 7
- 明るい灰
ビット 3 (明い前景色フラグ) セット時の基本色は次の通りです:
- 0
- 暗い灰
- 1
- 明い青
- 2
- 明い緑
- 3
- 明いシアン
- 4
- 明い赤
- 5
- 明いマゼンタ
- 6
- 黄
- 7
- 白
例えば、2 バイト
65 158
は、大文字 A (文字コード 65) を、ブリンクさせ (ビット 7 セット)、明い青の背景 (ビット 6:4) に黄色 (ビット 3:0) という指定です。
vidcontrol の出力には小さなヘッダがあり、そこには、出力を処理するユーティリティに有用な追加情報が含まれます。
最初の 10 バイトは、常に次の並びです。
バイト範囲 | 内容 |
1 から 8 | リテラルテキスト“ SCRSHOT_ ” |
9 | ファイルフォーマットバージョン番号 |
10 | ヘッダの残りバイト数 |
これに続くバイトは、バージョン番号依存です。
バージョン | バイト | 意味 |
1 | 11 | 文字数単位の端末幅 |
12 | 文字数単位の端末の深さ | |
13 以降 | スナップショットデータ |
80x25 画面のダンプは (16 進数で) 次のように開始します。
53 43 52 53 48 4f 54 5f 01 02 50 19 ----------------------- -- -- -- -- | | | | ` 10 進数の 25 | | | `--- 10 進数の 80 | | `------ 残りのヘッダデータのバイト数 2 | `--------- ファイルフォーマットバージョン 1 `------------------------ リテラル "SCRSHOT_"
ビデオ出力設定
ブート時の設定
次の変数を /etc/rc.conf または /etc/rc.conf.local に設定することにより、ブート時にビデオ出力を設定可能です。
- blanktime
- -t オプション用のタイムアウトを設定します。
- font8x16, font8x14, font8x8
- -f オプション用のフォントファイルを指定します。
- scrnmap
- -l オプション用の画面出力マップファイルを指定します。
更なる詳細は rc.conf(5) を参照してください。
ドライバの設定
デフォルトフォントなどのデフォルト設定オプションの変更を、ビデオカードドライバが許す場合があります。その場合、ブート時のオプション設定の必要はなくなります。詳細はビデオカードドライバマニュアル (例えば vga(4)) を参照してください。関連ファイル
- /usr/share/syscons/fonts/*
- フォントファイル。
- /usr/share/syscons/scrnmaps/*
- 画面出力マップファイル。
使用例
カーネルに /usr/share/syscons/fonts/iso-8x16.fnt をロードしたい場合、 vidcontrol を次のように実行します。
vidcontrol -f 8x16 /usr/share/syscons/fonts/iso-8x16.fnt
フォントファイルが /usr/share/syscons/fonts にある場合、ファイル名を iso-8x16 のように短縮可能です。
vidcontrol -f 8x16 iso-8x16
更に、フォントの大きさ“ 8x16
”を省略可能です。
vidcontrol -f iso-8x16
更に、フォントの大きさを指定するサフィックスも省略可能です。この場合、 vidcontrol は、現在表示されているフォントの大きさを使用してサフィックスを作成します。
vidcontrol -f iso
同様に、画面出力マップファイルが /usr/share/syscons/scrnmaps にある場合、 -l オプション用のファイル名を短縮可能です。
vidcontrol -l iso-8859-1_to_cp437
このコマンドは /usr/share/syscons/scrnmaps/iso-8859-1_to_cp437.scm をロードします。
次のコマンドは、100x37 のラスタテキストモードを設定します (LCD モデルによっては有用です):
vidcontrol -g 100x37 VESA_800x600
次のコマンドは、最初の仮想端末のビデオバッファの内容をキャプチャし、出力を shot.scr ファイルへ向けます。
vidcontrol -p < /dev/ttyv0 > shot.scr
次のコマンドは、4 番目の仮想端末のビデオバッファの内容を、人間が読めるフォーマットで標準出力へダンプします。
vidcontrol -P < /dev/ttyv3
関連項目
kbdcontrol(1), vidfont(1), keyboard(4), screen(4), syscons(4), vga(4), rc.conf(5), kldload(8), moused(8), watch(8)様々な scr2* ユーティリティが、 Ports Collection の graphics と textproc のカテゴリにあります。
作者
<sos@FreeBSD.org>寄贈者
<sobomax@FreeBSD.org>, <nik@FreeBSD.org>December 23, 2006 | FreeBSD |