26 октября 2021

🐧 Почему Linux не пользуется популярностью на десктопе и как это исправить?

Более 7 лет работы в IT-сфере. Системное администрирование, frontend разработка, написание скриптов на Python.
Рассмотрим недостатки и проблемы Linux, не дающие свободной ОС завоевать популярность у простых пользователей на десктопах (настольных компьютерах). Также расскажем о возможных стратегиях их решения.
🐧 Почему Linux не пользуется популярностью на десктопе и как это исправить?
Начиная с 2018 года, 500 самых высокопроизводительных систем в мире управляются операционными системами на основе ядра GNU/Linux. Смартфоны с Android доминируют на рынке мобильных устройств, а 90% облачной инфраструктуры также работает на Linux.

Linux используется на большинстве физических и виртуальных серверов, в одноплатных компьютерах, сетевом оборудовании и другой технике, но на десктопе эта ОС до сих пор считается редкостью. Почему многочисленные дистрибутивы Linux не смогли добиться широкого распространения на персональных компьютерах? Во многом это обусловлено историческими причинами, проблемами программной совместимости и аппаратной поддержки.

Если вас интересует история развития операционных систем, рекомендуем прочитать статью: «Разбираем операционные системы по косточкам: как всё начиналось?»

Проблемы…

С точки зрения удобства пользователя, основанные на ядре Linux настольные операционные системы имеют ряд особенностей, которые могут мешать комфортной работе. Попробуем разобраться в них подробнее.

🐧 Почему Linux не пользуется популярностью на десктопе и как это исправить?

Недостаточно хорошая аппаратная поддержка

К сожалению, многие производители оборудования до сих пор не разрабатывают драйверы под Linux для своих продуктов. Порой в ядре GNU/Linux возникают регрессии, когда какое-то оборудование по необъяснимым причинам перестает работать в новых версиях.

Большинство востребованных драйверов уже есть в ядре, но если пользователю не повезло столкнуться с неподдерживаемым оборудованием, это может стать серьезной проблемой, так как в Linux нет унифицированной системы установки сторонних драйверов, кроме проприетарных драйверов для графических адаптеров NVIDIA/AMD.

Отчасти эта проблема вызвана политикой производителей железа, которые недостаточно заинтересованы в разработке ПО для не особенно востребованного сегмента ОС. С другой стороны, обилие и фрагментированность дистрибутивов вызывают сложности разработки и обновления версий софта.

Сложности с заменой привычных приложений для Windows

Это больная тема для многих, поскольку сторонники Linux будут охотно указывать на замечательные альтернативы, которые могут быть приемлемыми. Нужен Adobe Photoshop? Используйте GIMP. Нужен Microsoft Office? Используйте LibreOffice. Для обычных пользователей эти альтернативы могут работать, и работать хорошо. Однако многие привыкли к интерфейсам проприетарных продуктов Adobe, Microsoft и прочих. К тому же ряд платных функций, которые они предоставляют, могут быть реально необходимы профессионалам.

Зоопарк дистрибутивов затрудняет выбор

По состоянию на октябрь 2021 года DistroWatch насчитывает 252 активных дистрибутивов Linux. Эта фрагментация усложняет установку программного обеспечения, вынуждая пользователей полагаться на предварительно скомпилированные пакеты из репозиториев для конкретных дистрибутивов, которые имеют ограниченный выбор приложений и обычно отстают от последних выпусков. Обилие дистрибутивов также может создать проблему выбора, которая, впрочем, легко решается вдумчивым подходом к выбору или простой переустановкой не понравившейся ОС.

🐧 Почему Linux не пользуется популярностью на десктопе и как это исправить?

Непривычная структура каталогов

Унаследованная от Unix структура каталогов подвергалась критике как неподходящая для конечных пользователей настольных компьютеров. В частности за то, что компоненты приложения могут быть разбросаны по разным системным каталогам. Некоторые дистрибутивы Linux, такие как GoboLinux и moonOS, предложили более простые для конечных пользователей иерархии, но они не получили особого распространения.

К тому же в Linux есть ограничение на 255 байтов для имен файлов и каталогов, что может привести к проблемам копирования при использовании разных ОС.

У рядовых пользователей структура каталогов и ограничения на размер имени файлов редко вызывают серьезные сложности в работе, тем более встроенные инструменты рабочего стола упрощают работу с файловой системой.

Сложности с интерфейсом

В зависимости от конкретного дистрибутива элементы интерфейса могут заметно отличаться, выглядеть и функционировать по-разному – это следствие зоопарка дистрибутивов и сред рабочего стола. Ряд настроек, конфигураций и даже приложений вообще нельзя настроить через графический интерфейс. Для этого требуется некоторое знание консоли, что может вызвать серьезные трудности у начинающих пользователей.

Разработчики часто жалуются на отсутствие в X.org «высокоуровневого, стабильного, разумного и стандартизированного API» для создания приложений с графическим интерфейсом.

Сложности с системой управления пакетами

Многие новички в Linux начинают с Ubuntu и его производных, вроде Linux Mint. В терминале или в командной строке эти пользователи будут изучать системы управления пакетами dpkg и apt (advanced packaging tool) и столкнутся с пакетами формата deb, но существует множество других менеджеров, вроде YUM и Pacman, а также форматов, вроде rpm. Эти менеджеры пакетов используют совершенно разные команды, что может сбивать с толку.

При этом установка ПО вне системы пакетов становится еще более затруднительной и требует определенных навыков, чтобы развернуть софт из исходников.

Отсутствие игр

Не секрет, что под Linux выходит намного меньше игр, чем под другие платформы. Это, вероятно, не самая большая проблема системы, но она сильно расстраивает заядлых геймеров. Особенно это относится к играм класса AAA.

В Linux не хватает поддержки plug-and-play для множества устройств ввода, таких как джойстики и рули. Нет универсального приложения с графическим интерфейсом, которое реализует экранный HUD с использованием ЦП, графического процессора, оперативной памяти, FPS и синхронизации кадров.

…и решения

Постараемся в наиболее общих чертах описать направление действий для решения вышеуказанных проблем.

Железо и драйверы

На данный момент проблему драйверов для распространенного оборудования под Linux нельзя назвать актуальной, но если вы собираетесь приобрести некое специфическое оборудование для работы под Linux, стоит вначале ознакомится с наличием соответствующего ПО для его корректной работы под конкретным дистрибутивом. Это можно сделать на сайте производителя, сайте поддержки дистрибутива или соответствующих ветках форумов. Стоит также учитывать, что если оборудование корректно работает на встроенных драйверах, то устанавливать сторонние в большинстве случаев не имеет смысла.

Лайфхак для домашних пользователей
Если вы еще не купили настольный компьютер, моноблок или ноутбук, выбирайте среди моделей с предустановленной ОС Linux. Дистрибутив может быть любым: при необходимости вы легко установите понравившийся, и все железо гарантированно заведется из коробки.
🐧 Почему Linux не пользуется популярностью на десктопе и как это исправить?

Программное обеспечение

Список программного обеспечения для Linux постоянно расширяется, но если вы привыкли к продуктам Adobe, не можете нормально работать без 3ds Max или AutoCAD, или не готовы осваивать альтернативные приложения, вроде GIMP, KDEnlive или Blender, то Linux – не ваш выбор.

Большинство дистрибутивов поддерживают различные альтернативные программы с открытым исходным кодом по работе с фото, видео, документами и т.д. Прежде всего при выборе ОС и дистрибутива стоит составить список необходимого ПО и посмотреть их возможности. Не исключено, что пересев с привычного Photoshop на GIMP, вы не только сэкономите на лицензии, но и откроете для себя ряд новых возможностей.

Лайфхак для домашних пользователей
В последние годы получили распространение т.н. переносимые или бинарно-независимые приложения для Linux. Эти универсальные решения для любого дистрибутива упрощают сборку, распространение и поддержку программных продуктов. На сайтах разработчиков стороннего (в основном проприетарного) ПО часто можно скачать Appimage для Linux – собранный со всеми зависимостями и готовый к запуску файл-образ. Еще один популярный вариант – созданная в Canonical система управления универсальными пакетами Snappy с репозиторием для любых дистрибутивов Snapcraft.io. Альтернативное решение – система Flatpak и репозиторий Flathub.
В репозитории Canonical есть, например, официальные клиенты Spotify и 1Password
В репозитории Canonical есть, например, официальные клиенты Spotify и 1Password

В обоих случаях скачанные приложения запускаются в изолированной песочнице, а единственный их недостаток – приличный размер. Стоит отметить, что в репозитории Canonical универсальных приложений гораздо больше, а у аккаунтов многих крупных разработчиков есть статус верифицированных. Выбор системы также определяется ее поддержкой из коробки в графическом менеджере пакетов вашего дистрибутива: скажем, в Ubuntu можно кликом мышки ставить пакеты snap, а в Linux Mint – flatpak (из Flathub).

Установленные пакеты snap, верифицированные издатели отмечены зеленой галочкой
Установленные пакеты snap, верифицированные издатели отмечены зеленой галочкой

В особых случаях можно прибегнуть к виртуализации или инструментам вроде Wine, которые позволяют исполнять в Linux приложения для Windows. Однако перед этим стоит ознакомиться со списком возможных проблем и ошибок.

Для исключительных случаев можно научиться собирать приложения из исходного кода. Обычно это делается парой команд в терминале: вот пример инструкции для Ubuntu.

Зоопарк дистрибутивов и окружений рабочего стола – это хорошо

Обилие дистрибутивов Linux может смутить начинающего пользователя, но в то же время оно дает обширный выбор подходящих именно вам вариантов.

Если вы новичок в Linux, можно использовать специальные инструменты: например, тест distrochooser или подбор по критериям на distrowatch. Также стоит ознакомиться со сравнительной таблицей дистрибутивов в Википедии. Раньше новичкам рекомендовали тот дистрибутив, который предпочитает ближайший к ним гуру, но те времена давно прошли.

Для комфортной работы в Linux стоит также выбрать одно из популярных окружений рабочего стола (Desktop Environment или DE):

Выбор дистрибутива и выбор DE – это один процесс. Отличным вариантом будет Ubuntu LTS (с длительным сроком поддержки), другие *ubuntu (Kubuntu, Xubuntu и т.д.) или одна из вариаций Linux Mint. Все зависит от того, какое окружение рабочего стола вам нравится. Стоит также присмотреться к дистрибутивам Fedora и OpenSUSE.

🐧 Почему Linux не пользуется популярностью на десктопе и как это исправить?

Игры и Linux

Самый простой способ поиграть во что-то, что не запускается в Linux – виртуальная машина с Windows или компьютер с двумя ОС на борту. Загрузчик GRUB позволяет установить Linux второй системой, не отказываясь от винды. Есть и более простые решения, вроде приложений, которые позволяют запускать в Linux созданные для Windows игры. Среди них стоит отметить следующие:

Еще один вариант – установить Steam для Linux.

Установка некоторых игр при помощи этих приложений может вызвать определенные сложности и проблемы с производительностью. К сожалению, пока разработчики не станут более заинтересованы в нативных играх под Linux, ничего лучшего ожидать не приходится.

Не смотрите на недостатки

Хотя перечисленные проблемы действительно могут вызвать сложности, у использования Linux на десктопе есть преимущества, во многом перевешивающие все недостатки.

Назовем лишь некоторые:

  • Это бесплатно. Установив Linux, вы больше не будете заморачиваться с покупкой лицензий на ПО (если сами не захотите).
  • Гибкость. Хотите использовать Debian с рабочим столом Xfce и приложениями из стека GNOME? Пожалуйста. Хотите установить стороннее ПО из исходников? Запросто. Хотите удалить рабочий стол? Не вопрос. Как было написано в руководстве по Debian: «Не бойтесь пересобирать ядро. Это забавно и полезно».
  • Безопасность. Нельзя сказать, что Linux по умолчанию является самой безопасной системой, но тут включается два фактора. Во-первых под Linux намного меньше вирусов чем под Windows, а имеющиеся очень сложно запустить: то версия библиотек им не подходит, то компилятор не тот – вечно возникают какие-то проблемы. Во-вторых, благодаря гибкости вы можете настроить порты, политики пользователей, права, бекап и вообще все в соответствии с собственными потребностями, защитив себя от проблем с безопасностью данных.
  • Производительность. Приложения для Linux обычно менее требовательны к ресурсам по сравнению с аналогами для Windows, поэтому если у вас слабый компьютер, вы наверняка заметите значительный прирост быстродействия. Более того, Linux с легковесным DE может дать вторую жизнь машине, которую Microsoft советует выбросить на помойку.
  • Опыт. Если вы работаете в ИТ, знание основ работы с Linux вам явно не помешает, а для системных администраторов это и вовсе беспроигрышный вариант. Стоит выбрать настольную версию серверных дистрибутивов, которые используются в вашей компании (или наиболее близкий к ним вариант).

Подведем итоги: если вы действительно нуждаетесь в профессиональном проприетарном ПО, часто используете специфическое железо или вы заядлый геймер, стоит несколько раз подумать, прежде чем ставить Linux или установить его второй системой для изучения. Если вы консерватор, не хотите привыкать к новому интерфейсу и изучать консоль, возможно Linux вам просто не нужен. В остальных случаях это довольно неплохим выбор. Удачи в изучении новой ОС!

Если у вас есть собственный опыт использования Linux на десктопе, поделитесь им в комментариях.

***
Больше полезной информации вы найдете на нашем телеграм-канале «Библиотека программиста».

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ