← Back to team overview

ubuntu-multiseat team mailing list archive

Re: review basic multiseat spec?

 

On 2013-08-24 16:30, Laércio Benedito Sivali de Sousa wrote:
> Em 24/08/2013 15:52, "Richard Hansen" <ubuntu-a7x@xxxxxxxxxxxxxxx> escreveu:
>> AFAIK, there's nothing limiting the set of valid seat names, so 'auto'
>> is a valid seat name.  It's a bad idea to use 'auto' as a seat name due
>> to the potential for udev tag conflicts, though, so hijacking it to have
>> a special meaning in lightdm.conf is probably OK.
>
> According to logind documentation, a valid seat id must start with the
> string "seat", so "auto" should not be a valid one, but e.g. "seatauto"
> does.

Oh, you're right!  I missed that.  From
<http://www.freedesktop.org/wiki/Software/systemd/multiseat/>:

    Seats are identified by seat names, which are short strings
    (<= 64chars), that start with the four characters "seat" followed
    by at least one more character from the range a-zA-Z0-9, "_" and
    "-".  They are suitable for inclusion in file names.

>>> or something similar, then derive seat id from section
>>> header.
>>
>> Interesting idea, but I'm hesitant to implement it myself because I
>> suspect automatic multiseat support will largely make this an unused
>> feature.  When automatic multiseat support is implemented, rather than
>> this:
>>
>>     [SeatDefaults]
>>     greeter-session=unity-greeter
>>     xdg-seat=auto
>>
>>     [Seat:0]
>>
>>     [Seat:1]
>>
>> people will simply do something like this:
>>
>>     [SeatDefaults]
>>     greeter-session=unity-greeter
>>
>>     [AutoSeats]
>>
>> and seat0 and seat1 will be used automatically as they are reported by
>> logind.
> 
> I don't know if I understand what you mean,

With automatic multiseat, the display manager doesn't need to have a
config entry for each seat.  Instead, it simply asks logind what seats
are available.  It then launches a display server for each seat as
appropriate.

It also listens to logind to see if any new seats appear or existing
seats go away.

So instead of explicitly declaring [Seat:0] and [Seat:1] in
lightdm.conf, I imagine users will simply have an [AutoSeats] section
that contains settings that apply to all auto-discovered seats.

> but even when automatic
> multiseat support arrives in LightDM, some per seat settings will still
> be useful, like customizing display server command line, setting
> autologin user, etc. For example, I still want to set
> 
> [Seat:1]
> autologin-user=alice
> 
> so that user alice is logged in when seat1 is detected by LightDM.

Good point.  So yeah, maybe an xdg-seat=auto option would be good to have.

Here's an alternative idea:  Leave [Seat:Foo] alone, but add support for
[seatFoo] sections (lower-case "seat").  Users might be confused by the
two similar-but-not-identical methods to declare a seat, but then again,
[Seat:1] when the seat is actually named seat1 is also a bit confusing.
 Perhaps [Seat:Foo] can be supported but deprecated.  Multiple sessions
for a single seat could be configured like this:

    [seat0]
    # this session will be started on VT 7
    # use Ctrl-Alt-F7 to switch to this session

    [seat0:bob]
    autologin-user=bob
    # this session will be started on VT 8
    # use Ctrl-Alt-F8 to switch to this session

(a colon is not a legal character in a seat name, so it can be used to
add a disambiguator)

>> [Seat:Foo] -> seatFoo (the former) is my preferred option.
>>
>> If Robert isn't opposed to this xdg-seat=auto idea, and you feel like
>> coding it up, feel free to push it to the
>> lp:~ubuntu-multiseat/lightdm/multiseat branch.
> 
> OK. I'll try it.

Don't forget to update the spec wiki page.  I'd put this in the "nice to
have" category since users can work around not having it.

-Richard


Follow ups

References