¿Cómo bloquear un par de mouse / teclado en cada pantalla?

11

Usando el ATI Catalyst Control Center (fglrx), configuro dos escritorios (la opción multidesktop) a través de dos cabezales. Ahora tengo dos ratones y teclados (USB) conectados que, usando, xinputse pueden poner en dos grupos separados. ¿Puedo bloquear cada grupo en una pantalla? ¿Y cómo se puede hacer esto permanentemente? Alternativamente, también se agradecen las instrucciones para convertir esta configuración "lite multiseat" en multiseat.

Este es el xorg.conf tal como lo configuró 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

(la última entrada es de VirtualGL , vea esta pregunta , debería ser irrelevante aquí)

Tobias Kienzler
fuente
Gracias a todos por sus respuestas o comentarios. No podré probar esto por un tiempo, así que aún no puedo aceptar una respuesta, pero otorgaré la respuesta de tmow por citar un poco más
Tobias Kienzler

Respuestas:

5

Si entendí sus necesidades, debe vincular una pantalla, un teclado y un mouse a un ServerLayout y los demás a la segunda.

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

Esta es, hasta donde yo sé, la única forma de proceder.

También Arch como un buen tutorial:

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

Y Linux Toys le muestra incluso cómo implementar una configuración de 6 asientos

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

tmow
fuente
Gracias. sin embargo, el primer enlace está relacionado con XFree86, ¿sigue funcionando con X11? Además, has pegado el enlace Arch ...
Tobias Kienzler
Sí, claro, se aplica también a X.org. Perdón por el error, lo arreglé y, de hecho, ese enlace debería explicarle mucho mejor una configuración de varios asientos
hasta el
3

Una posibilidad interesante que olvidé es la respuesta de Tyler Szabo a mi pregunta ¿ Juego multiseat? @ gaming.SE sugiere:

Yo usaría VMWare. Esto podría ser posible solo con el reproductor VMWare (necesitará poder asignar un mouse a una sola VM), o tal vez deba probar la estación de trabajo VMWare (para lo cual estoy bastante seguro de que funciona). El hardware / software que necesitará es el siguiente:

  • Múltiples conjuntos de entrada USB (ratones / teclado / etc.)
  • Una licencia para VMWare Workstation (u otro sistema VM)

    1. Configure una máquina virtual como lo haría normalmente y apáguela.
    2. Configure el Controlador USB (que se encuentra en "Editar la configuración de la máquina virtual") para "Mostrar todos los dispositivos de entrada USB"
    3. Inicie la VM.
    4. En el menú Navegar a VM -> Dispositivos extraíbles, y seleccione las entradas para dirigir a la VM exclusivamente. (Ahora, una de sus combinaciones de teclado / mouse solo se dirigirá a esa VM).

En este punto, tiene una ventana que está completamente aislada con un conjunto de entradas que irán solo a ella. Puede hacer esto para tantas máquinas virtuales como pueda manejar (y para tantos conjuntos de entrada como pueda manejar, solo probé con 2). Lo único irritante que puede suceder es que solo tiene 2 juegos de entradas (en mi caso, mi teclado de computadora portátil, mi teclado USB y 2 ratones USB). Configuré una máquina virtual con mi combo de teclado / mouse USB, y lo maximicé en un monitor (necesita herramientas VMWare para hacer esto). Por el otro, tuve el problema de que mi mouse podía escapar de una VM a otra (una característica de las herramientas); para evitar eso, puse mi segunda máquina virtual en "modo exculsivo" y, por lo tanto, calculé mi entrada de "host"; También podría haber tenido un segundo combo de teclado / mouse.

Lo mejor de esto es que ni siquiera necesita múltiples monitores, podría hacerlo con un estilo de pantalla dividida con un montón de máquinas virtuales + teclados + ratones.

Tobias Kienzler
fuente
Esta es la única solución que he trabajado hasta ahora ...
Tobias Kienzler
3

¿Has probado algo como MDM ? Parece que puede manejar las asignaciones de teclado / video / mouse en su archivo de configuración.

Jeff S
fuente
2

Busque multiseat y encontrará la información que necesita. El artículo vinculado de Wikipedia incluso describe dónde encaja MDM.

Soy fanático de Debian, así que echa un vistazo a Debian Wiki o Ubuntu Community Docs . XORG tiene una buena colección de información de múltiples asientos , incluido este detallado procedimiento .

¡Buena suerte!

Tom
fuente
2

Las otras respuestas ciertamente estaban en el camino correcto, pero la documentación de MDM / multiseat es bastante escasa y dispersa. Algunos de los enlaces proporcionados aquí estaban desactualizados, haciendo referencia a XFree86, el predecesor de Xorg. Algunas excavaciones muestran que la mayoría de las configuraciones de MDM usan Xephyr.

Aquí hay un CÓMO sobre cómo construir la configuración de Multiseat Xephyr:

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

ewindisch
fuente