Merge lp:~ubuntu-multiseat/lightdm/new-automatic-multiseat into lp:lightdm
| Status: | Merged |
|---|---|
| Merged at revision: | 2033 |
| Proposed branch: | lp:~ubuntu-multiseat/lightdm/new-automatic-multiseat |
| Merge into: | lp:lightdm |
| Diff against target: |
352 lines (+198/-85) 3 files modified
src/lightdm.c (+173/-71) src/login1.c (+0/-1) tests/scripts/multi-seat.conf (+25/-13) |
| To merge this branch: | bzr merge lp:~ubuntu-multiseat/lightdm/new-automatic-multiseat |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Robert Ancell | Approve | ||
|
Review via email:
|
|||
Description of the change
This new branch implements automatic multiseat support in LightDM, following steps 1 & 2 of "Complete porting" section in systemd-logind documentation [1]. This is a rework of old branch lp:~ubuntu-multiseat/lightdm/automatic-multiseat after introduction of login1 service object in upstream revision 2028.
This new implementation has some additional features, added after discussion with Robert Ancell:
* If logind is running, LightDM won't try to load seats statically as before. Instead, any [Seat:seat*] config sections in lightdm.conf will be loaded on demand, as new seats are added from logind. Since logind returns at least one seat (namely, seat0), start-default-seat condition should never be reached in this case.
* Seat properties "seat-name" and "xdg-seat" will be both automatically set to return value of function login1_
At the moment, this branch has some issues:
1. Test scripts have not been added yet.
2. What should it do if a logind seat has property CanGraphical=no?
3. It still doesn't watch PropertyChanged events on logind seats. What should it do if logind seat property CanGraphical changes?
[1] http://
[NEW ISSUE] Should we support simple globbing in seat config sections when loading seats from logind? Examples:
[Seat:seatFoo*] would match any logind seat whose id starts with "seatFoo".
Side effect: [Seat:seat*], or just [Seat:*], would match any seat (including seat0), just like [SeatDefaults] does.