Plymouth

提供: ArchWiki
2023年9月2日 (土) 22:06時点におけるAshMyzk (トーク | 投稿記録)による版 (リンクを修正)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

関連記事

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

plymouthmkinitcpio.confHOOKS 行に追加してください。

/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 には以下のテーマが付属しています:

  1. BGRT: 利用可能な場合は OEM ロゴを保持する Spinner のバリエーション (BGRT は Boot Graphics Resource Table の略)
  2. Fade-in: 光る星がフェードイン・アウトするシンプルなテーマ。
  3. Glow: ブートプログレスのパイチャートが表示されロゴが浮かび上がるテーマ。
  4. Script: スクリプトサンプルプラグイン (ナイスな Arch ロゴテーマ)
  5. Solar: 青い炎が上がる星と宇宙のテーマ。
  6. Spinner: ロードの歯車が表示されるシンプルなテーマ。
  7. Spinfinity: 画面の中央に無限マークが表示されるシンプルなテーマ。
  8. Tribar: 3色のプログレスバーのテキストモードテーマ。
  9. (Text: 3色のプログレスバーのテキストモードテーマ)
  10. (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

パスワードプロンプトが更新されない

Mkinitcpioudev フックの代わりに systemd を使用すると、Plymouth スクリプト経由で処理するテーマでパスワードプロンプトが更新されないことがあります。

開発バージョン plymouth-gitAUR に切り替えるか、mkinitcpio#通常のフック の代替品を使用してみてください。

ディスプレイの中央に配置されていない

特定のテーマでは、起動時に複数のモニターが有効になっていると、ディスプレイの中央に配置されないことがあります。

カーネルモード設定#モードを強制する を使用して、特定のモニターを無効にすることができます。

参照