Plymouth
Plymouth は Fedora のフリッカーフリーなグラフィカルブートプロセスを提供するためのプロジェクトです。Kernel Mode Setting (KMS) を使って出来るだけ早い段階でディスプレイの最大解像度に設定し、ログインマネージャが表示されるまで、キレイなスプラッシュスクリーンを提供します。
目次
準備
まず、Plymouth は KMS (Kernel Mode Setting) を使ってグラフィックを表示します。(プロプライエタリドライバを使っているなどの理由で)あなたが KMS を使えない場合、代わりにフレームバッファを使う必要があります。EFI/UEFI 環境の場合、plymouth は EFI フレームバッファを利用します。BIOS 環境の場合、ワイド画面を機能させることができる Uvesafb が推奨されます。
KMS もフレームバッファも使えない場合、Plymouth はテキストモードになります。
インストール
Plymouth は plymouthAUR パッケージでインストールできます。開発版を使いたい場合は plymouth-gitAUR をインストールしてください。
GDM を使用する場合、gdm-plymouthAUR をインストールして、plymouth のサポートを有効にして gdm をコンパイルしてください。
plymouth フック
plymouth
を mkinitcpio.conf の HOOKS 行に追加してください。必ず base
と udev
の後に追加してください:
/etc/mkinitcpio.conf
HOOKS="base udev plymouth [...] "
plymouth-encrypt
フックの追加後に、入力したテキストがパスワードプロンプトではなく後ろに行ってしまう場合、initramfs に(カーネル)グラフィックドライバーを追加する必要があります。例えば、Intel のグラフィックを使っている場合:
/etc/mkinitcpio.conf
MODULES="i915 [...]"
別の plymouth フック (systemd)
mkinitcpio.conf で systemd
フックを使用している場合、plymouth
を sd-plymouth
に置き換えてください。さらに、ハードドライブ暗号化を使っている場合、encrypt
や plymouth-encrypt
のかわりに sd-encrypt
を使ってください:
/etc/mkinitcpio.conf
HOOKS="base systemd sd-plymouth [...] sd-encrypt [...]"
カーネルコマンドライン
ブートローダーのカーネルコマンドラインパラメータに quiet splash
を設定してください。詳しくはカーネルパラメータを参照。
設定したら initrd イメージを再生成してください (詳しくは mkinitcpio の記事を参照):
# mkinitcpio -p linux
設定
スムーズな移行
スムーズな移行を有効にするには:
- ディスプレイマネージャのユニットを無効化してください。例:
systemctl disable gdm.service
。 - 各ディスプレイマネージャに対応する plymouth のユニットを有効にしてください (GDM, LXDM, SLiM, LightDM, SDDM のユニットが存在します)。例:
systemctl enable gdm-plymouth.service
。
起動を遅らせる
バージョン 0.9.0 から、plymouth には /etc/plymouth/plymouthd.conf
に設定できる新しいオプションが存在します:
/etc/plymouth/plymouthd.conf
[Daemon] Theme=spinner ShowDelay=5
起動が早い環境では、ディスプレイマネージャやログイン画面が表示される前にスプラッシュ画面が一瞬しか表示されない場合があります。ShowDelay を設定することで秒数単位で起動を長くすることができます。デフォルトは5秒間ですが、短くすることでスプラッシュ画面が早く表示されるようになります。
テーマの変更
Plymouth には以下のテーマが付属しています:
- Fade-in: 光る星がフェードイン・アウトするシンプルなテーマ。
- Glow: ブートプログレスのパイチャートが表示されロゴが浮かび上がるテーマ。
- Script: スクリプトサンプルプラグイン (ナイスな Arch ロゴテーマ)。
- Solar: 青い炎が上がる星と宇宙のテーマ。
- Spinner: ロードの歯車が表示されるシンプルなテーマ。
- Spinfinity: 画面の中央に無限マークが表示されるシンプルなテーマ。
- (Text: 3色のプログレスバーのテキストモードテーマ)
- (Details: 古臭いフォールバックテーマ)
AUR から他のテーマを追加でインストールすることもできます。plymouthAUR に依存しているパッケージを見てください。
インストールされているテーマは以下のコマンドで確認できます:
$ plymouth-set-default-theme -l
または:
$ ls /usr/share/plymouth/themes
details glow solar spinner tribar fade-in script spinfinity text
デフォルトでは spinner テーマが使われます。テーマは /etc/plymouth/plymouthd.conf
を編集することで変更できます。例:
/etc/plymouth/plymouthd.conf
[Daemon] Theme=spinner ShowDelay=5
Ctrl+Alt+F2
を押してコンソールを切り替えて、root でログインしてから以下のコマンドを実行することで一時的にテーマを確認できます:
# plymouthd # plymouth --show-splash
プレビューを終了するには Ctrl+Alt+F2
をまた押してから以下のコマンドを実行してください:
# plymouth --quit
テーマを変更したら、カーネルイメージを再生成する必要があります:
# plymouth-set-default-theme -R <theme>
再起動して変更を適用してください。
ヒントとテクニック
カーネルメッセージの表示
"Home" (または "Escape") キーを押すことで起動時のカーネルメッセージの表示を切り替えることができます。
Arch ロゴを置き換えてカスタムテーマを作る
次のテーマは Plymouth によって提供されている Arch Linux ロゴ (/usr/share/plymouth/arch-logo.png
) を使用します: fade-in, script, solar, spinfinity。他のロゴを使いたい場合、テーマの *.plymouth
ファイルを編集してください (*.script
も編集する必要があることもあります)。そしてロゴを置き換えたい画像に置き換えてください。テーマを新しく作成したらパッケージを作成する必要があります。/usr/share/plymouth
に変更を加えてもパッケージのアップグレードで置き換わってしまう可能性があるためです。
テーマをインストール・選択したら、initrd イメージを再生成して新しいスプラッシュを使ってください。