Gorgeous-GRUB - GRUBブートローダーをスタイリッシュに彩るテーマ集
(github.com/Jacksaur)- Gorgeous-GRUBは、複数のサイトに散在しているコミュニティ製GRUBテーマの中から、良質なものを一か所に集めたコレクション
- Plingは現在GRUBテーマを最も多くホスティングしている場所として紹介されているが、多くのテーマが手間の少ない仕上がりで、良いテーマを見つけにくいという問題がある
- READMEではMinegrub、SteamOS、Persona 5 Royal、Catppuccin、Cyberpunk 2077、Dark Matter、Elegantなど、さまざまなテーマリンクとプレビュー画像を表形式で提供
- インストール文書、貢献文書、GRUB-Tweaks、GRUB2 Theme Preview、Background Cycler、コミュニティ製Theme Installerなどの補助ツールとガイドもあわせて案内
- Secure Boot環境ではカスタムフォントが適用されなかったり表示されなかったりする場合があり、フォントファイルの署名方法を扱ったArch Linuxフォーラム記事が参考資料としてリンクされている
プロジェクトの目的
- Gorgeous-GRUBは、起動前に表示されるGRUBブートローダー画面を装飾できるコミュニティ製テーマを集めたリポジトリ
- GRUBテーマは複数のサイトに散在しており、良いテーマを探しにくいため、1ページで見渡せるように構成されている
- Plingは現在GRUBテーマを最も多くホスティングしている場所として紹介されているが、多くのテーマが単調だったり手間の少ない仕上がりだったりするため、探し回るのが面倒になりがち
- このリポジトリは、時間をかけてインターネット上で見つけた良質なテーマに注目してもらうために作られた
便利なツールと参考リンク
- GitZip: GitHubリポジトリ全体を取得せずに、個別のフォルダやファイルをダウンロードできる
- トークンを要求するが、トークンなしでも問題なく動作すると紹介されている
- GRUB-Tweaks: GRUBのインストールをさらにカスタマイズしたり復旧したりするための、さまざまなチューニングと追加設定ガイドを提供
- Theme Tutorial / Theme References: GRUB2テーマ制作に関する情報で、複雑ではあるものの、現時点で見つかっている中では最良の資料として紹介されている
- 最初から新規作成するより、既存テーマを持ってきて自分で修正するほうが簡単な場合がある
- GRUB2 Theme Preview: システム全体を再起動せずにGRUBテーマをプレビューできるソフトウェア
- VM全体を起動するため、依存関係が多い
- 必要な依存関係をインストールする簡単なコマンドは、GRUB-Tweaksリポジトリにある
- Background Cycler: システムを再起動するたびにテーマの背景を切り替えるスクリプト
- Theme Installer (Community Made): FLEXIY0が作成したスクリプトで、多くのテーマを自動ダウンロードしてインストールできる
- 一部のエッジケースではエラーが発生する場合がある
インストールと貢献
- Installing a theme: テーマのインストール文書へのリンク
- How to contribute: テーマコレクションへの貢献方法へのリンク
テーマの探し方
- テーマ一覧は、プレビュー画像とリンクを含む表形式で構成されている
- 気に入ったテーマがあれば、Plingで評価を付けたりGitHubリポジトリにスターを付けたりすることが勧められている
- Plingでは評価を残す人が少なく、これが良いテーマを見つけにくい理由の一つとして挙げられている
- 制作者は、自分たちの成果物が実際に楽しまれていることを確認できる
含まれているテーマの例
- ゲーム・作品ベースのテーマ:
- ディストリビューション・デスクトップ・システムスタイルのテーマ:
- サイバーパンク・レトロ・ターミナル系のテーマ:
- 大規模セットまたはカスタマイズ志向のテーマ:
Secure Bootの注意事項
- Secure Bootが設定されたシステムでは、カスタムフォントが適用されなかったり、まったく表示されなかったりする場合がある
- Arch Linuxフォーラム記事では、フォントファイルに署名して再び表示されるようにする方法を扱っている
1件のコメント
Hacker News のコメント
カスタマイズは大好きだけれど、個人的には GRUB を見たり意識したりする機会は少なければ少ないほどいい
「Grand Theft Gentoo」: https://raw.githubusercontent.com/Jacksaur/Gorgeous-GRUB/ref...
本当に欲しいのは、昔の SGI の起動画面をまねること。起動音と、OS 設定用のマイクロディストリビューションまで含めて
今ならスナップショットファイルシステムがあるので、そこまで難しくないはず。これまで何度かシステム修復のために chroot しなければならなかったが、これを自動化するのが難しいというのは信じがたい
NixOS は前の世代にブートできるが、ファイルシステムを丸ごとひっくり返す方式だし、OpenSUSE はスナップショットをサポートしているものの BTRFS ベースなので他のディストリビューションが同じ実装を使うのは難しい。ZFS は素晴らしいが、Linux ではライセンスが常に摩擦を生む。Ubuntu は Plymouth で起動を非常に滑らかにしたが、とても Ubuntu らしい
いずれにせよ、Linux で ZFS を使える環境なら zfsbootmenu を勧めたい
もちろん、SSH 設定を壊すような形でリモートアクセス不能にして、自分で自分の足を撃つことはあり得る。そのための deploy-rs という解決策もあり、デプロイを開始したコンピュータへ再接続できなければシステムを戻す magic rollback 機能がある https://github.com/serokell/deploy-rs?tab=readme-ov-file#mag...
これらの機能を数年使っていて、自信を持って勧められる
元の質問と正確に関係しているわけではないが、システムビルドを CI で回し、Playwright テストもだんだん包括的にしている。そのおかげで、問題を早く見つけるかロールバックできるという確信がかなり持てる
arch-chrootでメイン OS を復旧できそう。他のディストリビューションにも似た方法はありそうSGI マシンの起動音はモデルごとに違っていた。Indy と Onyx は互いに違ったということ。初めての PC だった 80286 も電源投入時に象徴的な音がして、忘れられない
マイクロディストリビューションはリカバリ OS に相当する。主要なデスクトップ OS 3つはいずれもそうした機能を持っているか、それを起動するキーコンビネーションがある。Android にはリカバリパーティションが2つあると理解しているが、冗長性が肝心だ
スナップショットの力が好きなら、ZFS のような コピーオンライト(CoW) ファイルシステムは起動中に一覧を表示できる。NixOS のような OS では、そうしたファイルシステムすら不要。Ext4FS でも、スナップショット付きのブートメニューやロールバック機能などはうまく動く
例: https://github.com/kexecboot/kexecboot
こういうものがあるから Linux を好きになる。ここには驚くほどの創造性がある。GRUB を見る口実ができるように、何かとデュアルブートしたくなるほど
格好いいとは思うが、正直 GRUB は起動中にキーを押し続けているときだけ表示されてほしい。消えるまで5秒待ってからデフォルト OS で起動するのは本当に不要
GRUB_TIMEOUT_STYLE=hiddenとGRUB_TIMEOUT=0を設定すればよさそう。そうするとShiftを押し続けているときだけ GRUB メニューが表示され、そうでなければデフォルト項目で即座に起動するGRUBに文句を言う人はみんな lilo を忘れている
あの頃はGhost in the Shellで自作した格好いいテーマがあって、オンラインで見つけたjpegをものすごく難解な画像形式に変換したのを覚えている。Linux環境を飾り立てるのに本当に多くの時間を費やした。コンピューターは本当に手入れの行き届いたペットみたいで、魚の入ったキューブ型デスクトップや反射エフェクトみたいなものがあった
あの背景画像は、異なるモニターや解像度ではどうリサイズされるの?
ところでGRUBは、インターフェースをどの解像度で描画するかをどうやって知るの?
ついに自分のコンピューターを映画『Hackers』に出てくるコンピューターみたいに見せられそう。最高
最近作業中にサウンドトラックを聴いているので、近いうちにまた観るかもしれない
GRUBは流れないトイレの中の塊みたいなものだ。何年も前から完全に不要で、過度に複雑で、1995年式の慣用句を持つシェルはほとんど使い物にならず、extlinuxのようなはるかに軽量で有用な代替がある
今では EFI stub でカーネルを直接起動することもできるのに、それでもインストールされ続け、自分の存在を正当化しようとしている
さらに悪いことに、デュアルブートで各OSが自分のGRUBをインストールすると、GRUBが別のGRUBへチェーンロードしてからOSを起動するという奇妙な状況が起こり得る
F12のようなキーを押して、UEFIが提供する全ブートオプションのメニューを見ればいいだけでは、と思う。インストーラーたちが入り込んで壊す前なら、そこにきれいに揃っている。Windowsはいつも割り込んできて既存のものを壊し、自分を一番上に置くように見える
マザーボードにシリアルポートがあってもUEFIコンソールリダイレクションを提供せず、セキュアブート設定やブートオプション管理もユーザーに公開しない。だからsystemd-bootやrEFIndのような純粋EFIベースのブートローダーが、それでもいちばん面倒の少ない選択肢に見える
ARMで起動することと比べてみればいい
あるいはVoid LinuxだけのPCもある。UEFIモードが動作しないので互換モードで起動しているが、理由は分からない。セキュアブートの問題なのか、MBR対GPTモードなのか、EFIパーティションもない。ここでは何がGRUBの代わりになれるのだろう?
ブートローダーが十分賢く、下のファイルシステムを読んでカーネルを見つければいい。rEFIndはそうしている。起動可能なUSBを挿したり、2台目のSSDにWindowsをインストールしたりすると、明示的に要求しなくてもメニューにそのまま現れる
「/bootは十分サポートされたファイルシステム種別のうちのどれかでなければならない」程度の制約は必要かもしれないが、大多数に合う方式なら十分だと思う。ZFS上のRAID6上に128台のUSBフロッピードライブを束ねたもの、みたいな構成を動かしている人たちだけが、GRUBのようなものに頼ればいい
20年前のデスクトップとCRTモニターの組み合わせのように、最初から 外部モニター にすぐ表示されるブートローダーを今でも待っている
Pop!_OSに含まれるsystemd-bootはそうしてくれないので、起動オプションを変えるにはThinkPad X1 ExtremeノートPCをスタンドから取り出して開かなければならない。この点でGRUBはどうなのか、他の人たちの経験が気になる
自分のThinkPad+Dockの組み合わせではうまく動いている
ただし一部のPCでは、そう設定すると起動中にノートPC本体の画面には何も表示されないことがあり、場合によってはノートPC単体の状態でもそうなる。Initial Graphics Deviceが特定のデバイスではなく「Auto」になっていれば大丈夫かもしれないが、今と変わらないかもしれない
外部モニターにもVGA、DVI、HDMIなど複数の入力がある場合があり、アクティブな入力を探すように「Auto」スキャンに設定されていると、検出に起動時間より長くかかることがある。そうなら、モニターの入力オプションで好みの入力を単独またはデフォルトに指定すれば、今は空白画面に見えている時間に何かを見られるかもしれない
DisplayPortで接続した4Kモニターは問題ないが、ホームラボの復旧用に使っている古いVGA/DVIモニターは、十分速く点灯できない