Как заблокировать одну пару мышь / клавиатура для каждого экрана?

11

Используя ATI Catalyst Control Center (fglrx), я настраиваю два рабочих стола (опция multidesktop) через двойную головку. Теперь у меня есть две мыши и клавиатуры (USB), которые xinputможно использовать в две отдельные группы. Могу ли я заблокировать каждую группу на одном экране? И как это можно сделать навсегда? В качестве альтернативы, инструкции по превращению этой конфигурации "lite multiseat" в многоадресную также приветствуются.

Это xorg.conf, настроенный Catalyst Center:

Section "ServerLayout"
    Identifier     "amdcccle Layout"
    Screen      0  "amdcccle-Screen[1]-0" 0 0
    Screen         "amdcccle-Screen[1]-1" 1400 0
EndSection

Section "Module"
    Load  "glx"
EndSection

Section "Monitor"
    Identifier   "0-CRT1"
    Option      "VendorName" "ATI Proprietary Driver"
    Option      "ModelName" "Generic Autodetecting Monitor"
    Option      "DPMS" "true"
    Option      "PreferredMode" "1400x1050"
    Option      "TargetRefresh" "60"
    Option      "Position" "0 0"
    Option      "Rotate" "normal"
    Option      "Disable" "false"
EndSection

Section "Monitor"
    Identifier   "0-DFP1"
    Option      "VendorName" "ATI Proprietary Driver"
    Option      "ModelName" "Generic Autodetecting Monitor"
    Option      "DPMS" "true"
    Option      "PreferredMode" "1400x1050"
    Option      "TargetRefresh" "60"
    Option      "Position" "0 0"
    Option      "Rotate" "normal"
    Option      "Disable" "false"
EndSection

Section "Device"
    Identifier  "Default Device"
    Driver      "fglrx"
EndSection

Section "Device"
    Identifier  "amdcccle-Device[1]-0"
    Driver      "fglrx"
    Option      "Monitor-DFP1" "0-DFP1"
    BusID       "PCI:1:5:0"
EndSection

Section "Device"
    Identifier  "amdcccle-Device[1]-1"
    Driver      "fglrx"
    Option      "Monitor-CRT1" "0-CRT1"
    BusID       "PCI:1:5:0"
    Screen      1
EndSection

Section "Screen"
    Identifier "Default Screen"
    DefaultDepth     24
    SubSection "Display"
    EndSubSection
EndSection

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

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

Section "DRI"
    Group        "vglusers"
    Mode         0660
EndSection

(последняя запись от VirtualGL , см. этот вопрос , здесь не должно быть никакого отношения)

Тобиас Кинцлер
источник
Спасибо всем за ваши ответы. Я не смогу проверить это некоторое время, поэтому пока не могу принять ответ, но награду ответ tmow за то, что процитировал немного больше
Тобиас Кинцлер,

Ответы:

5

Если я понял ваши потребности, вы должны привязать один экран, клавиатуру и одну мышь к одному ServerLayout, а остальные - ко второму.

http://cambuca.ldhs.cetuc.puc-rio.br/multiuser/

Section "ServerLayout"
    Identifier "Layout0"
    Screen 0 "Screen0"
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "ServerLayout"
    Identifier "Layout1"
    Screen 0 "Screen1"
    InputDevice "Mouse0" "CorePointer"
    InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Насколько я знаю, это единственный способ продолжить.

Также Arch как один хороший урок:

https://wiki.archlinux.org/index.php/Xorg_multiseat

А Linux Toys покажет вам, как установить 6-местную установку

http://www.linuxtoys.org/multiseat/multiseat.html

tmow
источник
Спасибо. однако первая ссылка связана с XFree86, она все еще работает с X11? Кроме того, вы пропустили
вставку
Да, конечно, это относится и к X.org. Извините за ошибку, я исправил ее, и на самом деле эта ссылка должна объяснить вам гораздо лучше многопользовательскую конфигурацию
tmow
3

Одна интересная возможность, которую я забыл, - каков ответ Тайлера Сабо на мой вопрос « Многосекционные игры»? @ gaming.SE предлагает:

Я бы использовал VMWare. Это может быть возможно только с помощью проигрывателя VMWare (вам нужно будет выделить мышь для одной виртуальной машины) или вам может понадобиться попробовать рабочую станцию ​​VMWare (для которой я вполне уверен, что она работает). Вам понадобится следующее аппаратное / программное обеспечение:

  • Несколько наборов USB-входа (мыши / клавиатура / и т. Д.)
  • Лицензия на VMWare Workstation (или другую систему VM)

    1. Настройте виртуальную машину, как обычно, и выключите ее.
    2. Настройте контроллер USB (находится в разделе «Изменение настроек виртуальной машины») на «Показать все устройства ввода USB»
    3. Запустите ВМ.
    4. В меню Перейдите к ВМ -> Съемные устройства и выберите входы, предназначенные исключительно для ВМ. (Теперь одна из ваших комбинаций клавиатура / мышь будет направлена ​​только на эту виртуальную машину.)

На данный момент у вас есть окно, которое полностью изолировано с набором входов, которые будут идти только к нему. Вы можете сделать это для стольких виртуальных машин, сколько сможете (и для стольких наборов входных данных, сколько вы можете обработать - я тестировал только с 2). Единственное, что может вызвать раздражение, это то, что у вас есть только 2 набора входов (в моем случае клавиатура моего ноутбука, клавиатура USB и 2 мыши USB). Я настроил виртуальную машину с помощью комбинации USB-клавиатура / мышь и довел ее до одного монитора (для этого нужны инструменты VMWare). С другой стороны, у меня была проблема, что моя мышь могла сбежать с одной виртуальной машины на другую (особенность инструментов); чтобы обойти это, я перевел свою вторую виртуальную машину в «исключительный режим», захватив тем самым мой «хостовый» ввод; Я мог бы также иметь вторую комбинацию клавиатура / мышь.

Лучше всего то, что вам даже не нужно несколько мониторов, вы можете сделать это в стиле разделенного экрана с помощью нескольких виртуальных машин + клавиатур + мышей.

Тобиас Кинцлер
источник
это единственное решение, которое я получил до сих пор ...
Тобиас Кинцлер
3

Вы пробовали что-то вроде MDM ? Похоже, он может обрабатывать сопоставления клавиатуры / видео / мыши в своем конфигурационном файле.

Джефф С
источник
2

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

Я фанат Debian, так что ознакомьтесь с Debian Wiki или Документами сообщества Ubuntu . XORG имеет хорошую коллекцию информации о нескольких местах, включая подробные инструкции .

Удачи!

Том
источник
2

Другие ответы были, конечно, на правильном пути, но документация по MDM / многоадресной рассылке совершенно отсутствует и расходится. Некоторые из приведенных здесь ссылок устарели, ссылаясь на XFree86, предшественника Xorg. Некоторые раскопки показывают, что большинство конфигураций MDM используют Xephyr.

Вот руководство по созданию конфигурации Multiseat Xephyr:

http://en.wikibooks.org/wiki/Multiterminal_with_Xephyr

ewindisch
источник