首页 > 解决方案 > Problem adding extra loginctl seat for a Multiseat headless xserver-xorg-video-dummy driver on Ubuntu bionic 18.04?

问题描述

I am trying to add an extra headless seat/session to allow LightDM to offer a headless login page for VNC users without interfering with the person using the desktop. I tried several configurations (with no discernible errors in the logs) similar to the following tutorials for an nVidia card and another adapter:

https://techoverflow.net/2019/02/23/how-to-run-x-server-using-xserver-xorg-video-dummy-driver-on-ubuntu/

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

https://wiki.ubuntu.com/MultiseatTeam/Instructions

However, so far the newer systemd related Xorg configuration process ignores the Xorg "dummy" driver in the examples (for a detached VNC desktop under a separate user login). Notably, the lightDM settings are loaded for the detected nVidia [Seat:card0] setup, but as the [Seat:seat4] is never polled by loginctl it's conf is never applied in LightDM.

$ls -l /tmp/.X11-unix/
srwxrwxrwx 1 root root 0 Jun 16 23:09 X0

$loginctl list-seats
SEAT            
seat0           
1 seats listed.

$loginctl
   SESSION        UID USER             SEAT             TTY             
         2       1000 pi                                                
        c1        118 lightdm          seat0  

$ps aux | grep X
root      6732  5.1  0.2 263360 48232 ?        Sl   23:09   0:01 /usr/lib/xorg/Xorg -s 0 -dpms -keeptty :0 -config /etc/X11/xorg.conf -layout Layout0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch

$ls -l /sys/class/graphics
lrwxrwxrwx 1 root root 0 Jun 16 23:09 fb0 -> ../../devices/platform/vesa-framebuffer.0/graphics/fb0
lrwxrwxrwx 1 root root 0 Jun 16 23:09 fbcon -> ../../devices/virtual/graphics/fbcon

Manual setup:

$sudo nvidia-xconfig
$sudo nano  /usr/share/X11/xorg.conf.d/10-Dummy.conf
Section "Device"
  Identifier "Card4"
    Driver      "dummy"
  VideoRam 32768
  Option "NoDDC" "true"
  Option "IgnoreEDID" "true"
EndSection

Section "Monitor"
  Identifier "Monitor4"
  Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -hsync +vsync
  Modeline "1280x1024_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
  Modeline "1024x768_60.00"   63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync
  Option      "Primary" "true"
EndSection

Section "Screen"
  Identifier "Screen4"
  Device "Card4"
  Monitor "Monitor4"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1920x1080_60.00"  "1280x1024_60.00" "1024x768_60.00"
    EndSubSection
EndSection

$sudo nano  /usr/share/X11/xorg.conf.d/10-Dummy-seat4.conf
Section "ServerLayout"
Identifier     "Dummy4"
Screen       4 "Screen4"
Option   "Seat" "seat4"
Option   "Xinerama" "0"
Option          "SingleCard" "on"
EndSection

标签: ubuntunvidiasystemdvncxorg

解决方案


I worked around the issue by using the power switch with a new seat udev rule: TAG=="seat", ENV{ID_FOR_SEAT}=="input-acpi-LNXPWRBN_00", ENV{ID_SEAT}="seat-9",TAG+="master-of-seat"


推荐阅读