説明
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/>
から入手できる。