Ubuntu 10.04 の Plymouth 3/19 時点

自分は Intel と Nvidia(プロプラドライバ)で Plymouth を試してて、オープンソースドライバの Nouveau や Radeon ではまだ試してません。

Intel では画像を使用した Plymouth のグラフィカルなブート画面が表示されてます。

しかし、fsck がどうたらというテキストが Plymouth の画面に移る前に表示されたりして、画面の変遷がいまいちスムースではありません。

これについては、cryptsetup というパッケージをインストールする回避策で解決しましたが、

https://bugs.launchpad.net/ubuntu/+source/plymouth/+bug/535108/comments/16

パッケージをインストールしない解決法もその後投稿されていて、近いうちアップデートで修正されそうな気がします。

https://bugs.launchpad.net/ubuntu/+source/plymouth/+bug/535108/comments/18

一方、Nvidia のプロプラドライバでは Plymouth の text だか label だかのプラグインを使用した画面になってしまいます。

これは仕様といえば仕様なので、10.4 正式リリースまでにグラフィカル・ブート画面を表示するように Canonical が独自にがんばるようなことはないんじゃないかと思います。

これについても一応の回避策があり、それが Ubuntu の公式フォーラムに投稿されていて「うぉー!うまく動くようになったぜ!」という結果報告が結構あるんですが、残念ながら自分の環境ではうまくいきません。むぅ。

http://ubuntuforums.org/showpost.php?p=8930634&postcount=133

あと、Plymouth テーマのカスタマイズのページにサンプルとして挙がっているテーマの進行がなんだか遅くて、アニメーションの途中で GDM の画面に移ってしまいます。

例えば space-sunrise のテーマでは、テーマのスクリプトを編集して進行速度をアップさせたぞ!っていう投稿があるけれども、

http://ubuntuforums.org/showpost.php?p=8679455&postcount=45

fun progress_callback (d, p) {

p = (p * 100.0) / 10.0;

if (p >= spaceGlow.start && p <= spaceGlow.end) {

これだと自分の環境では回転する Ubuntu のマークなどが表示されなくなってしまってバツ。

数学とかプログラムなんてチンプンカンプンなんで、小学生レベルの発想で単純に p を何倍かにしてやればいいかと、(p * 100.0) / 10.0; の部分を以下のように変更。

p = p * 5;

試したら、なんだか速くなってうまくいきました。8 以上をかけたらなぜかダメ。

vizta テーマではスクリプトに以下の行があるんですが、

inc = progress;

これも同様に5倍にしてみたらちょうどいい感じになりました。^^

inc = progress * 5;

vizta は Fedora のマークを表示するテーマなんですが、Ubuntu に合わせて浮遊する球体の画像の色を変えたり Fedora マークの画像を差し替えたりして利用したいかも。

広告

2件のコメント »

  1. プヨヨネットワークの管理者、オワタです^^ said

    UbuntuのscriptのPlymouthテーマのバーを早めることはできるでしょうか?
    以下Progressのところです。
    #—————————————– Progress Bar ——————————–

    progress_box.image = Image(“progress_box.png”);
    progress_box.sprite = Sprite(progress_box.image);

    progress_box.x = Window.GetX() + Window.GetWidth() / 2 – progress_box.image.GetWidth() / 2;
    progress_box.y = Window.GetY() + Window.GetHeight() * 0.75 – progress_box.image.GetHeight() / 2;
    progress_box.sprite.SetPosition(progress_box.x, progress_box.y, 0);

    progress_bar.original_image = Image(“progress_bar.png”);
    progress_bar.sprite = Sprite();

    progress_bar.x = Window.GetX() + Window.GetWidth() / 2 – progress_bar.original_image.GetWidth() / 2;
    progress_bar.y = Window.GetY() + Window.GetHeight() / 2 * 1.5 – progress_box.image.GetHeight() / 2 + (progress_box.image.GetHeight() – progress_bar.original_image.GetHeight()) / 2;
    progress_bar.sprite.SetPosition(progress_bar.x, progress_bar.y, 1);

    fun progress_callback (duration, progress)
    {
    if (progress_bar.image.GetWidth () != Math.Int (progress_bar.original_image.GetWidth () * progress ))
    {
    progress_bar.image = progress_bar.original_image.Scale(progress_bar.original_image.GetWidth(progress_bar.original_image) * progress, progress_bar.original_image.GetHeight());
    progress_bar.sprite.SetImage (progress_bar.image);
    }
    }

    Plymouth.SetBootProgressFunction(progress_callback);

  2. kawaji said

    そのコードの抜粋は、Plymouth テーマ作成ガイドのサンプルとして紹介されていたテーマからのものだと思うんですが、単純にバーの表示の進行を早めたいなら、次の行に例えば ‘ * 3 ‘ を追加すると3倍速になるかと思います。

    progress_bar.image = progress_bar.original_image.Scale(progress_bar.original_image.GetWidth(progress_bar.original_image) * progress * 3, progress_bar.original_image.GetHeight());

    しかし、進行を早めたい理由が、ログイン画面に移る前に目盛り一杯までバーが行かないことに違和感があるためならば、Quit のところに次の1行を付け加えて Plymouth 終了時にバー画像が完全に表示されるようにした方がよいと思います。

    #—————————————– Quit ——————————–

    fun quit_callback ()
    {
    logo.sprite.SetOpacity (1);
    progress_bar.sprite.SetImage (progress_bar.original_image);
    }

    Plymouth.SetQuitFunction(quit_callback);

RSS feed for comments on this post · TrackBack URI

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。