Будучи пользователем ПК я периодически натыкался на комментарии владельцев ноутбуков о том, что при установке Linux возникали проблемы с Wi-Fi или Bluetooth. После приобретения ноутбука решил попробовать Elementary OS, которую определенная часть пользователей в сети называет очень подходящим для ноутбука дистрибутивом. Установил, значит, Элементари версии 7.0 и вначале Wi-Fi не захотел подключаться, а потом оказалось, что и Bluetooth отказывается работать. Ну все, подумал я, приплыли... Болячки Linux на ноутбуках добрались и до меня.
На деле же все оказалось очень и очень просто - использование беспроводных устройств блокировала утилита RFKill, про которую я расскажу в этой статье.
Что такое RFKill?
RFKill - инструмент командной строки для управления беспроводными устройствами в операционной системе Linux. Он предоставляет возможность блокировать или разблокировать различные радиочастотные интерфейсы, такие как Wi-Fi, Bluetooth, NFC и другие.
RFKill имеет простой синтаксис командной строки и позволяет управлять состоянием беспроводных устройств в системе. Он может быть полезен во многих ситуациях, например, когда необходимо отключить Wi-Fi или Bluetooth на ноутбуке, чтобы продлить время работы от аккумулятора. Также он может быть использован для управления беспроводными устройствами на серверах или других системах Linux без графического интерфейса.
Использование RFKill
Основная команда RFKill - rfkill, которая позволяет просматривать список доступных устройств и их текущее состояние.
С помощью опций команды можно указать конкретное устройство для блокировки или разблокировки, а также узнать подробную информацию о нем, такую как тип интерфейса и идентификатор. Например, команда rfkill list покажет список доступных устройств и их состояние.
Команда rfkill block wifi заблокирует Wi-Fi, а команда rfkill unblock wifi разблокирует его. Аналогичные команды могут быть использованы для других типов интерфейсов.
RFKill также может быть использован в сценариях автоматизации или с помощью скриптов командной строки для управления состоянием беспроводных устройств. Например, можно написать скрипт, который автоматически блокирует Wi-Fi при запуске определенной программы или разблокирует Bluetooth при подключении определенного устройства.
Вернемся к Elementary OS
Именно наличием блокировки беспроводных устройств при помощи rfkill я и могу объяснить определенную часть проблем, которые возникают при установке Linux-дистрибутива на ноутбук. Уверенность в этом возникла, когда после установки Elementary я остался без сети и Bluetooth.
Вначале действительно возникла мысль, которая, уверен, возникает у большинства пользователей: оборудование не поддерживается этим дистрибутивом или версией ядра Linux (дело в том, что в Elementary используется ядро версии 5.15, которое после можно обновить до 5.19). И на этом большая часть владельцев ноутбуков отсеивается, решив что Linux не для них. Но нужно всего лишь открыть терминал и проверить наличие блокировок Wi-Fi и Bluetooth! И думаю, что в большинстве подобных случаев, решить проблему можно будет через rfkill unblock.
Что же касается Elementary OS, то действительно интерфейс и его настройки, идущие из коробки, очень подходят под ноутбук и тачпад. Но я все же вернулся на любимый Archlinux, так как привык и к пакетной базе pacman, и к свежим версиям ядра, и к большей степени доступности софта, чем это есть в Elementary (так как дистрибутив основан на Ubuntu, то при попытке установки Firefox тянется SNAP-пакет, что как-бы, вообще не радостно).
Подведем итоги
Если эту статью найдут люди, пользующиеся ноутбуками у которых ранее не получалось установить на него Linux по причине не работы Wi-Fi или Bluetooth, то попробуйте разблокировать интерфейсы и попробовать вновь.
Также работа с rfkill помогает настроить беспроводное подключение к интернету при установке дистрибутивов из командной строки, таких как, например, серверные версии Debian, Ubuntu, CentOS или при установке Archlinux посредством полуавтоматического скрипта. Об этом рассказывал ранее на канале.