
Grub2の壁紙&文字色ランダムに
起動時にGrub2の壁紙&文字色をランダムに表示する方法
名無し:2@cygwinさんから、コメントの方にネタをいただきました。
ありがとうございます。私自身まだ試せてませんので、
とりあえずこちらにほぼそのまま転載します。
----------------------------------------------------------------------
grub.cfg を直接いじってもよかったのですが、
update-grub2を実行すると更新されてしまうことから、以下のような流れにしました。
=======
1. 使う画像ファイルを1つのディレクトリにまとめます(例: /usr/share/images/)。
拡張子も揃えておきます(例: jpg)。
2. 05_debian_theme を変更
WALLPAPERDIR="/usr/share/images/"
i=`ls $WALLPAPERDIR*.jpg | wc -l`
RANDOM=$(( $(od -vAn -N4 -tu4 < /dev/urandom) % i ))
set "00.jpg" "01.jpg" "02.jpg" "03.jpg" "04.jpg" \
"black/black" "black/black" "black/black" "black/black" "black/black" \
"red/black" "red/black" "red/black" "red/black" "red/black"
shift $RANDOM
WALLPAPER=$WALLPAPERDIR$1
shift $i
COLOR_NORMAL=$1
shift $i
COLOR_HIGHLIGHT=$1
unset i WALLPAPERDIR RANDOM
3. システム→設定→自動起動するアプリ を起動して、
gksudo /usr/sbin/update-grub2
をコマンドとして設定する(後は自分がわかりやすいようにすればいいと思います)
========
これで、起動するときにrootのパスワードが求められるようになりますが、
壁紙や色が切り替わると思います。
2. の説明を少ししておきますね。
WALLPAPERDIR="/usr/share/images/"
ここに、1.で画像ファイルをまとめたディレクトリを指定します。
TOYさんは、/boot/grub に置かれているようですので、
WALLPAPERDIR="/boot/grub/"
とします。最後の / は必ず1つだけ書いてください。
i=`ls $WALLPAPERDIR*.jpg | wc -l`
次は、画像ファイルの数を数えます。拡張子によって、
.jpg の部分を .png 等に置き換えてください。
set "00.jpg" "01.jpg" "02.jpg" "03.jpg" "04.jpg" \
"black/black" "black/black" "black/black" "black/black" "black/black" \
"red/black" "red/black" "red/black" "red/black" "red/black"
最後は、画像ファイル名と色の設定です。
1行目に画像ファイル名(間違いなく指定してください)、
2行目にCOLOR_NORMALの色、
3行目にCOLOR_HIGHLIGHTの色
となっています(色がすべて同じになっていますが、
1行目で指定した画像ファイルの順番に合わせて好きな色を割り当ててください)。
必ず、*画像ファイルの数だけ*書いてください。そうでなければ、うまく動作しません。
文末にある \ は、改行をエスケープするために書いているので、
途中で改行が含まれる場合は書いてください。
2.や3.のスクリーンショット

grub.cfgの取扱いになれれば、
update-grub2を自動起動せずにいける気がするのですが、
とりあえずこの辺で失礼します。
- 関連記事
-
- Grub2ランダム表示追記でゲソ 2 (2010/12/10)
- Grub2ランダム表示追記でゲソ (2010/12/07)
- Grub2ランダム表示まとめでゲソ (2010/11/23)
- Grub2の壁紙&文字色ランダムに (2010/11/16)
- イカ娘にGrub2も侵略されたでゲソ (2010/11/13)
\もしよかったらお願いします。/
●受取人の欄にmoebuntu★gmail.com(「★」は「@」に置き換える)で寄付(15円〜)できます。
Amazonギフト券(Eメールタイプ)