アクセラと+αな生活
アクセラとα350と共に過ごす気まぐれ日記です。
Firefox ブラウザ無料ダウンロード
2017年08月
≪07月  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31    09月≫
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
仕事場の休憩での一場面。。。

某ドラマに USB メモリで起動するファルコン(Falcon?)とかいう OS のお話で、
「どうなってるの?」、「かっこいい」などと盛り上がっているときに。。。

私:「USB 起動なら、Ubuntu とかの Linux なら簡単にできるよ~」

この発言が墓穴となり、いつの間にやら、「作って欲しい」とかということになり、結局作るハメに。。。

起動時にファルコンとかの画像が表示されるらしく、Usplash スクリーンを作ることになりました。

う~ん、Usplash スクリーンなんて作ったことないんですけどね。。。><;
そのドラマも見たことないんですけどね。。。><;

※ソースの変更、コンパイルなどを含む作業ですので、自己責任でお願いします。
 全てを解析して作業しているわけではありませんので、質問されても返答はできません、ご了承下さい。




作り方を Google さんに聞いてみると、
Ubuntu日本語フォーラム:「usplashの作成方法について」(https://forums.ubuntulinux.jp/viewtopic.php?id=2116)
というのがありました。

記事は Ubuntu 8.04 の内容ですけど、9.10 でも同様にできるんかもww

早速、環境を構築して、Usplash を作ってみます。


【インストール(環境構築)】
「usplashの作成方法について」(https://forums.ubuntulinux.jp/viewtopic.php?id=2116)では、「gcc」、「libbogl-dev」をインストールすればいいだけのように書いてます。

なので、「gcc」、「libbogl-dev」をインストールします。

$ sudo apt-get update

~ 略 ~

$ sudo apt-get install gcc libbogl-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
gcc はすでに最新バージョンです。
以下の特別パッケージがインストールされます:
libbogl0
以下のパッケージが新たにインストールされます:
libbogl-dev libbogl0
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。
145kB のアーカイブを取得する必要があります。
この操作後に追加で 578kB のディスク容量が消費されます。
続行しますか [Y/n]? y
取得:1 http://jp.archive.ubuntu.com karmic/main libbogl0 0.1.18-3ubuntu3 [54.8kB]
取得:2 http://jp.archive.ubuntu.com karmic/main libbogl-dev 0.1.18-3ubuntu3 [90.0kB]
145kB を 0s で取得しました (145kB/s)
未選択パッケージ libbogl0 を選択しています。
(データベースを読み込んでいます ... 現在 259626 個のファイルとディレクトリがインストールされています。)
(.../libbogl0_0.1.18-3ubuntu3_i386.deb から) libbogl0 を展開しています...
未選択パッケージ libbogl-dev を選択しています。
(.../libbogl-dev_0.1.18-3ubuntu3_i386.deb から) libbogl-dev を展開しています...
man-db のトリガを処理しています ...
libbogl0 (0.1.18-3ubuntu3) を設定しています ...

libbogl-dev (0.1.18-3ubuntu3) を設定しています ...
libc-bin のトリガを処理しています ...
ldconfig deferred processing now taking place

これでインストール完了。
記事では、インストール時に作成される「examples」を利用するようなので、「/usr/share/doc/libusplash-dev/examples/」を探しても。。。








「examples」がない。。。><;
8.04 の記事なので、9.10 ではパッケージの内容が変わったのかもしれませんね。。。
(ただ単に手順が漏れがあるだけかもしれませんが。。。)

仕方ないので、「usplash」関連のパッケージを「apt-cache search」で調べると。。。
「libusplash-dev」という、いかにも怪しいライブラリがありました。

たぶんこのライブラリのパッケージでしょうww
「libusplash-dev」をインストールしてみます。

$ sudo apt-get install libusplash-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが新たにインストールされます:
libusplash-dev
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 0 個。
1,097kB のアーカイブを取得する必要があります。
この操作後に追加で 1,266kB のディスク容量が消費されます。
取得:1 http://jp.archive.ubuntu.com karmic/main libusplash-dev 0.5.49 [1,097kB]
1,097kB を 3s で取得しました (351kB/s)
未選択パッケージ libusplash-dev を選択しています。
(データベースを読み込んでいます ... 現在 259656 個のファイルとディレクトリがインストールされています。)
(.../libusplash-dev_0.5.49_i386.deb から) libusplash-dev を展開しています...
libusplash-dev (0.5.49) を設定しています ...

ライブラリをインストール後、「/usr/share/doc/libusplash-dev/examples/」が作成されているのを確認ww
「libusplash-dev」が大当たりですww


ですので、「gcc」、「libbogl-dev」、「libsplash-dev」をインストールすればいいようです。


では、「Usplash スクリーン」を作成してみます。

【Usplash スクリーンの作成】
今回は「~/」(~:チルダ、ユーザのホームディレクトリ)に「usplash」というディレクトリを作成して、この「usplash」を作業ディレクトリとして利用します。
該当ユーザに権限さえあるディレクトリであれば、作業ディレクトリはどこでもかまいません。

以後、コピーした「examples」を元に作業を進めていきます。
「examples」以外のソースを元にした場合は、それぞれのソースの「README」などを参考にして下さい。

作業ディレクトリの作成
$ makedir ~/usplash<2010/3/8 誤記につき訂正>
$ mkdir ~/usplash

「examples」のコピー
$ cp -rp /usr/share/doc/libusplash-dev/examples/ ~/usplash/

コピーした「examples」ディレクトリへ移動
$ cd ~/usplash/examples

さて、「examples」には
 ・eft_800_600.png
 ・eft_1024_576.png
 ・eft_1024_576_cropped.png
 ・eft_1024_768.png
 ・eft-theme.c
 ・helvB10.bdf
 ・Makefile
 ・README
 ・throbber_back.png
 ・throbber_fore.png
というファイルがありました。

○背景画像
「eft_800_600.png」、「eft_1024_576.png」、「eft_1024_576_cropped.png」、「eft_1024_768.png」が Usplash スクリーンで使用する大きさ別の背景画像のようです。
ですので、この4つのファイルを GIMP などでお絵かき(使用する背景画像を作成)します。


○プログレスバー
「throbber_back.png」、「throbber_fore.png」が進捗を表示するプログレスバーで使用する画像です。
ソースを解析すると、「throbber_back.png」がバックグラウンド、「throbber_fore.png」がフォアグラウンドの画像で、「throbber_back.png」を「throbber_fore.png」が上書きされて、進捗を表示します。

つまり、20% 完了したらフォアグラウンドの画像を幅 20% でプログレスバー上に表示、50% 完了したらフォアグラウンドの画像を幅 50% でプログレスバー上に表示。。。ということを繰り返して行っているようです。

ですので、「throbber_back.png」と「throbber_fore.png」を GIMP などでお絵かきしておきば、プログレスバーも自由な画像を利用できます。


○プログレスバーの表示位置変更
背景画像によっては「example」のプログレスバーの表示位置では、見難かったりすることでしょう。
もちろん、プログレスバーの表示位置が問題なければ、変更する必要はありません。

「eft-theme.c」がソースで、このファイルの中でプログレスバーの表示位置を指定しています。
(何でソースの解析しないといけないの。。。とブツブツいいながら、調べてました)

「eft-theme.c」をバックアップしておき、「vi」で「eft-theme.c」を編集します。
「struct usplash_theme usplash_theme」(usplash_theme 構造体)が「800x600」の定義で、使用する背景画像は「eft_800_600.png」になります。

「struct usplash_theme」はそれぞれの画像サイズごとに構造体が別に用意されているので、使用する画像サイズの構造体を変更していきましょう。


「/* Progress bar position and size in pixels */」とコメントがあるところがプログレスバーの定義になります。
「.progressbar_x」がプログレスバーの表示位置の X 軸座標、「.progressbar_y」がプログレスバーの表示位置の Y 軸座標(ともに、単位はピクセル)になるので、「.progressbar_x」、「.progressbar_y」を変更すれば、プログレスバーの表示位置を変更できます。
「.progressbar_width」がプログレスバーの幅、「.progressbar_height」がプログレスバーの高さになるようです。

「eft-theme.c」の抜粋
struct usplash_theme usplash_theme = {
.version = THEME_VERSION, /* ALWAYS set this to THEME_VERSION,
it's a compatibility check */
.next = &usplash_theme_1024_768,
.ratio = USPLASH_4_3,

/* Background and font */
.pixmap = &pixmap_eft_800_600,
.font = &font_helvB10,

/* Palette indexes */
.background = 0x0,
.progressbar_background = 0x7,
.progressbar_foreground = 0x156,
.text_background = 0x15,
.text_foreground = 0x31,
.text_success = 0x171,
.text_failure = 0x156,

/* Progress bar position and size in pixels */
.progressbar_x = 292, /* 800/2-216/2 */←表示位置のX座標
.progressbar_y = 371,←表示位置のY座標
.progressbar_width = 216,←プログレスバーの幅
.progressbar_height = 8,
←プログレスバーの高さ

~ 略


「eft-theme.c」は他にもいろいろ定義があるので、適宜変更して下さい。
(私も使い方のよく分からない値もあったりしてます。。。他の項目は調べてください)

ちなみに、
「/* 800/2-216/2 */」
は真ん中の表示位置を計算(画像の横が800で、プログレスバーは216、)していますね。

う~ん、「text_○○」が起動時のメッセージを表示する部分だろうけど、よく分からん。。。


○コンパイル
画像を用意し、「eft-theme.c」の編集(デフォルトのまま使用する場合は編集は不要)が完了したら、コンパイル(make)します。
コンパイルは「~/usplash/examples」ディレクトリで行います。

「~/usplash/examples」へ移動して実行
$ make
make: 循環 eft_1024_576_cropped.png <- eft_1024_576_cropped.png.c 依存関係が破棄されました.
pngtousplash eft_1024_576_cropped.png > eft_1024_576_cropped.png.c
gcc -g -Wall -fPIC -o eft_1024_576_cropped.png.c.o -c eft_1024_576_cropped.png.c
make: 循環 eft_1024_768.png <- eft_1024_768.png.c 依存関係が破棄されました.
pngtousplash eft_1024_768.png > eft_1024_768.png.c
gcc -g -Wall -fPIC -o eft_1024_768.png.c.o -c eft_1024_768.png.c
make: 循環 eft_800_600.png <- eft_800_600.png.c 依存関係が破棄されました.
pngtousplash eft_800_600.png > eft_800_600.png.c
gcc -g -Wall -fPIC -o eft_800_600.png.c.o -c eft_800_600.png.c
make: 循環 throbber_fore.png <- throbber_fore.png.c 依存関係が破棄されました.
pngtousplash throbber_fore.png > throbber_fore.png.c
gcc -g -Wall -fPIC -o throbber_fore.png.c.o -c throbber_fore.png.c
make: 循環 throbber_back.png <- throbber_back.png.c 依存関係が破棄されました.
pngtousplash throbber_back.png > throbber_back.png.c
gcc -g -Wall -fPIC -o throbber_back.png.c.o -c throbber_back.png.c
gcc -g -Wall -fPIC -o eft-theme.c.o -c eft-theme.c
make: 循環 helvB10.bdf <- helvB10.bdf.c 依存関係が破棄されました.
bdftousplash helvB10.bdf > helvB10.bdf.c
gcc -g -Wall -fPIC -o helvB10.bdf.c.o -c helvB10.bdf.c
gcc -g -Wall -fPIC -shared -o eft-theme.so eft_1024_576_cropped.png.c.o eft_1024_768.png.c.o
 eft_800_600.png.c.o throbber_fore.png.c.o throbber_back.png.c.o eft-theme.c.o
 helvB10.bdf.c.o
rm eft_800_600.png.c helvB10.bdf.c eft_1024_768.png.c throbber_back.png.c
 eft_1024_576_cropped.png.c throbber_fore.png.c

これで、コンパイルは完了です。
正常にコンパイルできると、「eft-theme.so」というファイルが作成されます。
異常があった場合はその旨がメッセージに表示されるので、そのメッセージ内容を確認して、対応してください。

「make」後に「make install」(インストールは root 権限で実行)でテーマをインストールすることもできます。
また、「make」後には、「○○.o」というオブジェクトファイルが生成されます。
再度「make」するときには「make clean」で不要なオブジェクトファイルを削除してから、「make」するといいでしょう。


作成された「eft-theme.so」が Usplash スクリーンのテーマファイルになりますので、「StartStartUp-Manager」で登録すれば作成した Usplash スクリーンに変更できます。
「StartStartUp-Manager」の使用方法は
Ubuntu 9.10 で StartUp-Manager を使ってみる。
を確認して下さい。






何とか、Usplash スクリーンを作成できましたww
今回作成したのは、こんな感じです。
falcon_20100218_02.jpg



まあまあなできかな??
ファルコンの画像は依頼者?(まあ、会社の人だけど。。。)が用意してくれたので、画像編集に手間がかからなかったのが幸いです。
こんな画像を作るのは面倒ですからね。。。
ここに文字、色は何色とか前もって仕様を確認しておいたので、一応、その仕様通りには作ってますww


で、おまけで、デスクトップもそれらしくカスタマイズ。
falcon_20100218_01.jpg

背景を黒にしたので、テーマは黒っぽいものを使い、色を統一してます。
アイコンは「Vista」っぽいアイコンにしたのはいいけど、「Vista」だけに、Windows のフラッグが出てしまってます。。。

バックが黒で文字が白はかっこいいかもしれませんが、コントラストが強いので長時間の作業には向かないデスクトップですね。。。><;



コメント
この記事へのコメント
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
2010/02/27(土) 19:39 | | #[編集]
Re: タイトルなし
【ソースに関する質問に関して】

ソースおよびソースから生成されるオブジェクトに関して、公開・配布等はいたしておりません。
また、今後も公開・配布を行う予定はございません。

ご了承下さい。

2010/02/28(日) 00:27 | URL | ホノミ #-[編集]
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
2010/02/28(日) 11:03 | | #[編集]
すみませんが
ここでつまづいてしまうんですけど

makedir ~/usplash

どうしたらいいんでしょうか?
2010/03/08(月) 00:32 | URL | deibary #-[編集]
Re: すみませんが
deibary さん

コマンドが間違っておりました、すいません。

<誤>
makedir ~/usplash

<正>
mkdir ~/usplash

になります。


本文も訂正しておきます。

2010/03/08(月) 22:13 | URL | ホノミ #-[編集]
URL :
コメント :
パスワード :
管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
Template designed by アクセラと+αな生活

Powered by .
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。