การตั้งค่าจอภาพสองจอโดยใช้ startx ไม่ทำงาน


1

ฉันมีจอภาพสองจอซึ่งเคยใช้แอพพลิเคชั่นต่างกันสองตัวในแต่ละอัน เช่น.

  • การตรวจสอบ A ควรเรียกใช้ Chromium-browser
  • จอภาพ B ควรใช้โครเมียมเบราว์เซอร์อื่น

สิ่งนี้ควรจะรันหลังจากบูทระบบขึ้น

xorg.conf ด้านล่าง

Section "ServerFlags"

        # Even if mouse detection fails, X will start
    Option         "AllowMouseOpenFail" "yes"
        # VT switching is disabled
    Option         "DontVTSwitch" "yes"
        # X restart (Ctrl+Alt+Backspace) is disabled
    Option         "DontZap" "yes"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
   Identifier     "Keyboard0"
    Driver         "kbd"
EndSection


Section "InputDevice"

    # generated from default
    Identifier     "Mouse1"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard1"
    Driver         "kbd"
EndSection
Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL ST2220M"
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Monitor"

    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       30.0 - 82.0
    VertRefresh     56.0 - 76.0
EndSection

Section "Device"
     Identifier    "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 630"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
        Modes      "1920x720"
    EndSubSection
EndSection

Section "Screen"
   Identifier      "Screen1"
   Device      "Device0"
   Monitor     "Monitor1"
   DefaultDepth    24
   SubSection      "Display"
    Depth      24
        Modes      "1920x720"
   EndSubSection
EndSection

Section "ServerLayout"
    Identifier "Layout0"
    Screen 0 "Screen0" 0 0
    InputDevice "mouse0" "CorePointer"
    InputDevice "keyboard0" "CoreKeyboard"
    Option         "Xinerama" "0"
EndSection

Section "ServerLayout"
    Identifier "Layout1"
    Screen 1 "Screen1" RightOf "Screen0"
    InputDevice "mouse1"
    InputDevice "keyboard1" 
    Option         "Xinerama" "1"
EndSection

ในสคริปต์เริ่มต้นของ runlevel 2 ฉันมี:

startx /path/to/screen-0-app.sh -- :0 -layout Layout0 -config /path/to/displaylink.conf -nolisten tcp vt7 -novtswitch -sharevts &

startx /path/to/screen-1-app.sh -- :1 -layout Layout1 -config /path/to/displaylink.conf -nolisten tcp vt8 -novtswitch -sharevts &

displaylink.conf เช่นเดียวกับ xorg.conf:

screen-0-app.sh and screen-1-app.sh consist of 

exec xterm -e xrandr -s 1920x1080 &

exec chromium-browser --user-data-dir=~/.chromium --window-size=1920,1080 --window-position=0,0 --kiosk --incognito http://www.youtube.com/watch?v=MRbI6LwLz94

another screen consist of different youtube link with same setup

ปัญหาคือฉันสามารถรับหนึ่งจอภาพทำงานกับการตั้งค่านี้ ซึ่งหมายความว่าต่อไปนี้:

การเล่นวิดีโอ Youtube ในโครเมียมเบราว์เซอร์ One startx ทำงานอยู่ แต่จออื่นดูเหมือนจะว่างเปล่าและข้อผิดพลาดที่เกิดขึ้นคือ:

(++) Using config file: "/home/atled/displaylink.conf"

(==) Using system config directory "/usr/share/X11/xorg.conf.d"

Fatal server error:
no screens found

Please consult the The X.Org Foundation support 
     at http://wiki.x.org
 for help. 
Please also check the log file at "/var/log/Xorg.0.log" for additional information.

 ddxSigGiveUp: Closing log

ไฟล์ xorg.0.log    [40.255]

X.Org X Server 1.11.3
Release Date: 2011-12-16
[    40.255] X Protocol Version 11, Revision 0
[    40.255] Build Operating System: Linux 2.6.42-26-generic i686 Ubuntu
[    40.255] Current Operating System: Linux atled-desktop 3.2.0-45-generic-pae #70-Ubuntu SMP Wed May 29 20:31:05 UTC 2013 i686
[    40.255] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-45-generic-pae root=UUID=8057523e-f126-4b9b-9534-b7c4cda86c8d ro acpi=off apm=off quiet splash vt.handoff=7
[    40.255] Build Date: 04 August 2012  01:51:24AM
[    40.255] xorg-server 2:1.11.4-0ubuntu10.7 (For technical support please see http://www.ubuntu.com/support)
[    40.255] Current version of pixman: 0.24.4
[    40.255]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[    40.255] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    40.255] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Jun  7 20:34:44 2013
[    40.256] (++) Using config file: "/home/atled/displaylink.conf"
[    40.256] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    40.265] (++) ServerLayout "Layout0"
[    40.265] (**) |-->Screen "Screen0" (0)
[    40.265] (**) |   |-->Monitor "Monitor0"
[    40.265] (**) |   |-->Device "Device0"
[    40.265] (**) |-->Input Device "Mouse0"
[    40.265] (**) |-->Input Device "Keyboard0"
[    40.265] (**) Option "DontVTSwitch" "yes"
[    40.265] (**) Option "DontZap" "yes"
[    40.265] (**) Option "AllowMouseOpenFail" "yes"
[    40.265] (**) Option "Xinerama" "0"
[    40.265] (==) Automatically adding devices
[    40.265] (==) Automatically enabling devices
[    40.265] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    40.265]    Entry deleted from font path.
[    40.265] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[    40.265]    Entry deleted from font path.
[    40.265] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[    40.265]    Entry deleted from font path.
[    40.265] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[    40.265]    Entry deleted from font path.
[    40.265] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[    40.265]    Entry deleted from font path.
[    40.265] (WW) The directory "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" does not exist.
[    40.265]    Entry deleted from font path.
[    40.265] (==) FontPath set to:
        /usr/share/fonts/X11/misc,
        built-ins
[    40.265] (==) ModulePath set to "/usr/lib/i386-linux-gnu/xorg/extra-modules,/usr/lib/xorg/extra-modules,/usr/lib/xorg/modules"
[    40.265] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[    40.265] (WW) Disabling Mouse0
[    40.265] (WW) Disabling Keyboard0
[    40.265] (II) Loader magic: 0xb77195a0
[    40.265] (II) Module ABI versions:
[    40.265]    X.Org ANSI C Emulation: 0.4
[    40.265]    X.Org Video Driver: 11.0
[    40.265]    X.Org XInput driver : 16.0
[    40.265]    X.Org Server Extension : 6.0
[    40.266] (--) PCI:*(0:1:0:0) 10de:0f00:19da:1282 rev 161, Mem @ 0xfb000000/16777216, 0xd0000000/268435456, 0xce000000/33554432, I/O @ 0x0000ec00/128, BIOS @ 0x????????/524288
[    40.266] (II) Open ACPI successful (/var/run/acpid.socket)
[    40.266] (II) LoadModule: "extmod"
[    40.267] (II) Loading /usr/lib/xorg/modules/extensions/libextmod.so
[    40.267] (II) Module extmod: vendor="X.Org Foundation"
[    40.267]    compiled for 1.11.3, module version = 1.0.0
[    40.267]    Module class: X.Org Server Extension
[    40.267]    ABI class: X.Org Server Extension, version 6.0
[    40.267] (II) Loading extension MIT-SCREEN-SAVER
[    40.267] (II) Loading extension XFree86-VidModeExtension
[    40.267] (II) Loading extension XFree86-DGA
[    40.267] (II) Loading extension DPMS
[    40.267] (II) Loading extension XVideo
[    40.267] (II) Loading extension XVideo-MotionCompensation
[    40.267] (II) Loading extension X-Resource
[    40.267] (II) LoadModule: "dbe"
[    40.267] (II) Loading /usr/lib/xorg/modules/extensions/libdbe.so
[    40.267] (II) Module dbe: vendor="X.Org Foundation"
[    40.267]    compiled for 1.11.3, module version = 1.0.0
[    40.267]    Module class: X.Org Server Extension
[    40.267]    ABI class: X.Org Server Extension, version 6.0
[    40.267] (II) Loading extension DOUBLE-BUFFER
[    40.267] (II) LoadModule: "glx"
[    40.267] (II) Loading /usr/lib/i386-linux-gnu/xorg/extra-modules/libglx.so
[    40.286] (II) Module glx: vendor="NVIDIA Corporation"
[    40.286]    compiled for 4.0.2, module version = 1.0.0
[    40.286]    Module class: X.Org Server Extension
[    40.286] (II) NVIDIA GLX Module  304.88  Wed Mar 27 14:51:59 PDT 2013
[    40.286] (II) Loading extension GLX
[    40.286] (II) LoadModule: "record"
[    40.286] (II) Loading /usr/lib/xorg/modules/extensions/librecord.so
[    40.286] (II) Module record: vendor="X.Org Foundation"
[    40.286]    compiled for 1.11.3, module version = 1.13.0
[    40.286] (II) LoadModule: "dri"
[    40.287] (II) Loading /usr/lib/xorg/modules/extensions/libdri.so
[    40.287] (II) Module dri: vendor="X.Org Foundation"
[    40.287]    compiled for 1.11.3, module version = 1.0.0
[    40.287]    ABI class: X.Org Server Extension, version 6.0
[    40.287] (II) Loading extension XFree86-DRI
[    40.287] (II) LoadModule: "dri2"
[    40.287] (II) Loading /usr/lib/xorg/modules/extensions/libdri2.so
[    40.287] (II) Module dri2: vendor="X.Org Foundation"
[    40.287]    compiled for 1.11.3, module version = 1.2.0
[    40.287]    ABI class: X.Org Server Extension, version 6.0
[    40.287] (II) Loading extension DRI2
[    40.287] (II) LoadModule: "nvidia"
[    40.287] (II) Loading /usr/lib/i386-linux-gnu/xorg/extra-modules/nvidia_drv.so
[    40.287] (II) Module nvidia: vendor="NVIDIA Corporation"
[    40.287]    compiled for 4.0.2, module version = 1.0.0
[    40.287]    Module class: X.Org Video Driver
[    40.288] (II) NVIDIA dlloader X Driver  304.88  Wed Mar 27 14:32:42 PDT 2013
[    40.288] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[    40.288] (++) using VT number 7

[    40.288] (II) Loading sub module "fb"
[    40.288] (II) LoadModule: "fb"
[    40.288] (II) Loading /usr/lib/xorg/modules/libfb.so
[    40.288] (II) Module fb: vendor="X.Org Foundation"
[    40.288]    compiled for 1.11.3, module version = 1.0.0
[    40.288]    ABI class: X.Org ANSI C Emulation, version 0.4
[    40.288] (II) Loading sub module "wfb"
[    40.288] (II) LoadModule: "wfb"
[    40.288] (II) Loading /usr/lib/xorg/modules/libwfb.so
[    40.288] (II) Module wfb: vendor="X.Org Foundation"
[    40.288]    compiled for 1.11.3, module version = 1.0.0
[    40.288]    ABI class: X.Org ANSI C Emulation, version 0.4
[    40.288] (II) Loading sub module "ramdac"
[    40.288] (II) LoadModule: "ramdac"
[    40.288] (II) Module "ramdac" already built-in
[    40.288] (II) Loading /usr/lib/i386-linux-gnu/xorg/extra-modules/nvidia_drv.so
[    40.288] (II) Loading /usr/lib/xorg/modules/libwfb.so
[    40.288] (II) Loading /usr/lib/xorg/modules/libfb.so
[    40.288] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[    40.288] (==) NVIDIA(0): RGB weight 888
[    40.288] (==) NVIDIA(0): Default visual is TrueColor
[    40.288] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[    40.288] (**) NVIDIA(0): Enabling 2D acceleration
[    40.878] (II) NVIDIA(GPU-0): Display (DELL ST2220M (DFP-0)) does not support NVIDIA 3D
[    40.878] (II) NVIDIA(GPU-0):     Vision stereo.
[    40.891] (II) NVIDIA(GPU-0): Display (Philips 224EL (DFP-1)) does not support NVIDIA 3D
[    40.891] (II) NVIDIA(GPU-0):     Vision stereo.
[    40.894] (II) NVIDIA(0): NVIDIA GPU GeForce GT 630 (GF108) at PCI:1:0:0 (GPU-0)
[    40.894] (--) NVIDIA(0): Memory: 1048576 kBytes
[    40.894] (--) NVIDIA(0): VideoBIOS: 70.08.aa.00.00
[    40.894] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[    40.894] (--) NVIDIA(0): Interlaced video modes are supported on this GPU
[    40.895] (EE) NVIDIA(GPU-0): EVO Push buffer channel allocation failed
[    40.895] (EE)  *** Aborting ***
[    40.895] (EE) NVIDIA(GPU-0): Failed to allocate EVO core DMA push buffer
[    40.895] (EE)  *** Aborting ***
[    40.895] (EE) NVIDIA(0): Failing initialization of X screen 0
[    40.896] (II) UnloadModule: "nvidia"
[    40.896] (II) Unloading nvidia
[    40.896] (II) UnloadModule: "wfb"
[    40.896] (II) Unloading wfb
[    40.897] (II) UnloadModule: "fb"
[    40.897] (II) Unloading fb
[    40.897] (EE) Screen(s) found, but none have a usable configuration.
[    40.897]
Fatal server error:
[    40.897] no screens found
[    40.897]
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
[    40.897] Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[    40.897]
[    40.897]  ddxSigGiveUp: Closing log
[    40.897] Server terminated with error (1). Closing log file.

ลองตั้งค่าโดยใช้ xrandr หรือดีกว่า) nvidia-settings คุณสามารถทำให้มันใช้งานได้แล้ว?
terdon

คำตอบ:


1

จอแสดงผลและจอภาพไม่เหมือนกัน

คุณกำลังพยายามเริ่มต้นเซิร์ฟเวอร์ X แยกต่างหากและแสดงผลสำหรับแต่ละจอภาพนี่ไม่ใช่สิ่งที่คุณต้องการทำ

คุณต้องการเริ่ม X-server หนึ่งจอพร้อมจอแสดงผล 1 จอ ( :0 ) และสองจอภาพ ( :0.0 และ :0.1 )

คุณควรมีหนึ่ง startx โทรไปเริ่ม :0และสคริปต์ควรเปิดแอปพลิเคชั่นทั้งสองย้ายหนึ่งในนั้นไปยังหน้าจอที่สองด้วย --window-position พารามิเตอร์.

หากจอภาพของคุณอยู่เคียงข้างกันและหน้าจอแรกคือ 1920x1080 ที่มุมบนซ้ายของ 0,0 ดังนั้นมุมซ้ายบนของจอภาพที่สองจะเป็น 1920,0


ความคิดนี้ดีฉันสามารถทำสิ่งนั้นได้ แต่ทำไม xserver หลายตัวที่มีแอพพลิเคชั่นต่าง ๆ ไม่ทำงานในกรณีของฉันฉันเห็น xorg.0.log และ xorg.1.log กำลังกำหนดค่าจอภาพอย่างสมบูรณ์แบบ แต่จอแสดงผลเพียงจอเดียวขึ้น
aravindKrishna

- หน้าต่างตำแหน่งไม่ทำงานแม้ฉันจะเปลี่ยนแอปพลิเคชั่น position.still ที่ทำงานในจอภาพเดียวกันไม่ได้อยู่ในตำแหน่งอื่น
aravindKrishna

เซิร์ฟเวอร์ X ควบคุมการแสดงผลแบบเอกสิทธิ์เฉพาะบุคคล ตามบันทึกของคุณเซิร์ฟเวอร์ X เปิด :0 กำลังควบคุมหน้าจอทั้งสองซึ่งทำให้เซิร์ฟเวอร์ X เปิด :1 ไม่สามารถผูกกับจอแสดงผลที่สอง โปรดทราบว่าหากคุณใช้เซิร์ฟเวอร์ X สองตัวคุณจะไม่สามารถลากเมาส์ระหว่างกันหรือลากหน้าต่างจากหน้าจอหนึ่งไปยังอีกหน้าจอหนึ่ง
Darth Android

@aravindKrishna ในที่สุดสิ่งนี้ก็ใช้ได้กับคุณหรือไม่ ฉันกำลังทำสิ่งที่คล้ายกันและนี่คือสิ่งที่ใกล้เคียงที่สุดที่ฉันสามารถหาทางแก้ไขได้
isaacsloan

1

Darth พูดอะไร นอกจากนี้ในของเรา xorg.conf คุณอ้างถึงทั้งคู่ monitor0 (สำหรับ screen0 ) และ monitor1 (สำหรับ screen1 ) แต่คุณมีเพียงหนึ่ง monitor กำหนดส่วนและนั่นคือ monitor0.

ฉันเดาว่าหน้าจอไม่พบข้อผิดพลาดเนื่องจาก X พยายามค้นหา monitor1 แต่นั่นไม่มีอยู่จริง


มันวางเลย์เอาต์ของฉัน 1, monitor1 และจอภาพ 1 ของฉันคือฟิลิปส์ใน xorg.1.log บอกว่าเปิดใช้งานอุปกรณ์แสดงผลทั้งหมดสำหรับฟิลิปส์นั่นหมายถึงการกำหนดค่าของฉันถูกต้อง แต่วิธีการเริ่มเซิร์ฟเวอร์เอ็กซ์
aravindKrishna
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.