Эксперимент: 30 дней без Windows

После вынужденной высадки десанта в среду Microsoft Windows, вызванной выходом публичной RC-версии Internet Explorer 9, я возвращаюсь в обширное скопление конфигурационных файлов и тысяч утилит, умело скрывающимся под слоем двоичных Гномов ― Fedora Core 14.

Как это ни странно, обладающий миллионом возможностей Gnome не имел после установки Fedora Core ни одного хоть сколь-нибудь приличного средства настройки. Новичок вроде меня не получит ни малейшего шанса изменить состав главного меню Gnome, или хотя бы анимацию окон отключить, которая реализована так, что ничего, кроме чувства эстетического раздражения лично у меня не вызывает. С оконным менеджером “по умолчанию” окна полиморфируют в безжизненные пустые рамки и, уныло меняя размер в сторону уменьшения, исчезают в основаниях панелей. Впрочем, это решаемо, об этом чуть ниже.

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

Причем установил его в консоли:

yum install alacarte

И здесь я вовсе не корчу из себя гуру, просто рут-консоль была уже открыта, а поиск в утилите “Установка и удаление программ” (gnome-packagekit) у меня часто превращается в игру “Угадай-ка”. Надо ещё знать, что искать.

Что касается эффектов, помимо стандартного (по-моему, у меня это GDM), в системе присутствует ещё и Compiz, реализующий знаменитые “окна-а-ля-тряпки” и всевозможное желеподобное дерганье всего того, что на экране.

Вы можете легко переключаться между этими оконными менеджерами. У Compiz есть очевидные преимущества, например, вот такой “альт-таб”:

А если подвести курсор к верхнему правому углу экрана, между несвёрнутыми окнами можно переключаться вот таким вот образом:

Этакое подобие Aero Peek в реализации Compiz, если хотите.

Если отключить абсолютно бесполезные трансформации окон, эти две функции весьма удобны. Но тут есть одно “но”. Даже с выключенными эффектами трансформации окна, как с Compiz, так и без него, наделены эффектами анимации сворачивания и разворачивания.
Когда вы сворачиваете или разворачиваете окно в стандартном менеджере окон, как я уже писал выше, окна летят в виде рамки в панель/из панели. А вот что вытворяют при этом же действии окна под Compiz, – это кошмар, для моих глаз, во всяком случае. Окна выскакивают из панели по траектории овала, словно гоночная машина в дрифте. Само по себе я бы это пережил, но окно, выйдя из виража, выглядит слегка мутно и размазано, и после этого начинает весьма заметно приходить в себя. У меня от подобного глаза болят. Настал момент, когда я озадачился отключением всех этих эффектов. Мой приятель Zloy рассказал, что Gnome имеет кое-что сродни редактору реестра – приложение Gconf-editor, позволяющее настроить в этой среде всё, что угодно.

Я попытался выполнить команду gconf-editor, система сказала, что сперва мне придется доставить кое-какие пакеты. Не было повода не согласиться. Вот его легко взять “нахрапом”. Редактор интуитивно понятен, логично организован и снабжен толковыми описаниями параметров.

У Compiz я удалил плагины fade и minimize, адская анимация окон тут же испарилась.

Для окон вне Compiz я убрал флажок “Включить анимацию”:

Если верить описанию, он отключит все анимации интерфейса Gnome, чему ваш покорный слуга был несказанно рад.
Что ж, в итоге я использую оконный менеджер Compiz из-за возможностей переключения окон. Это всё, что мне от него нужно, никаких более эффектов в нем у меня нет.


Если вы часто пишете тексты, содержащие мешанину английских и русских слов, или общаетесь в мессенджере сразу на нескольких языках, вам наверняка знакомо Windows-приложение Punto Switcher. Этот автоматический переключатель раскладки клавиатуры, к слову говоря, в своем автоматическом режиме несколько напрягающий, в выключенном состоянии ― просто незаменимая штука. Выделяете текст в неверно набранной раскладке, и нажимаете Shift+Break – текст преобразован к нужной раскладке. Я остро почувствовал нехватку подобной функции в Linux, и отправился на поиски аналога. Он очень быстро нашелся: X Neural Switcher. Это отечественная разработка, по своему функционалу перекрывающая “виндового” брата. Программа, помимо ручного/автоматического переключения раскладки, добавляет такие вещи, как автоматическое завершение слов, режим обучения, и поддерживает плагины. У вас два пути, которыми вы можете заполучить эту замечательную программу.
Первый путь ― путь джедая. Вы скачиваете исходники с сайта разработчика, и компилите их, при условии наличия у вас всех необходимых библиотек и самого компилятора GCC (GNU C Compiler). Это пока не мой путь. Я за всю свою сознательную Linux-жизнь собрал только консольный плеер mgp123 и ядро с кривой поддержкой FAT.
Второй путь ― найти репозиторий, в котором уже собран соответствующий пакет. В репозитории проекта Russian Fedora, словно в Греции, есть всё, в том числе и Xneur. Я подключил репозиторий, поставил приложение, и… отключил репозиторий. Предпочитаю всё-таки обновляться с официального репозитория. Это менее рискованно, мало ли что можно закачать с других источников.

Все эти манипуляции вряд ли свидетельствуют о дружелюбности современных Linux, думал я. Чёрт бы с ними с репозиториями, с этим довольно просто разобраться, в любом FAQ по дистрибутиву есть их список и инструкции по подключению. Главная проблема никуда не делась: как ни крути, а компилятор С вам придется держать под рукой, и разгребать кошмар с библиотеками, которых то нет в системе, то версия неподходящая. Цепочка зависимостей может быть длиной вот отсюда и до обеда. “Виндовый” DLL-Hell, бывший проблемой вплоть до появления Windows XP, просто отдыхает.

Похоже, Linux умеет читать мысли, и не преминул меня покарать за инакомыслие. Есть в составе системы графическая утилита автоматического обновления:

Так вот, после очередной автоматической проверки она нашла массу обновлений, в том числе и новое ядро. Я имею привычку прежде чем ставить обновки, читать, что же они исправляют. В текущий момент я был занят, и решил: почитаю потом. Я нажал кнопку “Отмена”, и оно сломалось. Всё, что было связано с gnome-packagekit, выдавало “no such table: packages”.Проверка обновлений работала только из командной строки через yum check-update.
Это удручало, и я отправился на поиски решения, традиционно в Google. Я обнаружил, что на такие же грабли наступают убунтоводы, и им помогают команды вида

yum clean all
yum makecache

Мои rpm-коллеги рекомендуют также выполнить и это:

rpm -v ―rebuilddb

Я выполнил всё ― не спасло. Система управления пакетами Fedora Core пребывала в полнейшем отсутствии расположения духа. В общем, порядка часа я, словно персонаж басни Крылова “Мартышка и очки”, читал различные FAQ, официальный сайт, баг-трекер и кучу форумов. Решения, способного повлиять на ситуацию положительным образом, не было. Преисполненный чувства досады, в порыве отчаяния я начал перетыкивать галки на подключенных репозиториях. Эти:

Как ни странно, это сработало. Не знаю, что и думать.

Но это ещё не всё. Одним из моих рабочих инструментов (по специфике написания статей, софта, а также из великой любви к старым и не очень старым бета-версиям), являются виртуальные машины. Я решил поставить Vmware Player. Впрочем, его как такового у меня не оказалось, зато нашелся дистрибутив Vmware 7.1.3 для Linux. Вот за него я и принялся.
Во-первых, Vmware сказало, что без исходников ядра ставиться не намерено. У меня стояло ядро 2.6.35.10-83.fc14.x86_64. В репозиториях Fedora было уже ядро 2.6.35.11-83.fc14.x86_64, а на установочном диске – 2.6.35.6-83.fc14.x86_64 с иходниками. Чертовщина, не иначе.

Установка нового ядра из репозитория означает потерю всех модулей, которые вы прикрутили к текущему. Вполне естественно, что модуль ядра, содержащий драйвера для видеокарты, у меня оказался “за бортом” при запуске системы, и графическая среда не стартовала… Зато у меня были исходники и отладочные заголовки.
Вариантов развития событий было два: отказаться от установки Vmware и продолжать работать со старым ядром, благо оно сохранилось в опциях загрузки, либо разбираться с модулями.
Я выбрал второй путь. Как вы помните, прошлый раз я притянул из репозиториев RPM Fusion модуль kmod-nvidia, простой и быстрый способ получить драйверы на видеокарту nVidia. Я решил повторить операцию. Загрузив новое ядро, я дождался, когда система загрузит свою консоль, нажал ALT+F2, попав при этом во второй терминал, залогинился и ввел:

Yum install kmod-nvidia

Не вышло. Такой пакет уже установлен в системе, и, подозреваю, удали я его, я лишил бы себя драйверов и в старом ядре. Ну уж дудки, этого я не хотел.
К счастью, у меня был скачал официальный пакет драйверов Nvidia. Проконсультировавшись со Zloy на предмет совместного существования драйверов и kmod-nvidia и убедившись, что всё должно быть гладко, я принялся ставить “родные дрова”. Которые, кстати, распространяются в виде гибрида архива и шелл-скрипта. Скрипт возжелал иметь компилятор GCC, который таки пришлось доустановить. Вот после этого драйверы Nvidia магическим образом превратились в модули ядра 2.6.35.11-83.fc14.x86_64, среда X запустилась, а Vmware ― установилась. Прошло всего-то два часа…


С одной стороны, я был доволен проделанной работой. Как ни крути, а положительный результат любой возни, пусть даже очевидно бессмысленной, приносит чувство удовлетворения. С другой стороны ― где-то в моей душе проснулось чувство глубокого уважения к корпорации Microsoft, годами работающей над тем, чтобы секс в вашей жизни был преимущественно с живыми существами, а не с бездушной персоналкой. Можно было бы, наверное, на этом поставить точку в изучении вопроса дружелюбности GNU/Linux. Какая тут к чёрту дружелюбность, эти системы вас ненавидят всеми своими тысячами утилит, сотнями конфигурационных файлов и миллионами возможностей. Даже если компьютер для вас ― это всего лишь способ попасть на сайт “Одноклассники”, вы не застрахованы от того, что рано или поздно не нажмете кнопку “Отмена” не вовремя.
Так то. Я был откровенно утомлен откуда ни возьмись взявшимися проблемами, и до настройки почты в этот день руки так и не дошли. Оставим это для следующего раза и следующей статьи.

P.S. Сегодня по апдейту пришла новая версия kmod-nvidia под последнее ядро. Ставить не стал, ибо уже незачем.