Ubuntu 10.04 (Lucid) 以降でsplash画面をカスタマイズしたいとき… (plymouthの使い方)

Ubuntu 10.04になってからsplash画面を制御するのがplymouthというものになったようです。
これを用いてsplash画面をカスタマイズするのに難渋したので備忘メモ。
kubuntuのsplash画面がカスタマイズするのにいい勉強になったので、kubuntu-logoというテーマをもとにカスタマイズしています。
*なお、この方法は、12.04でも有効でしたので、タイトルを修正しました。

  1. *.script, *.pngなどが入っているテーマを見つけます。
  2. といってもそれはすぐにはわからないので、とりあえず、apt-cache searchでテーマを見つけます。

    $ sudo apt-cache search theme

  3. 適当にテーマをインストールしてみます。
  4. 上述のように、カスタマイズしやすかったのが、kubuntuのテーマでした。

    $ sudo apt-get install plymouth-theme-kubuntu-logo

  5. テーマは/lib/plymouth/themeの中にインストールされます。なので、そこに移動します。
  6. $ cd /lib/plymouth/themes/kubuntu-logo

    テーマの中身は以下のようになっています。

    $ ls
    kubuntu-logo.plymouth password_field.png progress_dot_on.png
    kubuntu-logo.script password_field16.png progress_dot_on16.png
    kubuntu_logo.png progress_dot_off.png kubuntu_logo16.png
    progress_dot_off16.png

    ここで、
    kubuntu-logo.script: これをカスタマイズしていきます。
    kubuntu-logo.png: splash画面での真ん中に現れる”kubuntu”のロゴ画像です。
    progress_dot_*.png: 起動時にロゴの下で点滅するドットの画像です。
    ここでは、scriptをいじって背景の色を変えてみて、そしてlogoの画像を変更し、dotの画像の色を変えることでカスタマイズすることとしました。

  7. scriptの中身をいじります。背景の色は以下をいじります。
  8. ( )内にある3つの数値はそれぞれRGBを表し、0と1の間の数値を指定するのだそうです。TopColorは画面の一番上で、BottomColorは画面の一番下で、上から下に向かってグラデーションがかかっていくことになります。

    Window.SetBackgroundTopColor (0.00, 0.28, 0.45);
    Window.SetBackgroundBottomColor (0.00, 0.28, 0.45);

  9. splash画面に表示させたい画像は以下で指定します。
  10. 従って、自分で画像を用意して、下のファイル名を変更すればいいことになります。

    logo_filename = "kubuntu_logo.png";

  11. 起動時に点滅するドットは以下で規定されています。これも元画像をもとに、色を変えればいいことになりますね。
  12. progress_dot_off_filename = "progress_dot_off.png";
    progress_dot_on_filename = "progress_dot_on.png";

  13. プレビュー
  14. 以上のところをいじってあげたら、プレビューします。プレビューには、以下の方法がいいかと思います。

    $ sudo plymouthd #plymouthのデーモンを立ち上げます。
    $ sudo plymouth --show-splash

    ちなみに終わるときは、sudo plymouth –quitです。

  15. 変更を反映させる(ここがキモ)
  16. Splashの変更を反映させます。ここは忘れがちなのであえて書いておきます。initramfsなるものをアップデートする必要があります。

    $ sudo update-initramfs -u

    これで、次回からsplash画面が変更されます。

    上記だけでは、テーマを変えたときに他に変わってしまいます。
    自分のものとしてきちんとインストール方法は以下にあります。

    https://forums.ubuntulinux.jp/viewtopic.php?pid=77654

    23/July/2012追記: 上記のリンクはよく参照するので、以下に転載します。

    plymouthのテーマは1から作るのは大変なので、既存のテーマを変更する方法がいいです。
    まず、ベースにするテーマをインストールします。全画面自作画像が良ければplymouth-theme-sabilyパッケージがおすすめです。(以下このパッケージを元に説明します)

    $ sudo apt-get install plymouth-theme-sabily

    インストールしたテーマは/lib/plymouth/themes/sabily内にあります。このフォルダをコピーして、コピー先を編集するようにします。

    $ sudo cp -R /lib/plymouth/themes/sabily /lib/plymouth/themes/mytheme
    $ gksu nautilus /lib/plymouth/themes/mytheme

    bg_2560x1600.png: 背景画像(PNGでなければなりません。GIMPなどで変換してください。サイズがあまり大きくならないようにしましょう。)
    sabily-logo.png: 中央に表示されるロゴ。この下に点滅する点が表示されます。
    sabily.plymouth: 名前をmytheme.plymouthなど、分かりやすいように変えておきます。
    (画像など、他のファイルの名前も変えていいですが、その場合はsabily.scriptやsabily.plymouthの中身も編集する必要があります。)

    一通り編集したら、次のコマンドにより自作テーマをインストールします。

    $ sudo update-alternatives --install /lib/plymouth/themes/default.plymouth default.plymouth /lib/plymouth/themes/mytheme/mytheme.plymouth 100

    この段階ではインストールされただけで、テーマの変更は行われていません。表示されるテーマの変更は次のコマンドにより行います。

    $ sudo update-alternatives --config default.plymouth
    番号の入力を求められるので、自作テーマのファイル名が書かれた行の先頭にある番号を入力し、Enterキーを押してください。

    これで完了です。
    以下の方法により再起動せずにテーマの確認を行えます。
    まず、plymouth-x11をインストールします。

    $ sudo apt-get install plymouth-x11

    plymouthデーモンの起動、表示、終了は以下のとおりです。

    $ sudo plymouthd
    $ sudo plymouth show-splash
    $ sudo plymouth quit