В чем разница между xorg.conf, xset и xinput set?
Я не понимаю, почему в xset и xorg.conf есть две вещи с одной и той же целью, но с совершенно разными параметрами? Почему их два, а не один? Почему их параметры не могут иметь одинаковые имена? И даже в самом xorg.conf есть несколько опций с разными именами и одинаковым эффектом. Почему это так хаотично?
Например, я могу отключить ускорение мыши в xorg.conf с помощью
Option "AccelerationProfile" "-1"
или с
xset m 0 0
Я использую Arch Linux с Gnome 3 и Linux Kernel 3.0.26-1-lts.
2 ответа
xorg.conf
Файл используется для установки конфигурации, которая будет действовать при запуске X. После запуска X изменение xorg.conf
не будет иметь никакого значения (если вы не перезапустите X, но для этого требуется выход из системы).
xset
а также xinput
Команды используются для изменения конфигурации после запуска X. Это означает, что, хотя внутри есть опция по умолчанию xorg.conf
Вы (или ваш инструментарий) можете изменить это значение по умолчанию во время выполнения. Вы можете продолжать изменять свои параметры без необходимости выхода из системы.
Это объясняет разницу между xorg.conf
и приложения во время выполнения (например, xset
а также xinput
). Разница между xset
а также xinput
написано в xset
Manpage:
The setting is applied to all connected pointing
devices. xinput(1) should be used if you need device-specific
settings.
Вы упоминаете, что в xorg.conf
Есть несколько вариантов с разными именами и одинаковым эффектом. Я хотел бы увидеть пример. Я знаю, что у некоторых вариантов есть "пересечение", но они обычно предназначены для разных целей.
xorg.conf
действительно устаревшая система конфигурации, которая существует всегда. Недостатком является то, что вам нужно перезапустить X, чтобы настройки вступили в силу. Однако он хорошо интегрирован в X-сервер и относительно легко добавляет новые настройки.
Но современные разработчики X предпочитают интерфейсы, которые позволяют изменять настройки X на лету, пока X работает. Для этого обычно требуется создание API / протоколов и расширений X для реализации интерфейса, который можно использовать из пользовательского пространства. xinput, xrandr, xset и т. д. являются примерами такой настройки на лету.