LINUX.ORG.RU

История изменений

Исправление ZenitharChampion, (текущая версия) :

Да, я помню это, как вчера. Когда вышла Fedora Linux 9, и нам предложили полностью отказаться от использования xorg.conf. Однако проприетарные драйверы (nvidia и fglrx) всё равно в нём нуждались.

В openSUSE и более раннем SUSE Linux была утилита SaX2, которая позволяла очень здорово настраивать устройства ввода и вывода Xorg. Когда же вышла Fedora 9, то следом вышла openSUSE 11.2, в котором отказа от xorg.conf ещё не произошло, однако SaX2 немного «порезали». Теперь устройства ввода определяются автоматически, а вывода - по-прежнему вручную. В openSUSE 11.3 перешли на X-Server 1.8, и автоматически стали определяться все устройства. SaX2 удалили, от xorg.conf стало можно избавиться.

Эх, помню как я вручную обновлял в своём Debian 5 «иксы» до последней на тот момент версии. Я указал ключ --enable-hal при компиляции X-Server, и надеялся загрузиться без xorg.conf... Что ж, загрузка удалась. Но ни мышь, ни клавиатура не работали. Я даже не мог переключиться на виртуальный терминал по Ctrl-Alt-F1, настолько не работала клавиатура. При этом система не зависла, и я видел, как выполняются процессы в «иксах».

Вот таким конфигурационным файлом я всё исправил:

/etc/hal/fdi/policy/10-x11-input.fdi

<?xml version="1.0" encoding="utf-8"?><!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
  <match key="info.capabilities" contains="input.keyboard">
    <merge key="input.x11_driver" type="string">evdev</merge>
    <merge key="input.x11_options.XkbModel" type="string">pc105</merge>
    <!--merge key="input.x11_options.XkbModel" type="string">evdev</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="strlist">grp:alt_shift_toggle</merge>
    <append key="input.x11_options.XkbOptions" type="strlist">grp:switch</append>
    <append key="input.x11_options.XkbOptions" type="strlist">grp_led:scroll</append>
    <append key="input.x11_options.XkbOptions" type="strlist">compose:ralt</append>
  </match>
</device>
<device>
  <match key="info.capabilities" contains="input.mouse">
    <merge key="input.x11_driver" type="string">evdev</merge>
  </match>
</device>
</deviceinfo>

Как видишь, для клавиатуры указано куча параметров (которые ещё и переопределяют параметры, которые задаются в KDE), а для мышки ни одного параметра почему-то не указано... Главное, что всё заработало (после перезапуска HAL и «иксов»). Однако меня стали терзать смутные сомнения...

Работа без xorg.conf это миф! На самом деле, в /etc/X11/xorg.conf.d/ лежат маленькие конфигурационные файлы! Для мышки, для тачпада, для графического планшета Wacom, для гостевых систем Xen, и так далее! Также в /usr/share и в /etc/hal/fdi/ (а после переезда с HAL на libudev - в /etc/udev.d/). Вместо одного большого файла теперь много маленьких, распиханные по разным директориям! При этом никто не мешает переопределить стандартное поведение, и создать большой файл, как раньше.

Исходная версия ZenitharChampion, :

Да, я помню это, как вчера. Когда вышла Fedora Linux 9, и нам предложили полностью отказаться от использования xorg.conf. Однако проприетарные драйверы (nvidia и fglrx) всё равно в нём нуждались.

В openSUSE и более раннем SUSE Linux была утилита SaX2, которая позволяла очень здорово настраивать устройства ввода и вывода Xorg. Когда же вышла Fedora 9 с X-Server 1.7, то openSUSE 11.2 всё ещё вышел с X-Server 1.6, а SaX2 немного «порезали»: теперь устройства ввода определяются автоматически, а вывода - по-прежнему вручную. В openSUSE 11.3 перешли на X-Server 1.8, и автоматически стали определяться все устройства. SaX2 удалили, от xorg.conf стало можно избавиться.

Эх, помню как я вручную обновлял в своём Debian 5 «иксы» до последней на тот момент версии. Я указал ключ --enable-hal при компиляции X-Server, и надеялся загрузиться без xorg.conf... Что ж, загрузка удалась. Но ни мышь, ни клавиатура не работали. Я даже не мог переключиться на виртуальный терминал по Ctrl-Alt-F1, настолько не работала клавиатура. При этом система не зависла, и я видел, как выполняются процессы в «иксах».

Вот таким конфигурационным файлом я всё исправил:

/etc/hal/fdi/policy/10-x11-input.fdi

<?xml version="1.0" encoding="utf-8"?><!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
  <match key="info.capabilities" contains="input.keyboard">
    <merge key="input.x11_driver" type="string">evdev</merge>
    <merge key="input.x11_options.XkbModel" type="string">pc105</merge>
    <!--merge key="input.x11_options.XkbModel" type="string">evdev</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="strlist">grp:alt_shift_toggle</merge>
    <append key="input.x11_options.XkbOptions" type="strlist">grp:switch</append>
    <append key="input.x11_options.XkbOptions" type="strlist">grp_led:scroll</append>
    <append key="input.x11_options.XkbOptions" type="strlist">compose:ralt</append>
  </match>
</device>
<device>
  <match key="info.capabilities" contains="input.mouse">
    <merge key="input.x11_driver" type="string">evdev</merge>
  </match>
</device>
</deviceinfo>

Как видишь, для клавиатуры указано куча параметров (которые ещё и переопределяют параметры, которые задаются в KDE), а для мышки ни одного параметра почему-то не указано... Главное, что всё заработало (после перезапуска HAL и «иксов»). Однако меня стали терзать смутные сомнения...

Работа без xorg.conf это миф! На самом деле, в /etc/X11/xorg.conf.d/ лежат маленькие конфигурационные файлы! Для мышки, для тачпада, для графического планшета Wacom, для гостевых систем Xen, и так далее! Также в /usr/share и в /etc/hal/fdi/ (а после переезда с HAL на libudev - в /etc/udev.d/). Вместо одного большого файла теперь много маленьких, распиханные по разным директориям! При этом никто не мешает переопределить стандартное поведение, и создать большой файл, как раньше.