Блог Eugen772

начинающий для начинающих во FreeBSD и всяком другом


FreeBSD 7.2 Xorg 7.4 hal 0.5.11 и Layout ru (русская клавиатура через новую хитро в...ю з....цу)
Pentalfa
[info]eugen772
Источники:
[1]HandBook - 5.4 X11 Configuration
[2]Xorg устройства ввода через hal

И так обновили FreeBSD до версии 7.2, затем обновили порты и портапгрейдили xorg до версии 7.4 со всеми последствиями.
В результате получили проблемы с запуском иксов. Узнаем что /etc/X11/xorg.conf теперь "почти" ненужен и переименовываем его, чтобы он потерялся для иксов. А так же что "почти" все что нужно будет делать hal.
Значит их нужно установить. Добавить в rc.conf.local и перезагрузить машину.
Мои версии hal-0.5.11_26 dbus-1.2.4.6_1 policykit-0.9_5
Строчки в rc.conf.local:
dbus_enable="YES"
polkitd_enable="YES"
hald_enable="YES"
В свою очередь иксы запускаются, но без правильного определения драйвера nvidia и без переключения клавиатуры на русскую раскладку.

Читаем [1] "The automatic configuration may fail to work with some hardware, or may not set things up quite as desired. In these cases, manual configuration will be necessary."
Значит возвращаем наш xorg.conf в работу. Далее там сказано законментить RgbPath "/usr/local/share/X11/rgb" ибо он выдает ошибку.
Я решил не мучиться а сгенерировать новый xorg.conf, после чего в новый конфиг добавил старые FontPath для русских шрифтов и в секции Device видео карты поменял драйвер на nvidia.
Так вроде решилась проблема с видюхой (но работу 3D я не проверял, оставил на потом).

Теперь, как решилась проблема с русской клавой.
Опять таки читаем [1], там предлагается вырубить автоматизм hal`а (Option "AutoAddDevices" "false"), но мне почемуто захотелось помучиться.
Поэтому читаю последующий Note. Пишут мол создайте файл /usr/local/etc/hal/fdi/policy/x11-input.fdi для французов, но их мы не любим с 18 века. Поэтому заполняю я свой файл сдедующим содержанием (опираясь на [2] после строчки "конфиг выше не работает cо старым hal, у меня заработал этот"):
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.keyboard">
<merge key="input.x11_options.XkbModel" type="string">pc104</merge>
<merge key="input.x11_options.XkbLayout" type="string">us,ru(winkeys)</merge>
<merge key="input.x11_options.XkbVariant" type="string">winkeys</merge>
<merge key="input.x11_options.XkbOptions" type="string">grp:ctrl_shift_toggle</merge>
</match>
</device>
</deviceinfo>

Перезагружаем систему, что бы hal перечитал этот файл. И вроде вот оно счастье.

Но возникает вопрос, зачем такие муки и надрывы, если уж все так автоматизируется, что гонять xorg.conf уже не надо, то уж такую задачу как переключение раскладки и определения установленого драйвера видюхи можно было както по проще решить.
Ну да ладно. Теперь хочеться выяснить, как без xorg.conf можно было бы пользоваться русскими шрифтами и правильно определять nvidia драйвер. К тому же в источнике [2] упоминается, что "rules нужна для поддержки расширений клавиатуры, вроде регулятора громкости и т.п." - а это я еще не пробовал, поэтому интересно. Еще остались вопросы по [2] о строчке "конфиг выше не работает cо старым hal, у меня заработал этот" старый и новый hal так сильно отличаются? И где лежат подробные описания всех значений полей?

Home