Об этом проекте

grubForge — приложение с терминальным пользовательским интерфейсом (TUI), предназначенное для управления и настройки загрузчика GRUB в системах Linux. Оно направлено на устранение сложностей и рисков, связанных с ручным редактированием файлов конфигурации 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` для улучшения согласованности пользовательского интерфейса и дальнейшие улучшения, такие как решение проблемы дублирующихся записей загрузки, повышение читаемости на простых текстовых консолях и предупреждения при заблокированных записях загрузки. В журнале изменений отмечены переход на обработку разрешений на базе Polkit и улучшенное чтение меню загрузки для систем со стеснёнными правами на `grub.cfg`. grubForge — это совместный проект человека и искусственного интеллекта с прозрачным подходом к разработке. Распространяется под лицензией GNU General Public License v3.0.