С чем не работает линукс

Как решить некоторые проблемы в Linux

Вступление

Как известно, типичные РС-компьютеры собирают из весьма разношерстных компонентов — процессор от одного производителя, видеокарта от другого, звуковая карта от третьего. Темы про принтеры/сканеры/Wi-Fi адаптеры/TV-тюнеры просто кишат повсюду на форумах. Не добавляют оптимизма и вездесущие китайские производители, не особо-то стремящиеся к стандартизации. Перед операционной системой стоит непростая задача заставить работать согласованно все эти устройства.
Предлагаю вашему вниманию небольшой гайд по устранению типичных проблем в Linux.

Восстановление загрузчика

Как правило, загрузчики Linux достаточно дружелюбны в отношении других ОС, и при установке обнаруживают присутствие соседей на других разделах. А вот Windows при установке нагло затирает MBR своим загрузчиком, и прощай, линукс.
Не стоит рвать на себе волосы беспокоиться, для начала нужно подготовить ваш любимый LiveCD с линуксом. Теперь любой уважающий себя дистрибутив имеет свой LiveCD, но мне приглянулся %distrname%. Загружаетесь с диска, входите в терминал с правами рута и вводите следующую команду:

grub-install /dev/sda , где sda — имя вашего загрузочного HDD/SSD/флешки/дискеты 🙂

Если загрузка длится бесконечно

Во времена господства Windows 9x при загрузке линукса по экрану пробегали десятки строк, и можно было определить, на чём именно загрузка стопорится. Сейчас в моду вошли Splash-затычки, и определить, почему ваш любимый Ubuntu загружается вот уже 40 минут, невозможно. Для того, что бы отключить сплеш, при загрузке нажмите Shift (или что там предлагает ваш дистрибутив), станьте курсором на первую строку, нажмите E, перейдите курсором к строке, начинающейся на kernel и снова нажмите E. Удалите параметры quiet и splash. Если загрузка стопорится сразу, рекомендуется в эту строку добавить noapic, эта опция скажет ядру не использовать APIC. Далее нажмите Enter и B для начала загрузки.

В SUSE достаточно ввести в опциях загрузки splash=0.

Ну вот, загрузка пошла.

Далее ждёте сообщение об ошибке, и гуглите её текст.

Что там у меня в жужжащей коробке?

Есть такие замечательные команды, как lspci и lsusb , которые покажут, какими же устройствами начинена ваша PCI шина и USB порты соответственно.
Вывод команды будет похож на такой:

Bus 001 Device 004: ID 03f0:2c17 Hewlett-Packard
Bus 004 Device 002: ID 051d:0002 American Power Conversion Uninterruptible Power Supply
Bus 002 Device 002: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

Что бы узнать побольше о конкретном устройстве, есть опции -s и -v:

sudo lspci -s 03:00.0 -v
sudo lsusb -s 001:004 -v

где непонятные символы 001:004 — адрес устройства из вывода команды lspci или lsusb.
Если вы испытываете страх при взгляде на мигающий курсор в терминале, то можно воспользоваться пакетом Hardinfo

Ох уж эти иксы

Довольно часто бывает, что после окончания начальной загрузки вы лицезреете чёрный экран. Что случилось? Возможно, слетел видеодрайвер. Разумеется, для не искушённого пользователя лучше воспользоваться драйверами из репозиториев. Для того, чтобы войти в ваш любимый Gnome или KDE для запуска менеджера пакетов, нажмите Ctrl-Alt-F1, и вы попадёте в терминал. Зайдите с правами рута, и заставьте ваш Xorg заюзать VESA драйвера: команда dpkg-reconfigure xserver-xorg для дебиана/убунту, yast2 для SUSE, а там выбираете VESA-совместимую видеокарту. Или nano /etc/X11/xorg.conf, ищете там слово intel, nvidia и подобное в секции Driver и меняете на vesa. Далее запускаем иксы: kdm или gdm или startxfce4 и т.д. (по вкусу). Если экран и дальше чёрный, прибиваете иксы с помощью Ctrl-Alt-Backspace и смотрите, где кошка зарыта: cat /var/log/Xorg.0.log | grep EE и гуглите текст ошибки.

Для начала поговорим о беспроводной сети. Проверьте наличие сети с помощью команды ifconfig. Естественно, ваша точка доступа должна быть включена и настроена. Если в выводе команды отсутствует интерфейс, названный ath0 или wlan0, то нужно что-то делать. Есть такие замечательные драйвера, как madwifi. Инструкцию по установке можно найти там же. Если они не помогли, вам возможно поможет такая утилита, как NDISwrapper. Этот костыль позволит использовать виндовые драйвера для адаптеров беспроводной сети в линуксе.

sudo ndiswrapper -i /path/to/driver.inf

Потом загрузите модуль ndiswrapper: sudo modprobe -v ndiswrapper

Далее попробуем поднять сеть:

sudo ifconfig wlan0 up
sudo iwlist wlan0 scan

Если на первую команду система ругается вроде «Interface Doesn’t Support Scanning», то вы неверно выбрали название интерфейса, или не тот драйвер. Вторая команда запустит поиск беспроводной сети.

Источник

Главная причина, почему не Linux

Сразу хочу сказать, что речь в статье пойдёт исключительно о настольном применении Линукса, т.е. на домашних компах/ноутах и рабочих станциях. Всё нижеизложенное не касается Линукса на серверах, встроенных системах и прочих подобных устройствах, т.к. то, на что я сейчас вылью тонну яда, этим сферам применения, наверное, как раз на пользу.

Шёл 2020 год, у Линукса на десктопе всё те же 2%, что и 20 лет назад. Линуксоиды всё продолжали рвать форумы в обсуждениях «как забороть Майкрософт и покорить мир» и искать ответ на вопрос, почему «эти тупые хомячки» не хотят обниматься с пингвином. Хотя ответ на этот вопрос давно уже понятен — потому что Linux это не система, а ворох разнородных поделок, смотанных изолентой.

Зачем человек садится за компьютер? Многим придёт на ум ответ: чтобы пользоваться всякими полезными приложениями. Но это неправильный ответ. Человеку вообще плевать на приложения. Он пытается достичь своих целей:

  • поболтать с друзьями, повысив себе настроение и свою социальную ценность
  • заработать денег, найдя спрос на свои умения и таланты
  • научиться чему-то, узнать новости своего города, страны, планеты
Читайте также:  Как починить выпавшую розетку

И так далее. Именно на такие цели, простите, целится UI/UX-дизайн приложений. Берём исходным пунктом А ворох железяк aka десктоп или ноут, берём конечную цель В — «поболтать с друзьями», и строим гладкую траекторию от А к В с минимумом промежуточных пунктов. Причём эти пункты должны быть цельными точками, единичными действиями, а не комплексом каких-то действий. Это есть воплощение хорошего дизайна.

А что в Линуксе?

А в Линуксе потолок проектирования — не достижение целей, а решение задач. Вместо цели В разработчики пытаются воплотить недоцель Ь. Вместо раздумий о том, как пользователь будет болтать с друзьями, Linux-разработчики создают 100500-ый мессенджер, в который пихают функции по списку «как у всех». Чуете разницу?

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

Дизайнер курильщика мануалов: сделаем поддержку пересылки файлов, это универсально и удовлетворит всех. А чтобы выслать селфач — пусть человек ищет софтину для захвата с веб-камеры, потом ретуширует фотку в каком-нибудь графическом редакторе, потом пересылает её с помощью семнадцатой опции в меню «Инструменты». У НАС ЖЕ ЮНИКСВЕЙ!

Самое печальное, что тот же подход используется даже на уровне операционной системы — то есть, на уровне накладных операций, что вообще нонсенс. Умудрились испортить даже прекрасную идею пакетных менеджеров, которые в теории позволяли бы управлять вообще всем софтом посредством кликов мышью. Но нет, теперь у нас 4 вида источников софта: официальные репозитории, snap, flatpak и неофициальные репозитории, которые ещё нужно искать и добавлять в настройки пакетника. Половина функций доступна только из терминала. А вместо послушного помощника менеджер пакетов превратился в личного Гитлера, который на любой шаг влево-вправо разражается длинными яростными тирадами о том, что пользователь дурак и делает всё неправильно.

— Почему я не могу поставить самый последний $PROGRAM_NAME на свою систему??
— Потому что иди ты нахер, вот почему. Главное не пользователь и его потребности, а КРАСИВАЯ КОНЦЕПЦИЯ!

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

Самое смешное то, что святой дух недобитого юниксвея давно пожирает экосистему изнутри, её огромные человеческие и машинные ресурсы. Linux-сообщество по-настоящему увязло в сизифовых попытках собрать, оттестировать и наладить триста триллионов миллиардов различных сочетаний мелких кирпичиков, из которых собраны десятки популярных Линуксов, и которые развиваются независимо друг от друга и здравого смысла. Если в единой, цельной системе мы имеем заведомо ограниченный набор траекторий, по которым могут развиваться события в процессе работы компьютера, то в случае с Линуксом система в ответ на одни и те же действия может сегодня выдать одно, а завтра, после апдейта — совсем другое. А то и вовсе ничего не выдать — просто показать чёрный экран вместо входа в систему.

Ну а правда, зачем вам заниматься какими-то скучными целями социозадрота? Лучше поиграйтесь в этот увлекательный конструктор!

Как это исправить

Прежде всего, нужно избавиться от иллюзии, что проблему можно решить созданием очередного нескучного убунтоклона с классными иконками и предустановленным Wine. Также проблему не решить внедрением очередной красивой концепции типа «а давайте перенесём конфиги под управление git, это будет вау!».

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

Это значит — переделать всё, начиная с загрузчика.

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

Источник

В десктопном Linux всё ещё больно

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

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

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

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

Для начала две важных оговорки:

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

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

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

А теперь — две истории о них.

Попытка #1

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

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

Но стоило попробовать загрузиться с неё, как в первые же минуты столкнулся с четырьмя проблемами сразу.

У аймака беспроводные клавиатура и трекпад/мышь, по умолчанию Ubuntu их не увидела. Ну, тут подключил беспроводные устройства с помощью проводных, это ладно.

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

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

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

Ну, пасьянс разложить получилось: ему интернет и звук не требуются. И думаю, если бы задался целью и выделил время, получилось бы решить все проблемы. Но просто вся эта ситуация безумно далека от слов «всё работает из коробки». Родственникам такое не посоветуешь.

А вот macOS посоветовать можно: когда тот же самый iMac был впервые запущен с родной системой, там действительно всё было готово к бою — и звук, и Wi-Fi, и яркость.

Попытка #2

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

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

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

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

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

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

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

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

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

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

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

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

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

Думаю, общие ощущения понятны (вкратце они такие: в 18 лет с интересом разбирался бы по ночам, как всё это наладить, но сейчас I’m too old for this shit).

Выводы

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

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

Также наверняка есть много людей, у которых всё гораздо лучше. Самый простой вариант — ноутбук с предустановленным 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 конференций нашего осеннего сезона, скорее всего, есть подходящая вам (а то и не одна) — заходите на сайт проверить!

Источник

Оцените статью