After inspecting files seat.c, seat-xlocal.c, and seat-unity.c, I've found a much simpler approach for item 1.
Instead of creating another seat module, we can introduce a new option "start-local-sessions" for existing seat modules. If this option is explicitly set to false, the seat in question will only start a bare X server (no greeter, no user sessions). In order to keep compatibility with current code, setting option "xdmcp- manager" with a non-empty value should force "start-local- sessions=false". I've uploaded a new branch with an implementation of "start-local- sessions" option: lp:~ubuntu-multiseat/lightdm/option-start-local-sessions -- You received this bug notification because you are a member of Ubuntu Multiseat, which is subscribed to the bug report. https://bugs.launchpad.net/bugs/1356332 Title: New approach for nested-X-server multiseat support Status in Light Display Manager: New Bug description: I'm opening this bug to discuss ideas for a new approach for supporting nested-X-server multiseat setups in LightDM, so we can easily configure e.g. 2 seats using a single dual-head graphics card. I have the following initial ideas: 1. Provide a special "empty" seat module, which doesn't spawn greeters, doesn't handle sessions at all, etc. I will only start a host bare X server spanning all available monitors. 1.1 [OPTIONAL] Set property "xdg-seat" for this seat to any invalid value (from logind's perpective), in order to ensure host X server will neither grab input devices (as a non-seat0 X server do) nor touch VTs (as a seat0 X server do). Xorg-server 1.16 or newer is required. Example: xdg-seat=__lightdm-fake-seat__ 2. Link this seat to a secondary DisplayManager object which will handle all other nested-X-server seats. When this secondary display manager is stopped, that host-X-server seat should be stopped, too. Set environment variables DISPLAY and XAUTHORITY before starting nested-X-server seats. 2.1 [OPTIONAL] subscribe all nested-X-server seats to main DisplayManager object as well, so they can be registered in LightDM D-Bus API. 3. Seats could gain a new boolean property "require-nesting" or something similar. If it's true, then the seat in question should wait until host X server is ready before starting itself. If no host X server is available, start a new one. To manage notifications about this bug go to: https://bugs.launchpad.net/lightdm/+bug/1356332/+subscriptions -- Mailing list: https://launchpad.net/~ubuntu-multiseat Post to : [email protected] Unsubscribe : https://launchpad.net/~ubuntu-multiseat More help : https://help.launchpad.net/ListHelp

