Предисловие
Почему Linux непригоден для нормального использования? Для начала отметим, что говоря про Linux обычно подразумеваются десктопные операционные системы для обычных пользователей, именно такой ОС является Chimbalix, т.е. для обычного использования на ПК, за ноутбуки не говорю так как у меня нет возможности постоянно тестировать свой дистрибутив на ноутбуках.
Возвращаясь к причинам непригодности Linux для нормального использования, я просто оставлю ссылки на несколько статей по данной теме:
Повреждённые файлы при копировании, или ещё одна причина, почему Linux многим и даром не нужен
Почему Linux не для игр на примере 7 Days to Die 21 b324
Почему принудительные обновления Linux хуже обновлений Windows
Проверяю, можно ли установить OBS Studio в Linux из официальных DEB пакетов
Снова поломался локальный репозиторий Debian 12.5, или почему Linux не для людей
Драйвер видеокарты: Как выглядит одна критическая проблема практически любого дистрибутива Linux
LLVMpipe проблема современных дистрибутивов Linux: Поломали что работало
Так ли хорош Linux в работе с принтерами - проверяю Windows 7/10 и Kubuntu с двумя принтерами
А теперь перейдём к разработке дистрибутива Chimbalix. На данный момент есть версия дистрибутива "24.1 Alphachi-Pre6", и про данную версию уже есть отдельная статья:
Подводим итоги по выпуску дистрибутива Chimbalix 24.1 Alphachi-Pre6
Однако сейчас нужно работать над следующей версией дистрибутива, ведь есть очень много косяков требующих исправления и доработки...
-
Программа установки
Так как изначально мой дистрибутив был основан на MX Linux 23.1 AHS, естественно он перенял практически всё от него, в том числе и программу установки.
На самом деле я стараюсь следовать принципу "работает - не трогай", но проблема в том, что родной установщик от MX Linux не работает как надо в дистрибутиве Chimbalix, и приходится делать подобные костыли, что требуют вводить root пароль от пользователя:
А всё потому, что в моём дистрибутиве есть каталог для приложений под названием "PortSoft", без которого не получилось бы сделать даже портативную сборку SD WebUI Nero Linux, ведь подобный софт в линуксах попросту некуда "складировать"... Собственно проблема была в том, что старая программа установки игнорировала мой каталог для софта, и он не копировался в систему без дополнительных костылей.
В итоге я не придумал ничего лучшего и более правильного, как достать исходный код проекта MX Installer (Gazelle Installer) и переработать под свой дистрибутив, правда в итоге пришлось переименовать проект в Chimbalix Installer, дабы он не конфликтовал с исходным проектом, было бы некрасиво использовать имя оригинального проекта, учитывая что ответвление дальше пойдёт своей дорогой:
Так как было решено переименовать проект, большая часть изменений пришлась на переименование "хвостов", из-за которых пользователь в случае проблем мог бы пойти писать "гневные отзывы" к разработчикам MX Installer / Gazelle Installer, даже если они будут вообще не виноваты в какой-либо проблеме:
Я не хочу чтобы пользователи думали будто используют MX Installer / Gazelle Installer, когда на самом деле это уже отдельный проект, но и не хочу чтобы кто-либо забывал на чём были основаны мои проекты, потому выкручиваюсь как могу, стараясь упоминать про оригинальные проекты, на основе которых построены мои:
Да, были удалены костыли для перевода "ярлыка" на разные языки, мне они показались бесполезными и более сложными в использовании, чем если переводить на разные языки простым "блокнотом":
Но главное, что мне надо было, это добавить каталог "portsoft" в очередь копирования, всего одна строчка кода, которая потянула за собой массу других изменений...
Теперь просто сравним визуально старый, и новый установщик, на первой "странице" изменился текст в зоне подсказок, но это обусловлено тем, что я взял за основу оригинальный проект Gazelle Installer, а не MX Installer, в целом тут ничего нового:
Далее раздел настройки клавиатуры, тут я немного уменьшил расстояние между элементами указывающими текущие настройки клавиатуры, а изменения раздела выбора диска для установки в целом обусловлены общим обновлением проекта Gazelle Installer:
Но одну особенность всё же отмечу, она относится к интерфейсу в целом, и заключается в такой мелочи как курсор мыши при наведении на активные элементы вроде кнопок, мой установщик благодаря этой "мелочи" ощущается более "живым":
Впрочем, чему тут удивляться, что в линуксоидном софте даже курсор мыши никак не меняется при наведении на кнопку, ведь в линуксах обычно не принято думать про User-eXperience, что собственно является одной из причин популярности Linux на уровне плинтуса...
Дальше окно настройки дисков, некоторые изменения обусловлены общим обновлением проекта (параметры шифрования перенесены в отдельный раздел, они не исчезли вовсе), но здесь я не удержался и внёс от себя улучшения, перенёс кнопки работы с разделами в нижний ряд, окно и так маленькое по ширине, зачем его перегружать ещё больше боковым расположением кнопок, когда можно их разместить снизу? Тем более места по вертикали целая гора и горка рядом:
Раздел настройки загрузчика и файла подкачки остался без изменений, но этот раздел немного просится на переработку, однако он работает и нормально выполняет свои задачи, а значит пока нет смысла его трогать:
В следующем разделе была отключена по умолчанию включенная настройка SaMBa сервера, всё равно с этой линуксоидной "Самбой" одни проблемы постоянно, сколько не пытался использовать в разных дистрибутивах Linux, так что если пользователю нужен геморрой на голову с этим линуксоидным софтом - пусть включает и танцует с бубном как хочет, я не перепишу "Самбу" чтобы она адекватно работала, увы...
С настройками локализации и часового пояса тоже чуток поработал, но изменения сугубо косметические, мне, как пользователю, было слишком неудобно ковырять выпадающие списки приклеенные к правому краю окна когда всё остальное расположено от левого края, потому немного перегруппировал элементы, вроде и незначительное исправление, но в целом стало приятнее настраивать параметры, ведь не нужно елозить мышью по всему окну для настройки:
Над разделом настройки учётных записей тоже была проведена работа, по умолчанию включена опция автоматического входа в систему, а опция сохранения изменений в Live режиме перенесена подальше от общих настроек, так как она обычно не имеет никакого смысла когда пользователь пришёл именно установить систему, а не играться с ней:
Дальше ничего не изменялось, ну кроме того, что теперь пользователя не направляют на исходный проект MX Linux:
А теперь поговорим про особенности, так как я не люблю "размазывать фекалии пингвина по всему сортиру", было решено совместить "данные" с "установщиком", изначально установщик был разбит на два пакета, стоит ли говорить, что это меня "немного" напрягало?
При этом "данные" были расположены внутри каталога chimbalix-installer, ранее они были в отдельном каталоге и мусорили в "/usr/share", конечно пришлось задуматься над бардаком с лицензиями в изначальном проекте, но у меня нет идей как решить этот "жопен-сорсный" бардак, потому сделал как смог стараясь сохранить все копирайты / лицензии и предоставить к ним доступ.
Ещё отмечу новый функционал, а именно возможность добавлять в "подсказки" свой текст через файл конфигурации, я подумываю над тем, чтобы вообще вынести "подсказки" в отдельный файл конфигурации, это хоть и поломает переводы на разные языки (которых и так больше нет), но позволит настраивать установщик без компиляции из исходного кода:
Если честно, я до сих пор до конца не разобрался что к чему и как относится в плане лицензий оригинального проекта Gazelle Installer, там просто полнейший хаос, и уже даже пожалел о том, что решился доработать существующий проект вместо того, чтобы написать свой с нуля... Но так или иначе пока всё останется как есть, да, бардак и помойка характерная для Linux в целом, но она работает.
Ну и теперь понимаю, почему никто особо не горит желанием приобщаться к Open Source ради какой-нибудь мелкой доработки - приходится ковыряться в помойке лицензий пытаясь сохранить копирайты и не нарушить ничего случайно, я уже не говорю про "вирусность" лицензий...
В любом случае одним костылём стало меньше в дистрибутиве, ведь каталог "portsoft" отныне нормально копируется вместе с системой, а значит больше не нужно вытаскивать его костылями из линуксоидного "opt":
-
Chimbalix Snapshot
Следующая проблема была в том, что оригинальный MX Snapshot "поломался" при удалении оригинального MX Installer. Ну как сказать, не совсем конечно поломался, но делал нехорошие вещи, а именно принудительно устанавливал пакет mx-installer перед созданием нового образа, и на параметр в файле конфигурации не реагировал (похоже где-то очередные косяки в коде):
В итоге и проект MX Snapshot пришлось переработать из-за трёх дурацких строчек кода, которые принудительно устанавливали то, что устанавливать не нужно было... Ну и заодно поправил пути к файлам lsb-release и mx-version, что разработчики исходного проекта каким-то образом поломали...
В чём была проблема? Элементарно в именах, когда в настройках приложения перед созданием образа указывались одни параметры, а в образ зашивались другие, ведь в линуксах, как всегда, всё разорвано в клочья по разным местам системы, и эту проблему я впервые обнаружил в оригинальном MX Linux 23.2 AHS, в котором разработчики просто обновили приложение через репозитории и плевать хотели на косяки (поломали что работало).
Над интерфейсом разумеется тоже поработал немного, преимущественно над курсорами при наведении на кнопки, ещё логотип перенёс к кнопкам "О программе" и "Справка", в остальном особой разницы нет:
Разумеется не забыл убрать ссылки на оригинальный MX Linux в окне "About", чтобы пользователи в случае чего не шли к тем разработчикам, что не связаны с разработкой Chimbalix Linux, файл лицензии и справку тоже не мог оставить как было, пользователь должен понимать, что это не сам MX Snapshot, а проект основанный на MX Snapshot:
-
--
Продолжение следует...
Пожалуй на этом завершу данную часть, всё же не стоит делать слишком объёмные статьи, ибо с ними не только неудобно работать, но и вряд ли все любят читать слишком большие материалы.
Важно! На данный момент (2024-04-07) "Chimbalix Installer" и "Chimbalix Snapshot" не внесены в доступный образ дистрибутива, это всё находится на стадии сборки следующей версии Chimbalix Linux.
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.