setterm -
端末の属性を設定する
setterm [options]
setterm
は、指定された端末機能
(terminal capabilities)
を呼び出すための文字列を標準出力に出力する。
その際、使用すべき文字列を見つけるために、
可能なかぎり
terminfo
を参照する。もっとも、一部のオプション
(以下で「仮想コンソール専用」と断り書きがあるもの)
は、
terminfo(5)
にある機能と対応していない。その場合は、端末のタイプが
"con" か "linux"
ならば、指定された機能を
PC Minix
の仮想コンソールドライバで呼び出すための文字列を出力する。
端末に実装されていないオプションは、無視する。
引き数にブール値 (
on
または
off)
を取るオプションは、デフォルトでは
on になっている (訳注:
現在では、デフォルトが
on のものも
off
のものもある。たとえば、
--bold
のデフォルトは、たぶん
off である)。
以下で
8-color
と書いてあるところには、
black,
red,
green,
yellow,
blue,
magenta,
cyan,
white
が使える。
16-color
と書いてあるところには、
8-color と
grey、それに
bright を前に付けた
red,
green,
yellow,
blue,
magenta,
cyan,
white が使える。
様々なカラーオプションは、少なくとも仮想端末では、それぞれ独立して設定できる。
ただし、複数のモード
(たとえば、
--underline と
--half-bright)
を同時に設定したときの結果は、ハードウェア次第である。
指定するかしないかが任意の引き数では、オプションと引き数の間にスペースではなく、'='
(等号)
が必要である。たとえば、--option=argument
のように
(訳注:実際のところ、util-linux
2.36 では、
--clear
のような例外もあるが、たいていの場合スペースも使える)。
-
--appcursorkeys on|off
- カーソルキーアプリケーションモードを
on または off にする。on
の場合は、カーソルキーを押したとき、ESC
[ A, ESC [ B
などの代わりに、ESC O A,
ESC O B
などが送出される。それが
vi
ユーザーに対して引き起こしかねない問題については、
Text-Terminal-HOWTO の「vi and
Cursor-Keys」セクションをご覧いただきたい。仮想コンソール専用。
-
--append console_number
-
--dump
と似ているが、既存のスナップショットファイルを上書きせず、その末尾に追記する。
--dump
オプションが指定されていない場合にのみ効果がある。
-
--background 8-color|default
- テキストの背景色を設定する。
-
--blank[=0-60|force|poke]
- スクリーンが自動的に消灯されるまでの無活動時間を分単位で指定する
(自動消灯には、使用できれば
APM
を使用する)。引き数を指定しない場合は、消灯状態を返す
(どの vt
が消灯されたかを返す。消灯されていない
vt については、0
を返す)。仮想コンソール専用。
引き数 force
は、キーが押されても、スクリーンを消灯したままにする。
(訳注: --blank=force
を指定すると、仮想コンソールは即座に消灯する。
そして、どのキーを押しても消灯は解除されない。)
引き数 poke
は、スクリーンの消灯を解除する。(訳注:
--blank=force
で消灯したとき、それを解除するのに
setterm --blank=poke
を使用する。)
- [訳注]
-
--blank
に引き数を付けなかったときの動作がよく分からない。
訳者のところでは、消灯しているはずの仮想コンソールが他にあっても、その番号を示さず、常に
0 が返ってくる。1
つのコンピュータに複数の端末がつながっていた時代の話なのだろうか。
つまり、vt とは、virtual
terminal ではなく、video terminal
のことなのか。
-
--bfreq[=number]
- ベルの周波数をヘルツ
(Hz)
で指定する。引き数が指定されていない場合は、デフォルトの
0
になる。仮想コンソール専用。
-
--blength[=0-2000]
- ベルの継続時間をミリ秒単位で設定する。引き数が指定されていない場合は、デフォルトの
0
になる。仮想コンソール専用。
-
--blink on|off
- 点滅モードを on
または off にする。
仮想コンソール以外では、
--blink off
にすると、(太字・半輝度・点滅・反転といった)
全ての属性が off
になる。
-
--bold on|off
- 太字 (高輝度)
モードを on または off
にする。仮想コンソール以外では、
--bold off にすると
(太字・半輝度・点滅・反転といった)
全ての属性が off
になる。
-
--clear[=all|rest]
- 引き数なし、または引き数
all
が指定された場合は、
clear(1)
コマンドとまったく同じように、スクリーン全体をクリアしてカーソルをホームポジションに移動する。
引き数 rest
が指定された場合は、現在のカーソル位置からスクリーンの最下行までをクリアする。
-
--clrtabs[=tab1 tab2 tab3 ...]
- 指定された水平方向のカーソル位置にあるタブストップを解除する。範囲は
1-160
である。引き数が指定されない場合は、全てのタブストップを解除する。仮想コンソール専用。
-
--cursor on|off
- 端末のカーソルを
on または off にする。
- --default
- 端末のレンダリングオプションをデフォルト値に戻す。
-
--dump[=console_number]
- 番号で指定された仮想コンソールのスナップショットを
--file
オプションで指定されたファイルに書き出す。ファイルの内容は上書きされる。
デフォルトのファイルは
screen.dump
である。引き数が指定されない場合は、現在使用中の仮想コンソールをダンプする。
このオプションは、
--append
を無効にする。
-
--file filename
- 同じコマンドライン上に
--dump や --append
オプションがある場合に、それに使うスナップショットファイルの名前を設定する。
このオプションが指定されない場合、デフォルトのファイル名はカレントディレクトリの
screen.dump
である。システムの規定する長さの上限を越えたパス名は、切り詰められる。
linux/limits.h の PATH_MAX
の値を参照すること。
-
--foreground 8-color|default
- テキストの前景色を設定する。
-
--half-bright on|off
- 減光 (半輝度)
モードを on または off
にする。仮想コンソール以外では、
--half-bright off
にすると、(太字・半輝度・点滅・反転といった)
全ての属性が off
になる。
-
--hbcolor [bright] 16-color
- 半輝度の文字の色を設定する
(訳注:
減光する代わりに、色を変更する端末で使用)。
- --initialize
- 端末の初期化文字列を出力する。
通常、それは、端末のレンダリングオプションを設定し、その他の属性をデフォルトの値にする。
-
--inversescreen on|off
- スクリーン全体で前景色と背景色を入れ換える。
-
--linewrap on|off
- 行がいっぱいになったとき、端末上の表示を次の行に続けるか否かを設定する。
-
--msg on|off
- カーネルの printk()
によるメッセージをコンソールに送出するか否かを設定する。仮想コンソール専用。
- [訳注]
- コンソール出力の閾値であるロギングレベルが、現在いくつに設定されているかを知るには、
cat /proc/sys/kernel/printk
を実行すればよい。
その出力の一番左側の数値が現在のロギングレベルである。
各数値の意味については、
syslog(2)
に説明がある。次の項目
--msglevel も参照。
-
--msglevel 0-8
- カーネルの printk()
によるメッセージに対する、コンソールのロギングレベルを設定する。
ここで設定したレベルよりも高い重大度を持つ
(等しいレベルは含まない)
全てのメッセージが、コンソールに表示されることになる
(訳注:
レベルの数値が小さいほど、重大度は高い)。
従って、ロギングレベルを
8
に設定すると、全てのカーネルメッセージが表示される。
なお、ロギングレベル
0 は --msg on
と同じ効果がある。カーネルメッセージのロギングのインターフェースとしては、
klogd(8)
の方が使いやすいかもしれない。
仮想コンソール専用。
- [訳注]
- ロギングレベルは、0
から 7
まであり、それぞれ
emerg, alert, crit, err, warning, notice, info, debug
という重大度に対応する。詳しくは、
syslog(2) の The log level
セクションなどを参照していただきたい。
-
--powerdown[=0-60]
- VESA
パワーダウンまでの時間を分単位で設定する。引き数を指定しない場合は、デフォルトの
0 になる
(すなわち、パワーダウンを行わない)。この時間が経過すると、
コンソールが消灯している場合は
vsync
サスペンドモードになり、モニタがサスペンドモードの場合はパワーダウンモードになる。
-
--powersave mode
- 以下の値が mode
に指定できる。
- vsync|on
- モニタを VESA vsync
サスペンドモードにする。
- hsync
- モニタを VESA hsync
サスペンドモードにする。
- powerdown
- モニタを VESA
パワーダウンモードにする。
- off
- モニタの VESA
パワーセーブ機能を
off にする。
-
--regtabs[=1-160]
- 全てのタブストップを解除して、通常のタブストップパターンを設定する。
タブ位置は、指定した数値ごとに置かれる。引き数を指定しない場合は、デフォルトの
8
が使用される。仮想コンソール専用。
-
--repeat on|off
- キーボードリピートを
on または off
にする。仮想コンソール専用。
- --reset
- 端末リセット文字列を出力する。通常、それは、端末を起動時の状態にリセットする。
- --resize
- 行と列の最大の大きさを見積もって、端末のサイズをリセットする。
これは、実際の大きさとカーネルの端末ドライバーがうまく噛み合っていないとき、役に立つ。
特筆すべき使用例は、シリアルコンソールの場合だ。そこでは
ioctl(3p)
を使わず、バイトストリームとブレークのみを使用しているのである。
-
--reverse on|off
- ビデオの反転モードを
on または off
にする。仮想コンソール以外では、
--reverse off
にすると、(太字・半輝度・点滅・反転といった)
全ての属性が off
になる。
- --store
- 端末の現在のレンダリングオプション
(前景色と背景色)
を、デフォルトにリセットする際に使用する値として保存する。仮想コンソール専用。
-
--tabs[=tab1 tab2 tab3 ...]
- 指定された水平方向のカーソル位置にタブストップを設定する。範囲は
1-160
である。引き数を指定しない場合は、現在のタブストップの設定を表示する。
-
--term terminal_name
- 環境変数 TERM
を上書きする。
-
--ulcolor [bright] 16-color
- 下線を引かれる文字の色を設定する
(訳注:
下線を引く代わりに、色を変更する端末で使用)。仮想コンソール専用。
-
--underline on|off
- 下線モードを on
または off にする。
- --version
- バージョン情報を表示して終了する。
- --help
- ヘルプを表示して終了する。
バージョン 2.25 以来、
setterm
は、昔からのハイフン
1 つの長いオプション
(たとえば
-help)
に加えて、ハイフン 2
つの長いオプション
(たとえば
--help)
をサポートしている。スクリプト内では、後方互換のため、ハイフン
2 つよりハイフン 1
つを使う方がよい。現在のところ、ハイフン
1
つの互換性を止める計画はなく、またそうする正当な理由もない。
Minix 版と Linux
版の違いが、この文書には書かれていない。
stty(1),
tput(1),
tty(4),
terminfo(5)
この setterm
コマンドは、util-linux
パッケージの一部であり、Linux
Kernel Archive <
https://www.kernel.org/pub/linux/utils/util-linux/>
から入手できる。