разбор xorg.conf


Рассмотрим первую секцию конфига:

Section "Module"
        Load "dri"
        Load "glx"
EndSection

Section "dri"
        Group "video"
        Mode 0666
EndSection

Мы включаем два модуля: dri и glx.

Direct Rendering Infrastructure (http://dri.freedesktop.org/wiki/), также известная как DRI, это платформа для предоставления прямого доступа к графическому оборудованию безопасным и эффективным методом. Она также включает модификации для X-сервера, для многих клиентских библиотек и для ядра. Основная же цель DRI - создание эффективной реализации OpenGL.

GLX («OpenGL Extension для системы X Window»), предоставляет интерфейс подключения OpenGL в системе X Window: он позволяет программам использовать OpenGL в любом окне X-сервера.

Также позволяем пользователям из группы video пользоваться включенным модулем dri.

Следующая секция включает клавиатуру.

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "en,ru"
        Option      "XkbOptions" "grp:switch,grp:alt_shift_toggle,grp_led:caps"
EndSection

Мы задаем две раскладки для нашей клавиатуры: русскую и английскую.

Ниже задаем опции переключения: клавишами Alt+Shift. При переключении на русский язык загорается CapsLock.

Ниже указаны настройки тачпада.

Section "InputClass"
    Identifier      "Touchpad"
    Driver          "synaptics"
    MatchIsTouchpad "yes"
    Option      "MinSpeed" "0.5"
    Option      "MaxSpeed" "0.75"
    Option      "AccelFactor" "0.075"
    Option      "TapButton1" "1"
    Option      "TapButton2" "2"     # multitouch
    Option      "TapButton3" "3"     # right mouse button
    Option      "VertTwoFingerScroll" "1"     # multitouch
    Option      "HorizTwoFingerScroll" "1"     # multitouch
    Option      "CoastingSpeed" "8"
    Option      "CornerCoasting" "1"
    Option      "EdgeMotionUseAlways" "1"
    Option      "PalmDetect" "1"
EndSection

Производитель тачпада, как видно из конфига, Synaptics (Toshiba Satellite L650D).

Кстати, тачпад еще то говно: маленький, неудобный, плохо реагирует на касания.

Здесь, впринципе, понятно что выполняет каждая из опций по её названию, остановлюсь лишь на опциях TapButton#.

  • TapButton1 отвечает за клик одним пальцем, и ей присвоено значение 1, что является аналогом клика левой кнопки мыши.
  • TapButton2 отвечает за одновременный клик двумя пальцами, опция 2 — аналог нажатия колесика.
  • TapButton3 — 3 одновременных касания, аналог нажатия правой кнопки мыши.

Теперь — самое интересное: конфигурация двух мониторов.

Имеется родной ноутбучный монитор с диагональю 15,6’ и разрешением 1366x768 и внешний монитор Acer с диагональю 19’ и разрешением 1600x900.

Задача была в возможности настройки таким способом, чтоб можно было выводить картинку или на ноутбучный монитор, далее именуемый LVDS, или на оба в режиме «растянутый» рабочий стол.

Поясню про этот режим.

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

Вот сама конфигурация:

Section "Monitor"
    Identifier   "0-LVDS"
    Option      "PreferredMode" "1366x768"
    Option      "TargetRefresh" "60"
    Option      "Rotate" "normal"
    Option      "Disable" "false"
    Option      "RightOf" "0-VGA-0"
EndSection

Section "Monitor"
    Identifier   "0-VGA-0"
    Option      "PreferredMode" "1600x900"
    Option      "TargetRefresh" "60"
    Option      "Rotate" "normal"
    Option      "Disable" "false"
    Option      "Primary" "false"
    Option      "LeftOf" "0-LVDS"
EndSection

Section "Device"
    Identifier  "Device-0"
    Driver      "radeon"
    Option      "Monitor-LVDS" "0-LVDS"
    Option      "Monitor-VGA-0" "0-VGA-0"
    BusID       "PCI:1:0:0"
    Option      "AccelMethod" "EXA"
EndSection

Section "Device"
    Identifier  "Device-1"
    Driver      "radeon"
    Option      "Monitor-LVDS" "0-LVDS"
    BusID       "PCI:1:0:0"
    Screen      1
    Option      "AccelMethod" "EXA"
EndSection

Section "Screen"
    Identifier "Screen-0"
    Device     "Device-0"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Virtual   2968 2968
        Depth     24
    EndSubSection
EndSection

Section "Screen"
    Identifier "Screen-1"
    Device     "Device-1"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Если включить ноутбук без подключенного монитора, то LVDS будет работать по-умолчанию в своей максимальной конфигурации(1366x768), чтоб задействовать второй монитор, нужно подключить его в разъем VGA и выполнить команду:

xrandr --output LVDS --primary --auto --right-of VGA-0

Когда нужно вернуться в режим одного монитора, отключаем внешний и выполняем:

xrandr --auto

Решение не самое простое и элегантное, но работает безотказно.

comments powered by Disqus