← Back to team overview

desktop-packages team mailing list archive

[Bug 851362] Re: display number selection algorithm does not work properly when several xlocal or vnc sessions start at once

 

This bug was fixed in the package lightdm - 1.0.0-0ubuntu1

---------------
lightdm (1.0.0-0ubuntu1) oneiric; urgency=low

  [ Steve Langasek ]
  * don't start on graphics-device-added; reintroducing this reverted the fix
    for bug #615549 from maverick without explanation.
  * clean up the completely illegible start rule for debian/lightdm.upstart,
    killing off the unnecessary parentheses
  * debian/lightdm.upstart: when lightdm is shut down by a runlevel call,
    emit an upstart event that can be caught by plymouth so it can
    distinguish between the DM shutting down for a runlevel change vs. other
    causes.  LP: #854329.

  [ Robert Ancell ]
  * New upstream release.
    [ 0.9.8 ]
    - GetSeatForCookie and GetSessionForCookie are now deprecated.  They
      remain for now but use the XDG_SEAT_PATH and XDG_SESSION_PATH
      environment variables instead.
    - Change log filenames to be unique across different display types.
    - Fix up script hooks, add regression tests for them
    - Complete removal of X code from the core of LightDM, so it can better
      support various display types
    - Add ability to set the language of a user from the greeter (LP: #803858)
    - Set LANG variable based on the user language
    - Add language selector into GTK greeter (disabled by default)
    - Allow TCP/IP connections if xserver-allow-tcp is true
    - Allow lightdm --version to be run as non-root
    - Automatically respond to PAM messages without prompts (LP: #783598)
    - Create 'AddLocalXSeat' D-Bus method, and require root to use 'AddSeat'
    - Fix multi-seat configuration picking the same display number (LP: #851362)
    - Use correct D-Bus and power interface in liblightdm-qt (LP: #852803)
    - Run pam_setcred inside the session process so pam_group works
      (LP: #851347)
    - Make sure one session is always selected in the GTK greeter (LP: #819177)
    [ 1.0.0 ]
    - Explicitly grab keyboard focus in GTK greeter
    - Fix removed power and a11y menu items in GTK greeter
    - Put system binary directory into path when running in test mode
      (LP: #860003)
    - Call pam_getenvlist after pam_setcred

  [ Lionel Le Folgoc ]
  * Make the gtk greeter easily themable by derivatives: (LP: #845549)
    - rename lightdm-gtk-greeter.conf to lightdm-gtk-greeter-ubuntu.conf,
      and handle the move in maintainer scripts.
    - manage /etc/lightdm/lightdm-gtk-greeter.conf with update-alternatives,
      by default it uses /etc/lightdm/lightdm-gtk-greeter-ubuntu.conf with a
      very low priority.
  * debian/control: lightdm-gtk-greeter provides lightdm-gtk-greeter-config.
 -- Robert Ancell <robert.ancell@xxxxxxxxxxxxx>   Wed, 28 Sep 2011 16:00:20 +1000

** Changed in: lightdm (Ubuntu)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to lightdm in Ubuntu.
https://bugs.launchpad.net/bugs/851362

Title:
  display number selection algorithm does not work properly when several
  xlocal or vnc sessions start at once

Status in Light Display Manager:
  Fix Released
Status in “lightdm” package in Ubuntu:
  Fix Released

Bug description:
  when we start in multi-seat configuration

  [Seat:0]
  type=xlocal
  xserver-command=/usr/bin/X
  xserver-layout=Seat-0
  xserver-config=/etc/X11/xorg.conf

  [Seat:1]
  type=xlocal
  xserver-command=/usr/bin/X -novtswitch -sharevts
  xserver-layout=Seat-1
  xserver-config=/etc/X11/xorg.conf

  lightdm start two X-server with the same display, e.g.

  [+0.00s] DEBUG: Loading seat Seat:0
  [+0.00s] DEBUG: Starting seat
  [+0.00s] DEBUG: Starting new display for greeter
  [+0.00s] DEBUG: Starting local X display
  [+0.01s] DEBUG: Could not run plymouth --ping: Failed to execute child process "plymouth" (No such file or directory)
  [+0.01s] DEBUG: Using VT 7
  [+0.01s] DEBUG: Activating VT 7
  [+0.01s] DEBUG: Logging to /var/log/lightdm/:0.log
  [+0.01s] DEBUG: Writing X server authority to /var/run/lightdm/root/:0
  [+0.01s] DEBUG: Launching X Server
  [+0.02s] DEBUG: Launching process 7327: /usr/bin/X :0 -config /etc/X11/xorg.conf -layout Seat-0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
  [+0.02s] DEBUG: Waiting for ready signal from X server :0
  [+0.02s] DEBUG: Loading seat Seat:1
  [+0.02s] DEBUG: Starting seat
  [+0.02s] DEBUG: Starting new display for greeter
  [+0.02s] DEBUG: Starting local X display
  [+0.02s] DEBUG: Using VT 8
  [+0.02s] DEBUG: Activating VT 8
  [+0.04s] DEBUG: Logging to /var/log/lightdm/:0.log
  [+0.04s] DEBUG: Writing X server authority to /var/run/lightdm/root/:0
  [+0.04s] DEBUG: Launching X Server
  [+0.04s] DEBUG: Launching process 7332: /usr/bin/X -novtswitch -sharevts :0 -config /etc/X11/xorg.conf -layout Seat-1 -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch
  [+0.04s] DEBUG: Waiting for ready signal from X server :0

  the source of the problem is a new implementation of get_free_display_number() in "xserver-local.c" and "xserver-xvnc.c".
  We start both X-servers almost simultaneously, so the fist one (Seat-0) does not have enough time to create  "/tmp/.X0-lock" file. Thus "lightdm" decide that display ":0" is free and use them for the second X-server.

  There are several way to resolve a problem
  1) start second seat after the first one started
  2) make display number configurable for each seat, so the user can tweak it (solve the problem partially)
  3) move old display selection scheme to global scope and use it from both xlocal and vnc seats

To manage notifications about this bug go to:
https://bugs.launchpad.net/lightdm/+bug/851362/+subscriptions