Почему десктопный Linux в 2021-м всё ещё боль?

y1nfmmw35bdplr0zte0n2lb88n8.jpeg

25 августа 1991-го Линус Торвальдс впервые сообщил миру, что работает над новой ОС. Если отсчитывать от этого, то позавчера Linux исполнилось 30 лет, так что самое время подвести какие-то итоги.

А неделю назад я написал о нюансах перехода на Mac. И быстро появились комментарии, что вот в линуксах нет описанных сложностей — мол, непонятно, зачем вообще люди страдают за маками. На мои слова «так в Linux другие проблемы, приходится чинить звук, лазая по форумам» ответили, что это устаревшие стереотипы. А сейчас всё работает из коробки, даёшь детям и они не нарадуются.

Я уже почти десять лет не использовал Linux в качестве основной системы, поэтому подумал: может, действительно напраслину возвожу, а всё уже изменилось и с форумами больше не сталкиваешься? Надо хотя бы бегло глянуть. Тут ещё и повод подвернулся: помогал другому человеку выбрать ноутбук, и он был не против установки линукса.

В общем, глянул. И испытал столько ярких болевых ощущений, что написал этот пост.

Для начала важная оговорка. Легко воспринять этот текст как холивар «эппловский фанбой ненавидит линукс». Но это совсем не так, холивары я недолюбливаю, а к Linux хорошо отношусь и желаю ему процветания. Например, ещё в далёком 2010-м писал на Хабре пост, помогающий перейти на Ubuntu. Да у нас с женой даже татуировки оформлены шрифтом Ubuntu! Этого достаточно, чтобы вы поверили, что я не хейтер? :)

pmwi2mtfmstdaxyoornelcriwwq.jpeg

В общем, я не против Linux. Зато я против фанбойства. Я за то, чтобы даже когда что-то нравится, уметь признавать и проблемы в нём.

А теперь — две истории об этих проблемах.

Попытка #1

Начал погружение в современный Linux с малого: сделал загрузочную флэшку с актуальной версией Ubuntu, чтобы запустить на своём iMac систему прямо с флэшки и бегло осмотреться.

Поначалу ничто не предвещало проблем. У меня были опасения «может, я единственный извращенец, который хочет запустить Linux на Mac», поэтому был морально готов к тому, что это вообще плохая идея. Но сайт Ubuntu развеял опасения: там нашлась инструкция, как в macOS сделать флэшку, максимально подходящую для использования с Mac. Значит, тропа проторенная, другие люди делали то же до меня, а в Canonical учли их потребности и пошли им навстречу. И флэшка успешно создалась.

Но стоило попробовать загрузиться с неё, как в первые же минуты столкнулся с ЧЕТЫРЬМЯ проблемами.

  • У аймака беспроводные клавиатура и трекпад/мышь. Ubuntu по умолчанию их не видит. А чтобы увидела, нужно отдать команды клавиатурой или мышью! Получается замкнутый круг, когда не можешь сделать за компьютером вообще ничего. Пришлось искать дома проводные устройства ввода (а если бы их не было?), чтобы с их помощью подключить беспроводные и разомкнуть круг.

  • Ubuntu вроде как подцепила маковские кнопки регулировки яркости экрана: нажимаешь — индикатор показывает, как изменилась яркость. Вот только на индикаторе яркость менялась, а в реальности нет. Экран стабильно фигачил в лицо дискомфортной полной яркостью.

  • Ubuntu не увидела Wi-Fi-модуль. Возможно, это решается дополнительным драйвером из интернета. Только для этого надо к интернету сначала подключиться, так что снова замкнутый круг! Можно размыкать такой круг, подключаясь к интернету проводом, но у многих людей уже даже нет Ethernet-разъёма. А у iMac он есть, но мне не захотелось отключать моноблок от розетки и волочить в прихожую к роутеру, так что тут просто сдался.

  • Наконец, вишенка на торте. Из-за отсутствия интернета было не запустить музыку, но попробовал в настройках понажимать на кнопки «Test», которые должны издавать звук. Ничего не прозвучало. Поскольку на Хабре меня убеждали конкретно в отсутствии проблем со звуком, это выглядело особенно иронично.

Ну, хотя бы разложить пасьянс получилось: он без интернета и звука вполне работает. И думаю, если бы задался целью и выделил время, получилось бы решить все описанные проблемы. Но вся эта ситуация безумно далека от слов «всё работает из коробки». Вот когда тот же самый iMac был впервые запущен с родной macOS, там действительно всё было готово к бою — и звук, и Wi-Fi, и яркость, и клавиатура.

Попытка #2

Дальше разбирался с выбором ноутбука. Опыт с iMac показал, что совместимость Linux с железом остаётся больным местом. Значит, надо ещё до покупки убедиться, что всё установится хорошо.

Я попробовал выяснить это про интересующие модели, и тут же столкнулся с новой проблемой: дефицитом информации. Возьмём для примера Asus ZenBook 13 (это довольно популярная модель, вроде бы человечеству должно быть известно о её совместимости). Где это узнать?

На сайте Ubuntu в разделе помощи есть специальная страница Asus Zenbook — казалось бы, правильное место. Страница начинается словами «Наконец найдено надёжное решение проблемы внезапных выключений и зависаний!» (Спасибо, очень обнадёживает.) А затем посреди текста увидел упоминание версии Ubuntu 12.04. Хммм!

Полез в page history — и точно, оказывается, основное содержимое страницы датируется 2012 годом. То есть на официальном сайте висит информация девятилетней давности (по меркам IT это древнеримские руины), и нет даже предупреждения, что она давно не обновлялась! Наверняка кто-то выберет ноутбук по информации, давно потерявшей актуальность.

Ладно, с совместимостью худо-бедно разобрался по разрозненным частным постам. В итоге ноутбук был куплен, и по советам с Хабра установил туда Linux Mint — вроде бы самый человеколюбивый дистрибутив с минимумом проблем.

Этот дистрибутив встретил меня вот чем (извиняюсь за фото экрана вместо скриншота):

1w4qd2izrqiavb6rqjvnj1edzao.jpeg

Действительно, хотя почти ничего не было запущено, ноутбук шумел кулером, сильно грелся и предрекал себе разрядку за пару часов (заявленное производителем время — «до 18 часов»). Нужно было исправлять ситуацию. Я ткнул в предлагаемую кнопку «запустить менеджер драйверов», и… менеджер драйверов выдал сообщение в духе «у вас всё хорошо, устанавливать ничего не нужно». Оставив сидеть с гудящим горячим устройством. Ну отлично.

Пришлось гуглить, и тут же провалился в бездну, с которой часто имел дело 10 лет назад. Скажем, гугл выдаёт статью «Enable Hardware Acceleration on Intel Graphics Cards in Ubuntu». Сразу вопрос: если у меня Linux Mint, а тут про Ubuntu, подходит? Понятия не имею, но раз Mint основан на Ubuntu, давайте посмотрим. В тексте пишут про какую-то опенсорсную библиотеку VDPAU, «но она недоступна на интеловских графических картах, зато есть проект libvdpau-va-gl, в котором VDPAU использует OpenGL, её можно использовать с некоторыми из интеловских чипов, тогда введите вот эти десять команд в терминале»…

image-loader.svg

Слушайте, я простой человек и хочу простых вещей: например, чтобы устройства работали. Я совсем не железячник, и если что-то подходит «некоторым интеловским чипам», мне неочевидно, входит ли ноутбук передо мной в «некоторые». Потратив время и силы, смогу в этом разобраться, но почему их требуется тратить? Почему мне надо танцевать с бубном и узнавать, что такое libvdpau-va-gl, если я попросту хочу, чтобы ноутбук справлялся со своей базовой функциональностью?

В итоге спустя ощутимое время нашёл-таки ответ: оказывается, надо было обновить ядро Linux. «Самый человеколюбивый линукс» совершенно не предлагал этого сделать (наоборот, спрятал это поглубже). Никакой официальной информации (от Linux Mint, Intel или ещё кого-то вроде) при гуглении тоже не вылезло. Правильный ответ нашёлся на форуме в записи обычного пользователя. До неё пришлось перерыть много других записей.

Ладно, с этим разобрался, но осталась другая проблема: как и на Mac, регулировка яркости меняла только индикатор, а экрану хоть бы хны. Снова провалился в бездну форумов. В итоге не заставил нативные средства работать, зато нашёл работающее стороннее приложение для управления яркостью. Правда, оно даёт управлять яркостью только когда открываешь его, а не системными хоткеями. Так что это всё ощущается костылём. Думаю, можно добиться лучшего результата, но просто устал воевать и на этом остановился.

Это не считая всяких мелочей. Вот, скажем, тут сразу понятно, какая из вкладок тебе нужна, да?

-ylf-99r6ewlfdx4f10twzsg7sc.jpeg

Ну и куда ж попросту без ошибок — нажатие на «масштабировать интерфейс» поначалу приводило к такому:

uyohgzieikak2d2rl987ain9rza.jpeg

Думаю, общие ощущения понятны. Моя мысль «может, снова использовать Linux в качестве основной системы» вдребезги разбилась об это всё. Мне интересен новый опыт, но не такой ценой, I’m too old for this shit.

Выводы

Прямо ощущаю, как некоторым поклонникам Linux хочется сказать: «Но это только начальный период настройки, а дальше-то лучше, поэтому неправильно судить по этому периоду!»

Хорошо это понимаю, сам же и писал на Хабре 11 лет назад: «Возможно, поначалу гуглить придется изрядно, но не стоит думать, что это на всю жизнь так». Но, например, мой пост про Mac тоже был именно про период перехода, и именно туда в комменты пришли объяснять, что в линуксе всё лучше. Нет, не лучше: переход на него зачастую больнее. В macOS сталкиваешься с неинтуитивными и порой неудобными моментами, но это куда менее болезненно, чем когда просто не работает то, что должно работать.

Также наверняка есть много людей, опыт которых гораздо лучше моего — например, человек купил ноутбук с предустановленным Linux, и всё сразу работало. Да, мой сценарий — лишь один из возможных, и неправильно экстраполировать его на всех. Но точно так же неправильно экстраполировать на всех позитивный опыт и писать «да всё работает из коробки».

Поэтому давайте прямо скажем: при всех достоинствах Linux, из-за которых многим (в том числе мне) хотелось бы его масштабного распространения на десктопе, во многих случаях он остаётся недружелюбной к обычному пользователю системой. Даже мне было дискомфортно продираться через всё вышеописанное. А уж менее «технологически продвинутых» знакомых точно не хотел бы такому подвергать, да и они сами просто плюнули бы на полпути.

Сильнее всего меня печалит даже не то, что вижу конкретно сейчас, а то, что с годами не вижу принципиального прогресса. Мне жаль, что мой пост 11-летней давности остался актуальным спустя все эти годы. Большинство упомянутых в нём сложностей, вроде совместимости с железом, никуда не делись. Необходимость просиживать штаны на форумах не исчезла. «Год линукса на десктопе» совершенно не наступил.

Когда Linux исполнялось 20, я бы предположил, что за следующее десятилетие смогут справиться с основными проблемами. И все эти десять лет вроде как велась активная работа в разных направлениях — бегло поглядывая со стороны, слышал названия Wayland и Unity, слова «flatpak» и «snap». Но во-первых, всё это привносило не однозначное улучшение, а новые сложности: «так за чем будущее-то, flatpak или snap, мы не поняли». И во-вторых, всё это так и не избавляло от главных старых болячек. А пока пользователи не будут от них избавлены, ждать наступления «года линукса» было бы наивно.

Чтобы пост к 30-летию системы не получался совсем уж упадническим, напоследок скажу, что за эти 10 лет всё же вижу и позитивные изменения.

Например, на руку Linux играет то, что за эти годы многое переместилось в браузер. И для пользователя при смене ОС всё привычнее, и набор доступного софта расширился веб-сервисами (так что можно, например, вместо GIMP использовать Photopea).

С геймингом стало заметно лучше, в основном благодаря Valve. Конечно, до Windows всё ещё как до Луны, но тенденция в последние годы очень оптимистичная. И хотя инициатива «steam machines» на SteamOS оказалась прикрыта, в этом году Valve анонсировали портативную игровую консоль Steam Deck тоже на Linux, так что есть причины для сохранения тенденции.

Наконец, ещё один прорыв: стало можно приобщаться к Linux прямо внутри Windows благодаря WSL. Также важны и другие MS-движения в сторону опенсорса и консоли. По-моему, это всё отличные новости для Linux — возможно, самые лучшие из всех. И получается удивительная вещь: главным десктопным Linux-достижением за последнее десятилетие мы обязаны… компании Microsoft.

Ну, спасибо и на том. С днём рождения, Linux. Надеюсь, к твоему 40-летию смогу написать более оптимистичный пост и рекомендовать тебя всем своим родственникам, а не только технически продвинутым.

Минутка рекламы. Мы в JUG Ru Group не любим холивары, поэтому не спорим «какой язык программирования лучше», а проводим IT-конференции по самым разным языкам и технологиям: от C++ до JavaScript, от тестирования до дата-инжиниринга. Поэтому среди 8 конференций нашего осеннего сезона, скорее всего, есть подходящая вам (а то и не одна) — заходите на сайт проверить!

© Habrahabr.ru