Plymouth
関連記事
Plymouth は Fedora のプロジェクトで、現在 freedesktop.org's official resources に掲載されており、ちらつきのないグラフィカルなブートプロセスを提供します。カーネルモード設定 (KMS) に依存して、できるだけ早い段階でディスプレイのネイティブ解像度を設定し、ログインマネージャに至るまで、綺麗なスプラッシュ画面を提供します。
準備
Plymouth は主に KMS を使用してグラフィックスを表示しますが、UEFI システムでは EFI フレームバッファを利用できます。
独自のドライバーを使用しているなどの理由で KMS を使用できない場合、または EFI フレームバッファを使用したくない場合は、ワイドスクリーン解像度で動作する Uvesafb の使用を検討してください。KMS もフレームバッファもない場合、Plymouth はテキスト モードに戻ります。
インストール
Plymouth の安定版パッケージは plymouth で、開発版は plymouth-gitAUR です。
デフォルトでは、Plymouth はグラフィカルなスプラッシュスクリーンにブートメッセージを表示せず、/var/log/boot.log
に記録します。
- スプラッシュ画面を見たい場合は、カーネルパラメータ に
splash
を追加してください。 - サイレントブートをしたい場合は、
quiet
も追加してください。 - ブートメッセージの記録を無効にしたい場合は、
plymouth.nolog
も追加してください。
初期ブート時に Plymouth を起動するには、Plymouth を含むイメージを作成するために initramfs ジェネレータを設定しなくてはなりません。
mkinitcpio
plymouth
を mkinitcpio.conf の HOOKS
行に追加してください。
/etc/mkinitcpio.conf
HOOKS=(... plymouth ...)
dracut
Plymouth をインストールすると、dracut が自動的にそれを検出し、initramfs イメージに追加します。自動検出が失敗した場合は、dracut 設定に次の行を追加することで、dracut に強制的に Plymouth を追加することができます。
/etc/dracut.conf.d/myflags.conf
add_dracutmodules+=" plymouth "
設定
Plymouth は /etc/plymouth/plymouthd.conf
ファイルで設定できます。デフォルト値は /usr/share/plymouth/plymouthd.defaults
で確認できます。
テーマの変更
Plymouth には以下のテーマが付属しています:
- BGRT: 利用可能な場合は OEM ロゴを保持する Spinner のバリエーション (BGRT は Boot Graphics Resource Table の略)
- Fade-in: 光る星がフェードイン・アウトするシンプルなテーマ。
- Glow: ブートプログレスのパイチャートが表示されロゴが浮かび上がるテーマ。
- Script: スクリプトサンプルプラグイン (ナイスな Arch ロゴテーマ)
- Solar: 青い炎が上がる星と宇宙のテーマ。
- Spinner: ロードの歯車が表示されるシンプルなテーマ。
- Spinfinity: 画面の中央に無限マークが表示されるシンプルなテーマ。
- Tribar: 3色のプログレスバーのテキストモードテーマ。
- (Text: 3色のプログレスバーのテキストモードテーマ)
- (Details: 古いフォールバックテーマ)
デフォルトでは、bgrt テーマが選択されています。テーマは、構成ファイルを編集して変更できます。例:
/etc/plymouth/plymouthd.conf
[Daemon] Theme=fade-in
または次のコマンドで:
# plymouth-set-default-theme -R theme
テーマが変更されるたびに、initrd
を再構築する必要があります。-R
オプションにより、確実に再構築されます (そうでない場合は、手動で initramfs を再生成 して下さい。)
新しいテーマをインストールする
他のテーマは AUR からインストールできます。[1]、または, plymouth-kcm は、KDE Plasma の設定への統合を提供し、AUR では利用できないテーマを提供します。
次のコマンドを使用すると、現在インストールされているすべてのテーマを一覧表示できます。
$ plymouth-set-default-theme -l
もしくは:
$ ls /usr/share/plymouth/themes
bgrt details fade-in glow script solar spinfinity spinner text tribar
遅延表示
Plymouth には、スプラッシュスクリーンを遅らせる設定オプションがあります。
/etc/plymouth/plymouthd.conf
[Daemon] ShowDelay=5
起動が速いシステムでは、DM またはログインプロンプトの準備が整う前にスプラッシュテーマがちらつくだけの場合があります。ShowDelay
を起動時間より長い間隔 (秒単位) に設定すると、このちらつきを防ぎ、空白の画面のみを表示できます。デフォルトは 0 秒であるため、起動中の早い段階でスプラッシュを確認するためにこれを別の値に変更する必要はありません。
Hidpi
plymouthd.conf
を編集
/etc/plymouth/plymouthd.conf
DeviceScale=an-integer-scaling-factor
編集が終わったら initrd を再構築します。
ヒントとテクニック
ブートメッセージを表示する
ブート中に Esc
キーを押すとブートメッセージに切り替えることができます。
スムーズな移行
GDM は、すぐに使える スムーズな移行 をサポートします。
他のディスプレイマネージャーの場合は、次の display-manager.service
の ドロップインスニペット を使用すると、ほぼスムーズに移行できます。
/etc/systemd/system/display-manager.service.d/plymouth.conf
[Unit] Conflicts=plymouth-quit.service After=plymouth-quit.service rc-local.service plymouth-start.service systemd-user-sessions.service OnFailure=plymouth-quit.service [Service] ExecStartPre=-/usr/bin/plymouth deactivate ExecStartPost=-/usr/bin/sleep 30 ExecStartPost=-/usr/bin/plymouth quit --retain-splash
テーマのプレビュー
initrd を再構築しなくてもテーマをプレビューできます。Ctrl+Alt+F6
を押してテキスト端末に切り替え、root としてログインして次のように入力します。
# plymouthd # plymouth --show-splash
プレビューを終了するには、もう一度 Ctrl+Alt+F6
を押して、次のように入力します。
# plymouth --quit
背景画像を変更する
2 ステップベースのテーマ (スピナーや bgrt など) の背景画像を追加できます。希望の画像を /usr/share/plymouth/themes/spinner/background-tile.png
に配置するだけです。テーマを変更したら、忘れずに initrd を再生成してください。
BGRT イメージがありません
BGRT テーマを使用しているが、UEFI がベンダーロゴを提供していない場合は、フォールバック画像を /usr/share/plymouth/themes/spinner/bgrt-fallback.png
に配置して表示できます。その代わり。
あるいは、ファームウェアのバックグラウンドを維持するには、次のように設定します。:
/etc/plymouth/plymouthd.conf
UseFirmwareBackground=true
完全なアニメーションを表示するために起動を遅くする
起動時間が非常に速いシステムでは、アニメーションの全体を表示したい場合、ExecStartPre=/usr/bin/sleep 5
を含む ドロップインスニペット で plymouth-quit.service
に遅延を追加する必要があるかもしれません。this reddit post を参照してください。
トラブルシューティング
カーネルパラメータで無効にする
起動中に問題が発生した場合は、次の カーネルパラメータ を使用して Plymouth を一時的に無効にすることができます。
plymouth.enable=0 disablehooks=plymouth
デバッグ
デバッグ出力を /var/log/plymouth-debug.log
に書き込むには、次のカーネルパラメータを追加します。
plymouth.debug
パスワードプロンプトが更新されない
Mkinitcpio で udev
フックの代わりに systemd
を使用すると、Plymouth スクリプト経由で処理するテーマでパスワードプロンプトが更新されないことがあります。
開発バージョン plymouth-gitAUR に切り替えるか、mkinitcpio#通常のフック の代替品を使用してみてください。
ディスプレイの中央に配置されていない
特定のテーマでは、起動時に複数のモニターが有効になっていると、ディスプレイの中央に配置されないことがあります。
カーネルモード設定#モードを強制する を使用して、特定のモニターを無効にすることができます。