Fedora、Arch、OpenSUSE、Kali都能装吗?Elegant-grub2-themes各发行版安装差异与坑点清单

【免费下载链接】Elegant-grub2-themes

Elegant grub2 themes for all linux systems

项目地址:https://gitcode.com/gh_mirrors/el/Elegant-grub2-themes
点击查看免费下载

先说结论:都能装,而且装法基本一样。Elegant-grub2-themes 是一个免费开源的 GRUB2 主题项目,它会自动识别你用的是 Fedora(dnf)、Arch(pacman)、OpenSUSE(zypper)还是 Ubuntu/Debian(apt),调用对应的 GRUB 更新命令。不同发行版的差异主要体现在 GRUB 配置路径和少量"坑点"上,这篇文章帮你逐一理清。

一分钟了解这个主题:4 套背景 × 4 种样式

在讲安装之前,先花 30 秒搞清楚它长什么样,避免装完发现"不是我要的效果"。

维度可选值说明
背景主题-tforest / mojave / mountain / wave森林、沙漠、山脉、波浪
样式-pwindow / float / sharp / blur窗口、悬浮、锐利、模糊
图片侧-ileft / right背景图显示在左侧或右侧
配色-cdark / light深色或浅色
分辨率-s1080p / 2k / 4k分别对应 1920x1080、2560x1440、3840x2160

所有组合共 192 种效果,官方预览图全部放在仓库里,安装前可以对着挑:

  • preview-01.jpg:forest(森林)全套预览
  • preview-02.jpg:mojave(沙漠)全套预览
  • preview-03.jpg:mountain(山脉)全套预览
  • preview-04.jpg:wave(波浪)全套预览

通用安装步骤:所有发行版通用

第一步:获取项目

git clone https://gitcode.com/gh_mirrors/el/Elegant-grub2-themes cd Elegant-grub2-themes

第二步:运行安装脚本

sudo ./install.sh -t mountain -p window -i left -c dark -s 1080p

不带任何参数直接运行sudo ./install.sh,会弹出一个基于dialog的图形化菜单,用方向键选择背景、样式、分辨率即可,适合新手。

第三步:重启看效果

脚本会自动修改/etc/default/grub(先备份为grub.bak),写入GRUB_THEME、GRUB_BACKGROUND、GRUB_GFXMODE,然后重新生成 GRUB 配置。下一次重启即可看到新主题。

核心逻辑都在这两个文件里,遇到问题可以对照源码排查:

  • 安装入口与参数解析:install.sh
  • 发行版识别、字体拷贝、配置修改:core.sh
  • 主题配置文件(每种分辨率都有):config/ 目录

各发行版差异对比表

项目Ubuntu / Debian / KaliFedoraArchOpenSUSE
GRUB 配置文件/etc/default/grub/etc/default/grub/etc/default/grub/etc/default/grub
GRUB 主配置位置/boot/grub/grub.cfgBIOS:/boot/grub2/grub.cfg
UEFI:/boot/efi/EFI/fedora/grub.cfg
/boot/grub/grub.cfg/boot/grub2/grub.cfg
更新 GRUB 命令update-grubgrub2-mkconfiggrub-mkconfiggrub2-mkconfig
图形菜单依赖需手动装dialog需手动装dialog需手动装dialog需手动装dialog
脚本能否自动处理✅ 自动✅ 自动✅ 自动✅ 自动

识别逻辑见 core.sh 中的updating_grub函数:先找update-grub,再找grub-mkconfig,然后按zypper/transactional-update(OpenSUSE)、dnf/rpm-ostree(Fedora/Atomic)顺序判断。

各发行版专属坑点清单

🔹 Fedora:字体问题已内置修复,注意 UEFI 路径

这是坑最多的发行版,但项目已经替你处理好了:

  1. 字体问题:Fedora 上启用 GRUB2 主题后常报缺少unicode.pf2字体(Fedora 34+ 均如此)。安装脚本检测到dnf后会自动检查/boot/grub2/fonts/unicode.pf2或/boot/efi/EFI/fedora/fonts/unicode.pf2,并自动写入GRUB_FONT=配置,见 core.sh 的 Fedora workaround。
  2. UEFI 用户注意:Fedora UEFI 系统的 GRUB 配置在/boot/efi/EFI/fedora/grub.cfg,脚本会自动探测两个位置(BIOS/UEFI)分别处理,你无需手动指定。
  3. 不要用-b参数:Fedora 的/boot通常是独立挂载的,-b会把主题装进/boot/grub2/themes,重启后容易找不到文件。默认安装到/usr/share/grub/themes是最稳的选择。

🔹 Arch:最"干净"的发行版,注意 Btrfs 分离 /boot

Arch 的 GRUB 结构和标准一致,脚本走grub-mkconfig -o /boot/grub/grub.cfg这条路,基本无坑。唯一提醒:

  • 如果你的/boot独立挂载(尤其是 Btrfs + systemd-boot 转 GRUB 的用户),同样避免使用-b参数,防止主题文件落在/boot上导致 GRUB 无法读取。
  • Arch 默认不带dialog,图形菜单需要sudo pacman -S dialog,或者直接传命令行参数(推荐,参数更精确)。

🔹 OpenSUSE(含 MicroOS):命令名不同,脚本已适配

  • 更新命令是grub2-mkconfig -o /boot/grub2/grub.cfg(多了一个2),脚本通过检测zypper或transactional-update自动走这条分支。
  • MicroOS 特别注意:Transactional 系统更新内核后 GRUB 配置可能被覆盖,如果你用了systemd-boot或efibootmgr手动管理,建议换回 GRUB 再装主题,否则可能出现"装了但重启不生效"的假象。
  • 手动安装dialog:sudo zypper in dialog。

🔹 Kali:有一个"主题劫持"文件,脚本已内置处理

Kali 官方自带主题机制,会在/etc/default/grub.d/kali-themes.cfg里写死GRUB_THEME和GRUB_GFXMODE,它会在生成配置时覆盖/etc/default/grub的设置——这就是"我明明改对了却不生效"的根源。

项目专门做了兼容(见 core.sh):脚本会先备份kali-themes.cfg,再把它里面的GRUB_THEME、GRUB_GFXMODE直接改成新主题的值。卸载时也会优先从该文件里清除主题设置。在 Kali 上装完不需要做任何额外操作,但要避免手动再装回 Kali 官方主题工具,两者会互相打架。

🔹 Ubuntu / Debian:最省心

update-grub一路绿灯,只需注意dialog依赖(sudo apt install dialog)。

常见报错与排查速查

现象原因解决
重启后主题没变GRUB_TERMINAL=console压制了图形脚本会自动注释它;若无效检查/etc/default/grub是否被其他工具改回
分辨率模糊/变形GRUB_GFXMODE与显示器不匹配在 GRUB 界面按c进入命令行,输入vbeinfo或videoinfo查看可用分辨率,手动修改后执行grub-mkconfig -o /boot/grub/grub.cfg
Fedora 中文字体缺失未找到unicode.pf2脚本已自动处理;若仍出现,确认GRUB_FONT路径存在
Kali 上主题不生效被kali-themes.cfg覆盖重装一次让脚本重写该文件,或检查备份文件是否被还原
想换自己的背景图自定义壁纸把图片命名为background.jpg放到项目根目录,安装时正常传参即可,需先安装imagemagick(提供convert命令)

卸载与换主题

想换回默认或彻底移除,一行命令搞定:

sudo ./install.sh -r -t mountain

-r会删掉对应主题目录并把GRUB_THEME注释掉,同时重新生成 GRUB 配置。注意必须带上与安装时一致的参数(-t/-p/-i/-c),否则会提示"主题不存在"。

进阶:给 NixOS 用户的官方 Flake

如果你用的是 NixOS,项目附带了 flake.nix,开启 flakes 后把模块加入configuration.nix,通过boot.loader.elegant-grub2-theme选项声明式配置主题,支持splashImage自定义背景,比跑脚本更符合 Nix 的使用习惯。

写在最后

  • 想先看到最终效果?翻仓库里的 4 张 预览图 按图索骥选参数。
  • 想理解主题配置细节?每个分辨率都有对应的 theme-*.txt 文件,纯文本可读。
  • 字体资源统一放在 common/ 目录(terminus 拉丁字体 + unifont 中文字体),这也是中文字体能正常显示的保障。

一句话总结:所有主流发行版安装流程完全一致,真正的差异只在 GRUB 配置路径和个别"劫持"文件上,而脚本已经全部帮你处理好了。剩下的唯一功课,就是选一张你喜欢的背景。

【免费下载链接】Elegant-grub2-themes

Elegant grub2 themes for all linux systems

项目地址:https://gitcode.com/gh_mirrors/el/Elegant-grub2-themes
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考