Прежде всего важно заметить, речь будет идти исключительно про Desktop, то есть обычные ПК и ноутбуки, те самые которые использует подавляющее большинство обычных пользователей ПК.
И когда говорю что репозитории это мусор, я имею в виду что репозитории мусор для обычного пользователя, не для красноглазого танцора с бубенцами в терминале, не для IT-специалиста что использует Linux "по работе", а для обычного человека, который вот пришел с Windows в Linux и пробует использовать "свободные" ОС.
На мой взгляд важнейшая проблема всех дистрибутивов Linux это отсутствие адекватной системы распространения и запуска приложений, в том числе различных версий одного приложения.
И эта проблема в первую очередь вытекает из разработчиков софта увязших в болоте зависимостей, и эти же разработчики тянут в свое болото обычных пользователей не желая менять свой подход к разработке, что как минимум неприлично.
Я конечно понимаю, каждый делает как хочет, но знать меру тоже нужно, и если сам тонешь то хотя бы не тащи за собой прохожих.
А теперь я скажу пару слов про доступные в первую очередь возможности у пользователя.
Хлам абсолютно бесполезный когда у ПК нет качественного и быстрого доступа к интернету, да и при наличии быстрого доступа к интернету скорость репозиториев порой оставляет желать лучшего, бонусом такой метод установки разводит болото зависимостей в системе пользователя.
А центры приложений вроде и есть, а толку нет, обычно все равно нужно идти на сайт разработчика и скачивать все необходимое, и после плясать с бубном перед терминалом пытаясь запустить приложение которого часто может и не быть в центре приложений дистрибутива у пользователя.
Тоже хлам, ибо многие пакеты невозможно установить не вздёрнув зависимости через интернет, по сути это как репозитории, только создает иллюзию автономности и свободы, а по факту бесполезный хлам, ведь невозможно просто так установить такие пакеты предварительно не потанцевав с бубном в терминале.
Установка VirtualBox и Ryzen Controller:
|
|
|
Очередной хлам, зависимости никуда не исчезли, их просто спихнули в "ящик", при этом этот хлам еще зависит от репозиториев, порой весьма тормозных...
Допустим мне нужно скачать GIMP, чтобы закинуть его на USB накопитель и установить на рабочий ПК в другом конце города... Это не про Flatpak, ведь разработчики дают ссылку на репозиторий (flatpakref) из которого нужно качать "ящик" состоящий грубо говоря на 1% из самого приложения, и на 99% из зависимостей...
Еще пример, мне нужна утилита для сравнения производительности двух процессоров (i3-10105F и Ryzen 5 5500), естественно это два разных ПК, и тут есть GTK Stress Testing (GST), эту утилиту еще называют аналогом AIDA64, хотя до AIDA64 ей пердеть и пердеть как из Гренландии до Китая пешком...
И каким образом мне установить GST на два разных ПК, чтобы провести тесты и сравнить между собой системы? А если тестируемые системы не подключены к сети ибо нужно прокладывать инфраструктуру специально ради этих двух систем? У разработчика нет релизов приложения, он дает только исходные коды, но это ведь не беда, есть же великий Flatpak!
Правда вот установочный пакет никто не дает, дают ссылку на репозиторий... А через репозиторий качать эту дичь нужно буквально гигабайтами на каждый ПК в отдельности...
Можно было сделать "как в Windows" и не насиловать репозитории, просто установочный пакет адекватный который работает везде и всегда, но наверное "религия" не позволяет, что я могу сказать, каждый сам выбирает где ему сидеть, под плинтусом, на уровне плинтуса, или как Windows недосягаемо для остальных...
|
|
|
Вот подобрались еще к одной дичи, такой "контейнер" пригоден разве что для утилит уровня CPU-X, не более, и этим все сказано.
После опыта с Flameshot и прочим софтом я понял что AppImage такой же хлам, как и все что выше... Этот очередной костыль не решает проблему, это всего лишь очередной костыль едва пригодный для нормального использования обычным пользователем.
Просто без комментариев.
А каков итог? Вот люди постоянно жалуются что под Linux нет софта толком, а про игры вообще не заикайтесь даже... Так в чем причина?
Разработчики такие глупые не хотят поддерживать прекрасный и свободный Linux? Да, не хотят, а знаете почему не хотят? Да просто потому что в среде Linux невозможно свободно распространять свои труды, вроде и DEB пакеты есть, и Flatpak, и прочие костыли, а как с помощью этого мракобесия распространять софт/игры? Об этом вы подумали?
В Windows все просто, скомпилировал, дал пользователю (диском, архивом через интернет, USB накопителем и т.п.), пользователь легко запустил и использует приложение, никаких проблем.
А в Linux что? Заставить каждого клиента открыть терминал и начать неистовые танцы с заклинаниями из непонятных букв и цифр? Да еще магические последовательности нужно строго соблюдать при вводе заклинаний в терминал, а потом спустя некоторое время труды разработчика просто уничтожают очередным линуксоидным кривым обновлением системы, и у клиента вообще ничего не работает...
Банально взять старую игру или приложение, в Windows обычно нет серьезных проблем с запуском старого ПО, даже если оно было разработано более 20 лет назад, попробуйте подобное провернуть в Linux дистрибутивах, точно "не разочаруетесь", особенно если вспомнить как дистрибутивы Linux выбросили поддержку x86 (32-bit)... Лучше бы выбросили разработчиков занимающихся мракобесием, а не поддержку x86...
|
|
|
|
|
|
Не то чтобы Linux дистрибутивы сейчас важны для меня, Windows 7 все еще прекрасно работает и выполняет свои обязанности как операционная система, но Windows 7 рано или поздно потеряет свою актуальность, и нужно будет переходить на другую операционную систему.
Почему не перейду в Windows 10 и тем более Windows 11? Все просто, проблема с композитором рабочего стола который Microsoft запретили отключать начиная с Windows 8/10, просто рабочий стол перестанет работать если попытаться отключить композитор силой, в чем проблема композитора? Лишние задержки вывода изображения при игре в оконном режиме.
Я играю в оконном режиме, в полноэкранном режиме я никогда не играю, потому лишние ~15-30 мс задержек очень даже напрягают меня во время игры, и не пытайтесь искать эти задержки утилитами мониторинга, не найдете, ибо композитор часть операционной системы которая работает поверх всего.
Это основная из причин почему я не перейду в Windows 10, а в Windows 11 я принципиально не буду переходить, пусть сами используют свое "творение".
Проще говоря я хочу "подстелить солому под себя" на будущее, ибо операционная система от Microsoft откровенно свернула в тупик.
Сейчас дистрибутивы Linux не способны стать в один уровень с Windows по многим причинам, и одну из таких причин я решил устранить сам, ведь на сообщество Linux надежд больше нет, более 20 лет безрезультатно месить болото зависимостей даже не догнав Windows 98 по некоторому базовому функционалу... Это просто... Я не знаю как это назвать без ругани...
Зачем вообще создают дистрибутивы Linux если их невозможно использовать адекватно, обычный пользователь постоянно обретает бесконечные проблемы которых быть в принципе не должно...
Так или иначе "подстелить соломку под себя на будущее" не единственная причина, у меня появился интерес, смогу ли я решить проблему, которую целое сообщество "крайне умных и опытных" за несколько десятилетий не смогло решить бесконечно держась за болото зависимостей, а еще у меня просто полно времени сейчас.
Причем важно заметить, решить проблему запуска и установки приложений в помойке дистрибутивов Linux недостаточно, ведь в этой помойке множество разных дистрибутивов, одно и то же приложение может иметь разный внешний вид в зависимости от дистрибутива, и это тоже проблема.
Да, есть всякие Qt, чтобы унифицировать "лицо" программ, но разве это выход тащить подобную зависимость постоянно? Нет, мне такой вариант не по нраву, тем более я уже видел как работают приложения на основе Qt в дистрибутивах Linux, порой смотрю и думаю, что лучше бы вообще не видел...
Qt в принципе не решает никак болото зависимостей, это просто полезный фреймворк.
Можно пойти по обычной дорожке, как принято у линуксоидов, взять и написать приложение с кучей зависимостей, выкинуть этот выкидыш в GitHub и сказать, вот вам программа, я даю вам её бесплатно и делайте что хотите.
А то что болото зависимостей у каждого пользователя разное, и постоянно "плавает" с бесконечными обновлениями, так на это пофиг, OpenSource же, код есть? Есть, чего еще хотите, берите и делайте...
Но я не линуксоид, и прекрасно понимаю что сделай я подобным образом, конечный пользователь меня просто обложит руганью и пойдет обратно в Windows...
Еще я не хочу постоянно тратить время на переработку проекта, просто потому что какая-то зависимость там усохла в болоте и её выбросили, вот так разработчик писал программу, вкладывал свой труд, и его труд просто уничтожают очередным бестолковым обновлением линуксоидным, а пользователь возмущен что не может запустить привычное приложение (привет от x86).
И при этом мракобесии еще слышны возмущения что софта мало под Linux, а откуда этот софт будет, если каждое линуксоидное обновление может все сломать? Проще уж под Windows написать приложение и забыть, чем под Linux и 100 раз переделывать по вине бесконечных обновлений все ломающих...
Как вариант можно сделать консольное приложение, но боже упаси, сейчас на дворе 2023 год, а не 1980-1990, обычный пользователь пришедший после Microsoft Windows просто не поймет такой подход, от которого в ужасе сбежала та самая Windows более 20 лет назад...
Мой путь прост, приложение обязано работать всегда, оно не должно зависеть от зависимостей которые у каждого пользователя разные, а еще обновления дистрибутива не должно влиять на работоспособность приложения, это значит зависимости нужно резать и рвать с корнем, то самое болото зависимостей.
Но утопающее болото зависимостей нет смысла уничтожать, оно само в себе утонет рано или поздно, нужно просто быть выше этого болота зависимостей, или хотя бы обходить его стороной.
Иначе говоря приложение нужно разрабатывать таким образом, чтобы оно было портативным и без зависимостей, этим я решу одну из самых главных проблем всех дистрибутивов Linux.
И как устанавливать такое приложение? А зачем, достаточно просто запустить и использовать где угодно, но если уж и приспичит установить, то не вижу проблем обратить внимание на уже существующие костыли для установки приложений, но очень сомневаюсь что конечные пользователи оценят такой подход...
Но есть и еще одна проблема, "лицо" программы, оно обязано быть одинаковым везде где бы я не запустил приложение, "отклонения" интерфейса недопустимы.
Например, у пользователя немного "неправильные" настройки Qt, от чего интерфейс программы может стать вообще непригоден для использования, оно мне надо? Нет, это недопустимо, потому нет смысла даже смотреть в эту сторону.
Кастомизация интерфейса будет потеряна? А она разве есть в дистрибутивах Linux? Каким образом мне настроить толщину границ окон в Xfce чтобы не ловить пиксели с лупой у экрана пытаясь растянуть окно? Нет никакой кастомизации по факту, ибо чтобы действительно кастомизировать интерфейс хотя бы как в Windows, нужно перековырять тонны исходного кода... Так что не велика "потеря", было бы что терять еще.
Здесь следовало бы начать самое интересное, но не судьба ибо это только половина всего материала, технически я могу все в одну статью набросать, но стоит ли оно того?
Я предпочту разбить статью на две части, самую интересную половину оставить на вторую часть, а первую (текущую) часть закончить сейчас.
По итогу имеем следующие требования к приложению:
1) Приложение обязано работать без возни с терминалом, чтобы его мог запустить обычный пользователь без лишних телодвижений, в идеале должно работать как в Windows, но в реальности это невозможно, потому необходимо свести к минимуму всевозможные телодвижения конечного пользователя.
2) Приложение обязано работать в любом дистрибутиве Linux насколько это возможно.
3) Приложение не должно иметь лишних зависимостей, просто чтобы в один момент не утонуло в болоте зависимостей.
4) Приложение не должно гадить в системе пользователя и разводить помойку в труднодоступных местах, приложение обязано все необходимое хранить рядом с исполняемым файлом, чтобы пользователь не ломал голову при поиске файлов конфигурации если возникнет проблема (баг) с приложением.
5) Приложение обязано сохранять своё "лицо" в каком бы дистрибутиве его не запустили, иначе говоря внешний вид приложения не должен зависеть от дистрибутива Linux.
Важная оговорка, под дистрибутивом Linux я имею в виду дистрибутив с графическим интерфейсом, в терминале приложение не обязано работать, ибо терминал это прошлый век для большинства пользователей ПК/ноутбуков.
На этом собственно всё сейчас, да, я еще не раскрыл суть того, над чем уже работаю, имейте терпение, все будет в следующей части, а пока можете поразмышлять над требованиями к приложению, и смогу ли я максимально удовлетворить эти требования.
P.S. Отвечаю на вопрос комментатора: Я указываю на некоторые серьезные проблемы что действительно мешают использовать дистрибутивы Linux, и обращаю внимание, что эти проблемы следует исправлять в первую очередь вместо того, чтобы бесконечно исправлять изначально недоработанные узкоспециализированные утилиты... А свое "нытье" оставьте при себе.
Обычный пользователь установит "свободную ОС", посмотрит на бесконечные запросы root пароля которые никак не отключить из GUI да прочие проблемы на ровном месте, и уже будет не до исправления каких-то там PuTTy, может быть полезет на форум просить помощи, получит в ответ "ты просто глупый вендузятник", и уйдет обратно в Windows... И так пока все по кругу не "попробуют", а там уже скажешь про Linux и все такие "Фу! Иди ты со своим линуксом подальше!".
Это ли будущее которого желает сообщество для дистрибутивов Linux? Очень сомневаюсь, но именно к такому будущему все идет, либо так и будут сидеть на уровне плинтуса, а Windows будет доминировать, либо государства насильно начнут сгонять в Linux дистрибутивы людей, это единственные возможные на данный момент варианты, при которых Linux может быть популярен у обычных пользователей, ведь за десятилетия разработчики дистрибутивов не удосужились создать адекватные условия для распространения/установки и запуска приложений на уровне Windows.
Конечно же будут всхлипы вроде "хочешь Windows то иди в Windows, нечего нести Windows в Linux", но разве есть что-то плохое в том, чтобы брать лучшее от лучших?
В общем хватит болтовни, мне еще нужно работать над продолжением...
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.
"Однажды темной грузинской ночью я лежал на печи, раскачиваемой далеким землетрясением под грохот морских мин... А в розетке 166 вольт, вот так сюрприз!"