console(4) コンソール端末 (console terminal) と仮想コンソール (virtual console)

説明

Linux システムは普通、/dev/ttyn (n は 1 ≤ n ≤ 63) と呼ばれる仮想コンソール (メジャーナンバー (major number) 4 マイナーナンバー (minor number) 1 から 63 のキャラクターデバイス (character device)) を持つ。 現在のコンソールは /dev/console または /dev/tty0 (メジャー ナンバー 4 マイナーナンバー 0 のキャラクターデバイス) によっても扱える。 デバイスファイル (device file) /dev/* は普通 MAKEDEV スクリプトまたは mknod(1) を使ってモード 0622、所有者 root.tty として作成される。

カーネル (kernel) バージョン 1.1.54 以前は、仮想コンソールの数はコンパイル時に (tty.h 中の : #define NR_CONSOLES 8 によって) カーネルに埋め込まれていた。 そして、それを変更してコンパイルし直すことで仮想コンソールの数を変更できた。 カーネルバージョン 1.1.54 以降では仮想コンソールが必要とされる時は すぐに動作中に作成される。

コンソール上でプロセスを開始する一般的な方法は: (a) コンソール上で mingetty(8) (または agetty(8)) をスタートさせることを (inittab(5) の中で) init(8) に伝える。 (b) コンソール上でプロセスをスタートすることを openvt(1) に頼む。 (c) X を開始する - X は使われていないコンソールのうち最初のものを見付け、 そこに表示を出力する。(昔ながらの doshell(8) もある。)

コンソールを切り替える一般的な方法は: (a)コンソール n に切り替える ために Alt+Fn または Ctrl+Alt+Fn を使う。 AltGr+Fn を使うと、おそらくコンソール n+12 に切り替わる [ここでの Alt と AltGr はそれぞれ左右の Alt キーを示す]。 (b) 現在割り当てられているコンソールを循環するために Alt + 右矢印キー または Alt + 左矢印キーを使う。(c) chvt(1) プログラムを使う (キーマッピングはユーザがセットできる、 loadkeys(1) を見よ。 上で述べたキーバインドはデフォルトの設定によるものである)。

deallocvt(1) コマンド(以前は disalloc という名前だった)は、 プロセスに結びつけられていないコンソールの スクリーンバッファ (screen buffer) のために使われているメモリを解放する。

特性

コンソールは多くの状態をもっている。 私は、それについていつかドキュメントにしたいと考えている。 もっとも重要な事実はコンソールは vt100 端末を真似ている (シミュレートしている) ということである。 コンソールは ESC c という二つの文字を印字する事によって、 初期状態にリセットされる。 エスケープシーケンス (escape sequences) については console_codes(4) で全て説明してある。

ファイル

/dev/console
/dev/tty*

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。