I have a multiseat setup using 3 GPUs, loginctl and lightdm and it mostly just works. Two small areas where it doesn't is with bluetooth audio devices and ssh X forwarding misbehaving when I'm not on :0 or at least not the same display number as last time I logged in.
# Force seatN to run on display :N
[Seat:seat0]
xserver-command=/usr/lib/Xorg :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch #
[Seat:seat1]
xserver-command=/usr/lib/Xorg :1 -seat seat1 -auth /run/lightdm/root/:1 -nolisten tcp #
[Seat:seat2]
xserver-command=/usr/lib/Xorg :2 -seat seat2 -auth /run/lightdm/root/:2 -nolisten tcp #
...into /etc/lightdm.conf.d/71-seatdisplays.conf makes thing very confusing when I log in at what should be seat0. I end up on display :0 but either seat0, seat1 or seat2, despite the GPU and the mouse and keyboard USB ports feeding that monitor being bound to seat0:
If I remove the comment # from the end of the xserver-command line, I end up on my correct seat0 but not necessarily display :0. It auto appends what's actually happening to the manually set command and while I end up on the correct seat number, the display is again random:
Since it looks like it's just appending the command with whatever it wants, I've tried setting xserver-command to something inane like sleep 1; /usr/lib/Xorg for seat1 and 2 but that just breaks seat1 and 2:
I have a multiseat setup using 3 GPUs,
loginctl
andlightdm
and it mostly just works. Two small areas where it doesn't is with bluetooth audio devices andssh
X forwarding misbehaving when I'm not on:0
or at least not the same display number as last time I logged in....instead of...
Putting...
...into
/etc/lightdm.conf.d/71-seatdisplays.conf
makes thing very confusing when I log in at what should beseat0
. I end up on display:0
but eitherseat0
,seat1
orseat2
, despite the GPU and the mouse and keyboard USB ports feeding that monitor being bound toseat0
:If I remove the comment
#
from the end of thexserver-command
line, I end up on my correctseat0
but not necessarily display:0
. It auto appends what's actually happening to the manually set command and while I end up on the correct seat number, the display is again random:Since it looks like it's just appending the command with whatever it wants, I've tried setting
xserver-command
to something inane likesleep 1; /usr/lib/Xorg
forseat1
and2
but that just breaksseat1
and2
:I can only assume it's just whatever command executes or completes first gets :0 and so on.
Is there a way to force
seat0
to display:0
,seat1
to:1
andseat2
to:2
?Alternatively, is there a way to delay the launch of
seat1
and2
soseat0
always gets first crack at:0
?