这个项目能做什么

grubForge 是一款终端用户界面(TUI)应用程序,旨在管理和定制 Linux 系统上的 GRUB 引导加载程序。它致力于解决手动编辑 GRUB 配置文件所带来的复杂性和风险,提供了一种更安全、更清晰且更易于上手的替代方案。 该应用程序围绕四个核心原则构建: * 安全性:确保每次更改前都会创建备份,操作需确认,并对输入进行验证。 * 清晰度:用通俗易懂的语言解释每一项 GRUB 设置,并区分必要与可选设置。 * 美观性:呈现一个现代且设计精良的 TUI,而非基础的配置界面。 * 易用性:采用键盘驱动设计,响应迅速,即使是不具备深厚引导加载程序专业知识的用户也能轻松使用。 主要功能包括: * 仪表盘:提供当前 GRUB 设置的概览,并提示引导菜单是否已过时。 * 配置编辑器:允许在实时验证和说明的情况下编辑 GRUB 设置。 * 主题浏览器:支持浏览、预览和应用已安装的 GRUB 主题。 * 启动项管理:支持重新排序、重命名和创建启动项,包括检测其他操作系统。用户可以保存自定义顺序并恢复原始状态。 * 备份与恢复:在每次更改前自动创建带时间戳的备份,保留最近的 10 个备份,并可在应用内进行恢复。 * 引导菜单重建:提供一键重建引导菜单的功能。 * 一致的快捷键:在所有屏幕中提供通用的操作键(编辑、保存、应用、刷新、重新生成),以及特定屏幕的快捷键。 * 用户级操作:以普通用户身份运行,利用 Polkit 处理特权操作,确保应用程序本身不处理 root 密码。 grubForge 的安全理念优先考虑防止引导加载程序损坏。每一项更改都经过验证、确认、自动备份和 Polkit 授权许可。一个小型、固定词汇的辅助脚本负责处理 root 级任务,重新检查所有输入并确保对关键配置文件进行原子写入。应用程序会明确警告用户潜在问题,例如当自定义启动顺序处于活动状态时,内核更新可能不会出现在引导菜单中,因为此时 GRUB 的自动条目生成器会被关闭。 安装说明涵盖了 Arch Linux(通过 AUR 或源码)、Debian/Ubuntu 及其他发行版,详细列出了 Python 3.10+、python-textual、python-rich 和 polkit 等必要依赖。使用时强调以普通用户身份运行 grubforge,同时也支持在纯控制台环境或用户偏好下使用 sudo grubforge。 项目路线图包括迁移至 forgekit 共享基础以提高 UI 一致性,并进一步增强功能,如解决重复启动项、提高纯文本控制台的可读性,以及在启动项被冻结时提供警告。更新日志强调了近期改进,包括转向基于 Polkit 的权限处理,以及为 grub.cfg 权限受限的系统改进引导菜单读取功能。 grubForge 是人类与人工智能协作的成果,开发过程透明,采用 GNU 通用公共许可证 v3.0 发布。