サイレントブート

提供: ArchWiki
2015年9月26日 (土) 00:40時点におけるKusakata (トーク | 投稿記録)による版 (ページの作成:「Category:ブートプロセス en:Silent boot es:Silent boot このページは、外観をスッキリさせたいなどの理由で、システム情報の...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

このページは、外観をスッキリさせたいなどの理由で、システム情報の表示を出来るだけ少なくしたい人のための情報を載せています。以下のガイドに従うことで起動時に表示されるテキストを全て消すことができます [1]

カーネルパラメータ

ブートローダーの設定オプションを使ってカーネルパラメータを変更して、以下のパラメータを指定します:

quiet vga=current

vga=currentFS#32309 のような問題のある挙動を発生させないようにするカーネルパラメータです。

上記のカーネルパラメータを設定してもメッセージがコンソールに表示される場合、おそらく dmesg が重要と思われるメッセージを送信しています。quiet loglevel=<level> を使うことで表示するメッセージのレベルを変更することができます。<level> は 0 から 7 の間の数字に置き換えてください。0 は最もクリティカルな情報だけを表示し、7 はデバッグ情報まで表示するレベルです。

quiet loglevel=3 vga=current

上記の設定は quietloglevel=<level> の両方を、この順番で使用したときにのみ適用されます (quiet が先)。loglevel パラメータはコンソールへの表示だけに影響します。dmesg 自体のレベルは変更されず、journal や dmesg コマンドでメッセージを閲覧することが可能です。詳しくは linux-docs パッケージの Documentation/kernel-parameters.txt ファイルを見て下さい。

起動時に systemd のバージョン番号が表示されないようにしたい場合、カーネルコマンドラインに udev.log-priority=3 を追加してください (ソース)。initramfs で systemd が使われている場合、rd.udev.log-priority=3 を追加してください。

Last login メッセージを消すには touch ~/.hushlogin を実行してください。

sysctl

コンソールからカーネルメッセージを消すには 以下 のように kernel.printk 行を追加・修正してください:

/etc/sysctl.d/20-quiet-printk.conf
kernel.printk = 3 3 3 3

startx

startx メッセージを消したい場合、以下のように .bash_profile などで出力を /dev/null にリダイレクトすることができます:

警告: Xorg 1.16 以上で rootless ログインをする場合、Xorg#リダイレクトが機能しない を参照。
$ [[ $(fgconsole 2>/dev/null) == 1 ]] && exec startx -- vt1 &> /dev/null

未解決の問題:

  • Systemd shutdowns are not quiet - As of systemd v206, the quiet kernel command line parameter is now respected on shutdown, though it seems that if you use the shutdown hook of mkinitcpio, this function has not been set up to support that parameter.

fsck

起動時の fsck メッセージを消すには、systemd に root ファイルシステムをチェックさせてください。まず /etc/mkinitcpio.conf の HOOKS から fsck を削除:

HOOKS=(...) 

そして次を実行:

# mkinitcpio -p linux

/usr/lib/systemd/system/ にある systemd-fsck-root.servicesystemd-fsck@.service ファイルを /etc/systemd/system/ にコピーして、編集し、StandardOutputStandardError を以下のように設定します:

(...)

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/lib/systemd/systemd-fsck
StandardOutput=null
StandardError=journal+console
TimeoutSec=0

systemd-fsck に指定するオプションの情報は こちら を見て下さい。サービスがファイルシステムをチェックする(しない)頻度を変えられます。