/etc/rc.d/rc3.d/S30initialize
デフォルトでは、ランレベル3に入ったときに呼び出されるシンボリックリンクスクリプトがあります。
このスクリプトの出力が仮想端末に表示されます。たとえば、画面のメインディスプレイから。だからこのスクリプトで私がすることはすべて
(
set -e
set -x
.... install some stuff, etc
) 2>&1 | tee -a /etc/init.log > /dev/tty1
だからこれはうまくいきますが、出力ストリームが画面にうまく表示されますが(ブートカーネルメッセージの終わりに)、約1秒後にttyログインプロンプトが表示され、「上書きされます」。
スクリプトの実行が完了すると、しばしば次のようにログインして自分自身を見つけることができます/etc/init.log
。
tee: write error
私の質問は、tty1
ttyログインプロンプトを一時的または永久に無効にする方法はありますか?です。必要に応じてCtrl + Alt + F2を使用してコンピュータにログインできます。
また、以下のようにパイプを無効にしようとしましたが、) 2>&1 | tee -a /etc/init.log /dev/tty1
同じ問題が発生しました(もはやエラーが発生していないようですtee: write error
)。
私はCentos 7でこの動作を調整することに最も興味があります。
ところで、Raspberry Piで同様の操作を試みたときに、ブート時に少し異なる実行方法を使用しました。コマンドを追加すると、すべてがrc.local
問題なくメイン端末画面に表示されます。
だからおそらくそれを試してみるか、それとも別の方法があります。おそらく、私が指示したサブシェルを実行する前に、ログインプロンプトが表示されるのを待つのに十分な時間停止することができます/dev/tty1
。これにより、ログインプロンプトが出力ストリームを踏むのではなく、スクリプトが出力ストリームを踏むようになります。