web-dev-qa-db-ja.com

コンソールが画面をクリアしないようにしますか?

Linuxを起動すると、すぐに消去される行が1つまたは2つある場合があります。 dmesgに表示されないものもあると思います。それ以外の場合は、「ログイン:」プロンプトの前にクリアを抑制したいと思います。起動後にコンソール画面で読み取れるように、これを防ぐために設定できるカーネルコマンドまたはsysctlはありますか?

11
Paul Hoffman

必要な情報のほとんどは、システムの起動後に/var/log/dmesgおよび/var/log/messagesにあります。最初にこれらのファイルを確認する必要があります。

通常、Linuxマシンは仮想端末に対して mingetty を実行します。従来のsysv initシステムがある場合、それらは/etc/inittabによって制御されます。 --noclearオプションをmingettyに追加して、画面がクリアされないようにすることができます。これを行うには、/etc/inittabを編集して次の行を変更します。

1:2345:respawn:/sbin/mingetty tty1

1:2345:respawn:/sbin/mingetty --noclear tty1

次に、マシンを再起動します。

一部の新しいLinuxディストリビューションでは、Upstart(Ubuntuなど)のようなinit置換を使用しています。これらは通常/ etc/inittabを使用せず、代わりに他の設定ファイルを使用します。これが buntuでmingettyを呼び出す方法の議論 です。

13
Phil Hollenback

Systemdでは物事が異なります。記事 My God Damned Consoleのクリアを停止 を参照してください。要するに:

mkdir /etc/systemd/system/[email protected]
cat >/etc/systemd/system/[email protected]/noclear.conf <<EOF
[Service]
TTYVTDisallocate=no
EOF
systemctl daemon-reload

systemctl cat [email protected]で結果を確認します

10
Tino

他に何も役に立たない場合は、ラップトップを入手して、次のようなものをカーネルパラメータに追加することにより、シリアルコンソールを通じてすべてのカーネルログをキャプチャできます。

console=tty0 console=ttyS0,9600n8 console=tty0

これにより、シリアルコンソール(ターミナルプログラム内)と標準のttyに出力が表示されます。 SOL(Serial Over LAN)が利用できる場合もあります。

4
HUB

グーグルで何時間も過ごした後、私は this thread および this question で解決策を見つけました。この手順はUbuntu 12.04.1 LTSでも機能します ここ でも説明されていますが、他のディストリビューションではあまり違いはないはずです。

まず、console=tty1GRUB_CMDLINE_LINUXに追加します(noplymouthplymouthとその無用のスプラッシュスクリーンを禁止します)。

#> Sudo vi /etc/default/grub

GRUB_CMDLINE_LINUX="console=tty1 noplymouth"

これにより、カーネルログがtty1ではなくtty7に出力され、ログインプロンプトの前にttyスイッチが表示されなくなります。

次に、/etc/initに移動し、tty1.conftty2.conftty3.conftty4.conftty5.conftty6.confの1つ以上を編集しますまたはconsole.confgettyコマンドに--noclearオプションを追加してすべて編集しました。たとえば、tty1.confの編集:

#> Sudo vi /etc/init/tty1.conf

置き換える必要があります:

respawn
exec /sbin/getty -8 38400 tty1

と:

respawn
exec /sbin/getty -8 38400 --noclear tty1

以上で、システムはクリアせずに単一のttyで起動するようになりました。

3
Avio

dmesgここで、カーネルの最初に戻ります。

[    0.000000] Initializing cgroup subsys cpuset

おそらくこれはBIOSメッセージかブートローダーの一部ですか?いずれにせよ、画面の何処に起こっているのかを正確に知らなくても、画面をブランクにすることができるものはたくさんあります。画面に残っているのは「Login:」だけですか?または、その上に他の起動項目がありますか?ログインプロンプトの直前で、画面に他に何もない場合は、おそらく/etc/issueには画面消去コマンドがありますか?それ以外の場合は、ビデオモードを切り替えるコンソールフレームバッファを使用している可能性があります。私のコンピューターでは、コンソールフォントが読み込まれると画面が空白になります。

1
DerfK