วิธีล็อคเมาส์ / คีย์บอร์ดหนึ่งคู่เข้ากับแต่ละหน้าจอ


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ดูคำถามนี้ควรไม่เกี่ยวข้องที่นี่)


ขอบคุณสำหรับคำตอบของคุณ ฉันจะไม่สามารถทดสอบสิ่งนี้ได้ในขณะนี้ดังนั้นฉันยังไม่สามารถตอบได้ แต่ฉันจะให้รางวัลคำตอบสำหรับการพูดเพิ่มอีกนิด
Tobias Kienzler

คำตอบ:


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 แสดงให้คุณเห็นถึงวิธีการติดตั้ง 6 ที่นั่ง

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


ขอบคุณ อย่างไรก็ตามลิงค์แรกเกี่ยวข้องกับ XFree86 มันยังใช้งานกับ X11 ได้หรือไม่? นอกจากนี้คุณยังพลาดการเชื่อมโยง Arch ...
Tobias Kienzler

ใช่แน่นอนมันใช้กับ X.org ด้วย ขออภัยด้วยความผิดพลาดฉันได้ทำการแก้ไขแล้วจริง ๆ แล้วลิงก์ควรอธิบายให้คุณดีขึ้นเกี่ยวกับการกำหนดค่าแบบหลายที่นั่ง
tmow

3

ความเป็นไปได้ที่น่าสนใจอย่างหนึ่งที่ฉันลืมไปคือสิ่งที่ Tyler Szabo ตอบคำถามของฉันMultiseat gaming? @ gaming.SE แนะนำ:

ฉันจะใช้ VMware สิ่งนี้อาจเป็นไปได้ด้วยเครื่องเล่น VMWare (คุณจะต้องจัดสรรเมาส์ให้กับ VM เครื่องเดียว) หรือคุณอาจต้องลองใช้เวิร์กสเตชัน VMWare (ซึ่งฉันค่อนข้างแน่ใจว่ามันใช้งานได้) ฮาร์ดแวร์ / ซอฟต์แวร์ที่คุณต้องการมีดังนี้:

  • อินพุต USB หลายชุด (เมาส์ / คีย์บอร์ด / ฯลฯ )
  • ใบอนุญาตสำหรับ VMWare Workstation (หรือระบบ VM อื่น)

    1. ตั้งค่า VM ตามปกติแล้วปิดเครื่อง
    2. กำหนดค่าคอนโทรลเลอร์ USB (พบใน "แก้ไขการตั้งค่าเครื่องเสมือน") เป็น "แสดงอุปกรณ์อินพุต USB ทั้งหมด"
    3. เริ่มต้น VM
    4. ในเมนูไปที่ VM -> อุปกรณ์ที่ถอดออกได้และเลือกอินพุตเพื่อนำไปยัง VM โดยเฉพาะ (ตอนนี้หนึ่งในแป้นพิมพ์ / ชุดเมาส์ของคุณจะถูกนำไปที่ VM เท่านั้น)

ณ จุดนี้คุณมีหน้าต่างที่แยกได้อย่างสมบูรณ์พร้อมชุดอินพุตที่จะเข้าสู่หน้าต่างเท่านั้น คุณสามารถทำสิ่งนี้กับ VM ได้มากเท่าที่คุณสามารถจัดการได้ (และสำหรับชุดข้อมูลจำนวนมากเท่าที่คุณสามารถจัดการได้ - ฉันทดสอบด้วย 2 เท่านั้น) สิ่งที่น่ารำคาญเพียงอย่างเดียวที่เกิดขึ้นคือคุณมีอินพุตเพียง 2 ชุด (ในกรณีของฉันคือคีย์บอร์ดแล็ปท็อปคีย์บอร์ด USB และเมาส์ USB 2 อัน) ฉันตั้งค่า VM ด้วยชุดคำสั่งผสมคีย์บอร์ด / เมาส์ USB ของฉันและขยายให้ใหญ่สุดไปยังจอภาพเดียว (คุณต้องใช้เครื่องมือ VMWare ในการทำสิ่งนี้) สำหรับอีกฉันมีปัญหาที่เมาส์ของฉันสามารถหลบหนีจาก VM หนึ่งไปยังอีก (คุณสมบัติของเครื่องมือ); เพื่อให้ได้สิ่งที่ฉันใส่ VM ตัวที่สองของฉันในโหมด "exculsive" ซึ่งจะเป็นการเพิ่มอินพุต "host" ของฉัน ฉันยังสามารถมีแป้นพิมพ์ / เมาส์ชุดที่สอง

สิ่งที่ดีที่สุดคือคุณไม่จำเป็นต้องมีจอภาพหลายจอคุณสามารถทำได้ในลักษณะแยกหน้าจอพร้อมด้วย VMs + คีย์บอร์ด + เมาส์


นี่เป็นทางออกเดียวที่ฉันได้ทำงานจนถึง ...
Tobias Kienzler


2

มองหามัลติซีตและคุณจะพบข้อมูลที่คุณต้องการ บทความ Wikipedia ที่เชื่อมโยงยังอธิบายถึง MDM ที่เหมาะสม

อิ่มแฟน Debian เพื่อตรวจสอบเดวิกิพีเดียหรืออูบุนตูเอกสารชุมชน XORG มีการรวบรวมข้อมูลหลายอย่างที่ดีรวมถึงรายละเอียดวิธีการนี้

โชคดี!


2

คำตอบอื่น ๆ อยู่ในเส้นทางที่ถูกต้อง แต่เอกสาร MDM / multiseat ค่อนข้างขาดและแยกย้ายกันไป ลิงค์บางลิงค์ที่ให้ไว้นี้ล้าสมัยโดยอ้างอิง XFree86 ซึ่งเป็นบรรพบุรุษของ Xorg บางคนขุดพบว่าการกำหนดค่า MDM ส่วนใหญ่ใช้ Xephyr

นี่คือ HOWTO ในการสร้างการกำหนดค่า Multiseat Xephyr:

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.