Установка
Начнём с установки, тут изменений особых нет, загрузочное меню осталось практически без изменений относительно Chimbalix 24.1:
Ну и конечно отмечу особенность дистрибутива Chimbalix, а именно, красное предупреждение для пользователя в случае, если включен Secure Boot, так как в дистрибутиве используется кастомное ядро, оно само собой не подписано, соответственно, бесполезный и вредоносный для обычных пользователей костыль (по моему мнению) под названием Secure Boot, благополучно запрещает такому ядру работать:
Так что да, мой дистрибутив несовместим с системами, в которых Secure Boot активен и его невозможно отключить, т.е. порабощённые системы. Про системы где необходимо поддерживать высокий уровень закрытости и ограниченности я не говорю, там мой дистрибутив вряд ли будет уместен, но если в таких системах используется на полном серьёзе Secure Boot в качестве "решения", ну не знаю, это довольно забавно, если не сказать смешно...
В общем, запускаем дистрибутив и приступаем к установке через ярлык на рабочем столе "Install Chimbalix". У меня в виртуальной машине система установилась менее чем за 10 минут, правда сколько точно было затрачено времени не скажу, ибо немного отвлёкся, а когда вернулся система уже была установлена:
Как некоторые наверняка уже заметили - фон загрузочного меню в некоторой степени повторяет новые нескучные обои рабочего стола, и я не просто так сменил обои, ведь Chimbalix 24.2 получил существенные изменения относительно версии 24.1 и старый вид в новой системе лишь вводил бы в заблуждение людей:
Первый запуск, происходит окончательная настройка мелочей и подготовка префикса Wine для нормальной работы, после чего система готова к использованию:
И да, совсем забыл, во время и после установки, дистрибутив Chimbalix израсходовал менее 1 МБ трафика при подключенном доступе в интернет, и даже спустя несколько часов, система не проявляет никакой наглости в плане высасывания трафика без ведома и разрешения пользователя, ведь у системы отключены автоматические обновления:
-
Меню "Пуск"
Начнём с особенностей многострадального меню "Пуск". Сразу отмечу тот факт, что старые категории с префиксом "chi-" были перенесены в отдельный каталог, просто чтобы не валялись россыпью в корневом каталоге ярлыков, также были перенесены и элементы панели управления (chixset):
Раздел "apps" остался без особых изменений, собственно его я не собираюсь когда-либо существенно менять, это будет тот самый стабильный островок свободы, которого так не хватало в линуксах, а вот из нового, появился раздел "xdg", и его тоже менять особо не собираюсь в будущем, скоро поймёте почему...
Сначала рассмотрим категорию "Applications": она предназначена для стороннего ПО, то есть это главная категория для софта устанавливаемого пользователем. Там можно найти пример, относительно использования категории "Applications" и пример приложения использующего общий исполняемый файл для запуска (Godot Engine), что позволит в будущем разрабатывать софт занимающий очень мало места, но об этом нововведении поговорим чуть позже.
Теперь пара слов о категории "XDG / Linux", как некоторые могли заметить, эта категория практически полностью соответствует спецификациям Desktop Menu версии 1.1 и я специально оставил два тестовых ярлыка для демонстрации данного раздела, именно в этот раздел будет падать весь линуксоидный софт, и по большей части, этот раздел необходим для совместимости с уже существующим софтом:
А что до основных разделов, тут всё просто, они предназначены в первую очередь для встроенного в дистрибутив софта и могут быть изменены с новыми версиями дистрибутива, всё ради удобства использования и исправления недостатков:
По итогу имеем следующее:
1) Раздел "Applications" - Стабильный раздел для стороннего софта, он будет сохраняться в исходном состоянии настолько долго, насколько это вообще возможно в принципе, именно этот раздел следует использовать для расположения приложений в меню.
Здесь можно правильно и без проблем хранить множество ярлыков связанных с одним приложением, ведь за "папку" в этом разделе меню отвечает разработчик приложения, а не какой-то условный дядя Вася.
Я сделал несколько примеров правильного использования данного раздела меню, кто захочет - поймёт и воспользуется, ничего сложного там нет, если конечно не считать того, что в линуксах не ищут лёгких путей, и создание одного элемента в меню, требует наличия трёх разных файлов в трёх разных местах разорванного в клочья "пингвина", но если это напугает разработчика - значит такому разработчику нечего вообще влезать в линуксы...
2) Раздел "XDG / Linux" - Этот раздел был создан следуя спецификациям freedesktop насколько это было возможно, только категория "Other" выбилась из спецификаций, но эти линуксоидные спецификации такое жёсткое мракобесие, что я не нашёл иного выхода, как слегка отклониться с этим разделом, ибо оказалось невозможным разложить все разделы без конфликтов и замусоривания...
Что тут сказать: раздел необходим для совместимости с уже существующим линуксоидным софтом, ведь основное меню дистрибутива не соответствует линуксоидным спецификациям, а сбрасывать всё в одну кучу тоже не выход.
В общем время покажет, насколько этот раздел по спецификациям будет удобен, хотя ладно, скажу сразу, он неудобен, но об этом чуть позже...
3) Прочие основные категории предназначены для встроенного в систему ПО, они могут изменяться с новыми версиями дистрибутива и в целом, не рекомендуется в них прописывать какой-либо сторонний софт.
Конечно, при желании можно использовать основные категории дистрибутива и для размещения ярлыков софта, если конечно разработчик считает это необходимым и я ни в коем случае не запрещаю так делать, однако следует помнить о последствиях, если вдруг какая-то из нестабильных категорий будет изменена...
...
Собственно вот так кардинально было переработано меню "Пуск", изначально я не планировал создавать раздел соответствующий спецификациям freedesktop, но почему бы и нет? Стабильная категория для стороннего софта уже есть, категории для встроенного ПО тоже есть, не хватало только категории для совместимости с существующим софтом.
Можно было конечно с нуля создать структуру, но мне пришлось бы тщательно продумывать каждый раздел устраняя вечные линуксоидные конфликты и недоработки, а так просто взял и сделал по спецификациям, насколько это было возможно...
-
Встроенное ПО и Wine
Плавно перейдём к встроенному в дистрибутив ПО, и сразу затрону Wine, да, он обновлён до последней исправно работающей версии Wine Staging 9.2. Увы, но всё что новее оказалось поломанным... Так что ярым любителям всего самого нового рекомендую проходить мимо моего дистрибутива.
Среди прочего, были обновлены библиотеки DXVK/VKD3D-Proton стандартного префикса Wine.
Так же был удалён Conky, ибо как показала практика, это бесполезная вещь, ну а кому оно надо - вперёд и с песней, устанавливайте как хотите и пользуйтесь.
Быстро отмечу, удаление десятка неиспользуемых пакетов и neofetch, последний был модифицированным специально для MX Linux, и мне он не понравился, правда установить официальную последнюю версию скрипта я забыл, эх, нечем будет понтоваться линуксоидам... Хотя кто сказал, что я создаю дистрибутив ради понтов?
Установлен X Terminal с пакетом "xbitmaps", они нужны для работы DRM платформы Steam, да и было бы нехорошо без такого базового терминала:
Из неприятного отмечу удаление редактора видео Kdenlive и программы Blender, они позже будут вынесены автономными установочными пакетами в Chimbalix Software Catalog. Удаление этих приложений позволило нивелировать увеличение размера системы из-за установки новой версии Wine (она жирная).
Да и в целом, эти два приложения очень редко использовались, а места занимали много, по совокупности факторов было решено убрать их из комплекта дистрибутива.
А теперь к приятному. В дистрибутиве появился ONLYOFFICE Desktop Editors:
Ведь далеко не каждому по нраву, старый, добрый и временами проблемный LibreOffice.
Установлена утилита archivemount, что позволяет монтировать архивы без распаковки. Не то чтобы это была очень нужная утилита для обычного пользователя, но она нужна будет для установочных пакетов приложений, что на данный момент ещё на стадии разработки:
Ну и закончим этот раздел набором карточных игр KPatience, как можно обойтись без этого "стандарта"?
-
Godot Engine (Shared)
Игровой движок Godot Engine далеко не идеален, но я уважаю его разработчиков за минимальное количество зависимостей необходимых для запуска игр созданных в этом движке.
Однако я не использую этот движок для разработки игр, я предпочитаю его использовать для разработки обычных приложений, для примера приведу давно заброшенный "Chi Calculator", но есть проблема... Исполняемый файл Godot Engine версии 3.5.3 весит целых 38.5 МиБ (насколько помню, файл от Godot Engine 4.х весит более 60 МиБ), и в случае небольших проектов это существенно, ведь сам проект может весить считанные мегабайты со всеми графическими ресурсами:
Потому я не придумал ничего лучшего, как встроить исполняемый файл игрового движка в систему под именем "godot353_shared", такое имя сформировано не просто так, ведь в будущем, возможно, будет встроен исполняемый файл и для Godot Engine 4 версии, но это только если подход докажет свою состоятельность:
На данный момент есть только одно приложение использующее общий исполняемый файл Godot Engine версии 3.5.3, и это простенький пример:
Да, есть некоторые костыли, например символическая ссылка с именем "godot353_shared" указывающая на файл ресурсов приложения, это необходимо т.к. движок ищет файл с таким же именем, как и исполняемый:
А если необходимо проводить работу в каталоге фактического приложения - путь необходимо передавать в качестве аргумента к общему исполняемому файлу и ловить уже внутри приложения как аргумент, ну и не забываем задавать рабочий каталог командой "cd":
Но в результате, имеем полностью рабочее приложение, что весит вместе с исходным кодом всего 22.2 КиБ:
Да, такое приложение будет работать только при наличии общего исполняемого файла Godot Engine в системе, а есть он на данный момент только у Chimbalix, но опять же, это пока что только эксперимент, который вполне вероятно, окажется успешным.
Ну и про деинсталлятор пару слов. Это очень простенький скрипт позволяющий удалить приложение и, как можно заметить: приложение установлено на стороне пользователя, само приложение разумеется в каталоге portsoft, а вот файлы необходимые для размещения в меню "Пуск" размазаны по трём каталогам, Linux... Что с него взять, не побегу же я писать полностью своё меню без такой размазни...
Да и не разработчик я вовсе, так, просто пользователь, которого достали вечно ущербные линуксы, и решивший взять это всё кривое дерьмо в свои руки...
Ну да ладно, продолжим обзор нововведений и изменений в дистрибутиве Chimbalix, хотя уже объём материала поджимает... Постараюсь сократить всё остальное, тем более осталось немного.
-
Прочее
Следующая особенность, это отключенные по умолчанию репозитории MX Linux, просто от греха подальше. Кому надо - включит. Ну и оставил отключенной запись локального репозитория чисто для самого себя, а для тех, кто захочет подключить свой локальный репозиторий - не забывайте про дерьмо с правами на каталог пользователя в "/media/":
В проводнике отключены горячие клавиши F1 и F3, первая вызывала веб-браузер и лезла на сайт со справкой проводника (брр...), вторая разделяла окно на две активные зоны и это ломало все открытые вкладки проводника, что очень бесило в реальном использовании при случайном нажатии...
Почему эти кнопки были проблемой? Ответ в клавише F2, она отвечает за переименование файлов и используется часто, а так как вероятность случайного нажатия соседних клавиш далеко не нулевая, рано или поздно клавиши F1/F3 доставляли проблемы на ровном месте, потому было решено их вовсе отключить - всё равно никаких важных функций не выполняли.
Эту проблему я уже вроде как решал в прошлой версии дистрибутива, но видимо что-то упустил и недоделал, короче человеческий фактор, так что на этот раз, наверняка решил проблему данных сочетаний.
Далее отмечу появившиеся инструменты AppImage, правда с правами доступа к папке документации я накосячил и не заметил, она доступна только из под root, но ничего страшного, рядом есть архив с документацией:
Пока что эти инструменты никак не задействованы в дистрибутиве, но и проблем в их наличии не вижу.
Раз уж зашла речь, в контекстном меню, в разделе инструментов появилась функция распаковки AppImage архивов. Да, элементарная команда, но я вертел на жезле это всё постоянно делать через терминал:
Также была проведена оптимизация встроенных приложений, что ранее были в формате AppImage, да, я их распаковал, ведь в распакованном виде по ощущениям, они заметно быстрее запускаются и ещё лучше сжимаются:
Пришлось конечно некоторым приложениям прописать глобальные переменные APPIMAGE и APPDIR для корректной работы, но это мелочи:
В распакованном виде приложения весят гораздо больше чем в упакованном формате AppImage, но сам по себе AppImage практически не сжимается архиваторами, а вот распакованный вариант сжимается существенно сильнее, что благоприятно влияет на итоговый размер образа дистрибутива (сжимается форматом XZ):
Так что плюсы явно перевешивают минусы, в конце концов, я создаю не минималистский дистрибутив, а вполне нормальный, от лишней пары гигабайт на системном разделе после установки системы, вряд ли кто-то пострадает.
Но меня кое-что расстроило, я забыл снять галочку в настройках терминала, что заставляет отображать жирный шрифт светлыми вариантами цветовой схемы, это нехорошо, нужно будет исправить в следующей версии дистрибутива:
Эх, не обошлось без таких досадных косяков...
-
--
Заключение
На этом пожалуй завершу, ибо слишком много материала получилось для одной статьи.
В общем так и была выпущена новая версия дистрибутива Chimbalix 24.2 Alphachi. Не без недостатков конечно, но мне наконец удалось побороть многострадальное меню "Пуск" и внедрить некоторые важные нововведения, что послужат основой для дальнейшего развития системы в целом.
Ну и чтобы разбавить статью, добавлю небольшое сравнительное тестирование скорости SSD Samsung 970 PRO 512GB, на реальной системе и в виртуальной машине Virtualbox:
Эх, чуть не забыл оставить ссылку на дистрибутив:
GitHub: ( https://github.com/Shedou/Chimbalix ).
И напоследок пара слов о том, почему работа по линуксоидным спецификациям это плохая идея, хотя тут даже не пара слов, а один наглядный пример. Да, один и тот же ярлык может находиться сразу в нескольких разных категориях одновременно, и это самое что ни есть мракобесие, с которым разработчики кое-как танцуют в болоте вечно кривых дистрибутивов Linux:
Ну а что делать, ведь спецификации писали какие-то "наркоманы" (прошу прощения если кого-либо обидел), а разработчики дистрибутивов пляшут абы как наперекосяк, вот и приходится извращаться разработчикам софта, чтобы ничего не потерялось...
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.