ログインプロンプトの表示を変更する

2008/02/03 | ラベル: , | このエントリーを含むはてなブックマークを表示

ログインプロンプトが表示されるとき、RHELでは画面がいったんクリアされるが、Debianではクリアされず以前の画面表示内容が残ったままになる。RHELで/etc/rc.localでメッセージを表示したい場合、画面がクリアされないようにログインプロンプトのオプションを変更する必要がある。

RHELのリファレンスマニュアルのブートプロセスの詳細を参照すると、

initコマンドがそのランレベルに適切なrcディレクトリを通過すると、/etc/inittabスクリプトは、ランレベルに割り当てられた各仮想コンソール(ログインプロンプト)用に /sbin/mingettyプロセスをフォーク(分岐)します。ランレベル2から 5は 6つの仮想コンソールをすべて持ちますが、ランレベル1(シングルユーザーモード)は1つしか持たず、ランレベル 0 とランレベル 6は仮想コンソールがありません。/sbin/mingettyプロセスは通信経路をttyデバイス[2]に対して開き、そのモードを設定、ログインプロンプトを表示、ユーザーのユーザー名とパスワードを受け取ってからログインプロセスを開始します。

とある。/etc/inittabに、ログインプロンプトを仮想コンソールに表示する/sbin/mingettyの記述があるということだ。

man mingetty でmingettyのマニュアルを見てみると、--noclear とか --noissue というオプションがあるのがわかる。おそらく Debian では --noclear オプションが指定されているのだろう。(未確認)

/etc/inittab を開き、tty1 の mingetty に --noclear オプションをつけて保存(必要に応じて他のttyも変更)。

表示させたいメッセージは /etc/rc.local に書くと良い。ログインプロンプトが表示される毎にメッセージを表示したいなら、/etc/issue に書く。

echo  
echo -e "\033[1mThis is sample message."
echo
echo "  sample sample sample"
echo -e "\033[0m"

\033[1m から \033[0m までの文字は強調表示される。

0 コメント: