Jak zablokować jedną parę mysz / klawiatura na każdym ekranie?

11

Korzystając z ATI Catalyst Control Center (fglrx), skonfigurowałem dwa komputery stacjonarne (opcja multidesktop) za pomocą podwójnej głowicy. Teraz mam podłączone dwie myszy i klawiatury (USB), które za pomocą xinputmożna umieścić w dwóch osobnych grupach. Czy mogę zablokować każdą grupę na jednym ekranie? Jak można to zrobić na stałe? Alternatywnie, doceniane są również instrukcje dotyczące zamiany tej konfiguracji „wielopoziomowej” na wielostopniową.

Oto xorg.conf skonfigurowany przez 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

(ten ostatni wpis pochodzi z VirtualGL , patrz to pytanie , tutaj nie powinno mieć to znaczenia)

Tobias Kienzler
źródło
Dziękuję wszystkim za odpowiedzi. Przez jakiś czas nie będę w stanie tego przetestować, więc nie mogę jeszcze zaakceptować odpowiedzi, ale przyznam odpowiedź tmow za zacytowanie trochę więcej
Tobias Kienzler,

Odpowiedzi:

5

Jeśli zrozumiałem twoje potrzeby, musisz powiązać jeden ekran, klawiaturę i jedną mysz z jednym ServerLayout, a pozostałe z drugim.

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

O ile mi wiadomo, jest to jedyny sposób, aby kontynuować.

Arch również jako jeden dobry samouczek:

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

Linux Toys pokazuje nawet, jak zainstalować 6-osobową konfigurację

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

tmow
źródło
dzięki. jednak pierwszy link jest związany z XFree86, czy nadal działa z X11? Poza tym wkleiłeś link Arch ...
Tobias Kienzler,
Tak, jasne, dotyczy to również X.org. Przepraszamy za pomyłkę, Naprawiłem go i faktycznie, że link powinien wyjaśnić ci o wiele lepiej konfiguracji multi-seat
tmow
3

Interesującą możliwością zapomniałem co Tyler Szabo za odpowiedź na moje pytanie gier MultiSeat? @ gaming.SE sugeruje:

Chciałbym użyć VMWare. Może to być możliwe tylko z odtwarzaczem VMWare (będziesz musiał być w stanie przydzielić mysz do pojedynczej maszyny wirtualnej), lub może być konieczne wypróbowanie stacji roboczej VMWare (dla której jestem pewien, że to działa). Potrzebny sprzęt / oprogramowanie jest następujący:

  • Wiele zestawów wejść USB (myszy / klawiatura / itp.)
  • Licencja na VMWare Workstation (lub inny system VM)

    1. Skonfiguruj maszynę wirtualną w normalny sposób i wyłącz ją.
    2. Skonfiguruj kontroler USB (znajdujący się w „Edytuj ustawienia maszyny wirtualnej”) na „Pokaż wszystkie urządzenia wejściowe USB”
    3. Uruchom maszynę wirtualną.
    4. W menu Przejdź do VM -> Urządzenia wymienne i wybierz dane wejściowe, które będą kierowane wyłącznie do VM. (Teraz jedna z kombinacji klawiatury / myszy zostanie skierowana tylko na tę maszynę wirtualną).

W tym momencie masz okno, które jest w pełni izolowane z zestawem danych wejściowych, które trafią tylko do niego. Możesz to zrobić dla dowolnej liczby maszyn wirtualnych, jaką możesz obsłużyć (i dla tylu zestawów danych, ile możesz obsłużyć - testowałem tylko z 2). Jedyną irytującą rzeczą, która może się zdarzyć, jest to, że masz tylko 2 zestawy wejść (w moim przypadku klawiatura laptopa, klawiatura USB i 2 myszy USB). Skonfigurowałem maszynę wirtualną za pomocą kombinacji klawiatury / myszy USB i zmaksymalizowałem ją do jednego monitora (do tego potrzebne są narzędzia VMWare). Z drugiej strony miałem problem, że moja mysz mogła uciec z jednej maszyny wirtualnej na drugą (cecha narzędzi); aby obejść ten problem, umieściłem drugą maszynę wirtualną w „trybie eksulsywnym”, wykorzystując w ten sposób dane wejściowe „hosta”; Mógłbym także mieć drugą kombinację klawiatury / myszy.

Najlepsze jest to, że nie potrzebujesz nawet wielu monitorów, możesz to zrobić w stylu podzielonego ekranu za pomocą kilku maszyn wirtualnych + klawiatur + myszy.

Tobias Kienzler
źródło
to jedyne rozwiązanie, które do tej pory pracowałem ...
Tobias Kienzler
3

Czy próbowałeś czegoś takiego jak MDM ? Wygląda na to, że może obsługiwać mapowania klawiatury / wideo / myszy w pliku konfiguracyjnym.

Jeff S.
źródło
2

Inne odpowiedzi z pewnością były na dobrej drodze, ale dokumentacja MDM / wielostanowiskowa jest dość mało rozproszona. Niektóre z podanych tutaj linków były nieaktualne, odwołując się do XFree86, poprzednika Xorga. Niektóre kopanie pokazuje, że większość konfiguracji MDM używa Xephyr.

Oto HOWTO na temat budowania konfiguracji Multiseat Xephyr:

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

ewindisch
źródło