CRUX и Иксы. Рецепт для памяти

Автор: Алексей Федорчук

Следующая плановая заметка будет посвящена, разумеется, инсталляции CRUX’а — или кто-нибудь придумал способ знакомиться с новым дистрибутивом без оной? Однако пока — маленькая памятка об одной из фич, с которой можно столкнуться прямо после установки. А именно — с невозможностью запустить Иксы посредством стандартной команды

# startx

Если в ходе инсталляции были установлены все предлагаемые пакеты из категории xorg и opt (или если ненужные были отобраны аккуратно), то, по идее, ответом на указанную команду сразу после перезагрузки (даже от лица администратора, ещё до создания пользовательского аккаунта) должен быть, в соответствие с умолчаниями стандартного xinitrc, запуск оконного менеджера twm: как известно, современные версии X-сервера благополучно запускаются без конфигурационного файла Иксов, /etc/X11/xorg. А если предварительно создать пользовательский аккаунт, в домашнем каталоге этого пользователя — файл ~/.xinitrc, а в него уже вписать строку

openbox

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

И действительно, и в том, и в другом случае именно так и будет — то есть оконный менеджер загрузится (в случае с twm — даже с тремя умолчальными терминальными окнами). Но это — и всё: и мышь, и клавиатура мертвы, как вечно живой дедушка Ленин. То есть делать в Иксах положительно ничего невозможно…

Сначала я погрешил на отсутствие таки Иксового конфига и быстренько создал его обычным методом, описанным ранее. То есть — командой

# Xorg -configure

от лица суперпользователя, которая создает в его каталоге файл /root/xorg.conf.new. Его остаётся только скопировать куда следует:

# cp /root/xorg.conf.new /etc/X11/xorg.conf

и при необходимости подправить в соответствие со своими реалиями — в отношении видеодрайвера и раскладок клавиатуры. В моем случае видеодрайвер был определён правильно (как intel), ну а о раскладках уже говорилось столько, что задерживаться на этом не буду.

Однако и с этой стороны оказалось ничуть не лучше: после очередного запуска Иксов ни клавиатура, ни мышь признаков жизни не подавали.

Тут я догадался посмотреть, а чего сообщают по этому поводу логи? В файле /var/log/Xorg.0.log обнаружилось такое загадочное сообщение:

(WW) AllowEmptyInput is on, devices using drivers

'kbd' or 'mouse' will be disabled.

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

В причины этого явления я вдаваться не стал, смутно припомнив лишь, что в современных версиях Иксов все такого рода параметры передаются через HAL посредством настройки PolicyKit (не так давно пришлось повозиться с ним в связи с настройкой автомонтирования сменных устройств во FreeBSD). Однако, во-первых, сейчас разбираться с этим мне показалось не ко времени, а во-вторых, ни малейшего HAL’а по умолчанию в CRUX’е не устанавливается.

Я уже собрался было перезагрузиться в Zenwalk, дабы прибегнуть к помощи дяди Google (в CRUX’е штатно при инсталляции не устанавливается ни одного текстового браузера), как вдруг вспомнил про тётю Маню. И действительно, команда

$ man xorg.conf

выдала мне исчерпывающую справку по интересующему вопросу. Оказалось, что всего-то и надо, что в секцию Section «ServerLayout» файла /etc/X11/xorg.conf после строк, идентифицирующих устройства ввода

 InputDevice    "Mouse0" "CorePointer"
 InputDevice    "Keyboard0" "CoreKeyboard"

вписать запрет их автоматического добавления

 Option	"AutoAddDevices" "False"
 Option	"AllowEmptyInput" "False"

После чего Иксы наконец благополучно стартовали. Не возникло при этом и проблемы с переключением раскладок с латиницы на кириллицу — как я обнаружил впоследствии, поглядевши таки на это в Google, после указанной операции такие проблемы не исключены.