← Back to team overview

ubuntu-multiseat team mailing list archive

Re: Lightdm and Xephyr multiseat fun

 

Em 03/03/2014 12:19, "Daniel J Blueman" <daniel@xxxxxxxxx> escreveu:
>
> On 3 March 2014 22:52, Laércio de Sousa <lbsousajr@xxxxxxxxx> wrote:
> > Em 02/03/2014 17:38, "Laércio de Sousa" <lbsousajr@xxxxxxxxx> escreveu:
> >> Em 02/03/2014 16:22, "Daniel J Blueman" <daniel@xxxxxxxxx> escreveu:
> >> > Using Ubuntu 13.10 i686 and the superb work in the ubuntu-multiseat
> >> > PPA, I run a configured X server on a dual-output Intel GPU (started
> >> > from a modified lightdm upstart script [1]):
> >> > # /usr/bin/Xorg :0 -nolisten tcp vt7
> >> >
> >> > then start configured [2] lightdm, which in turn runs the Xephyr
> >> > wrapper [3]. Both user sessions start; so far so good.
> >> >
> >> > Since I need to also attach touchscreen and sound to the screens, I
> >> > have to use udev tags, so I assign a mouse the 'seat1' tag [4,5] and
> >> > it isn't listed in 'loginctl seat-status seat0' as expected, but it
> >> > doesn't move the cursor on the second head (or first).
> >> >
> >> > loginctl shows only a single seat, despite both Xephyr servers being
> >> > passed '-seat seat0' and '-seat1' (which isn't listed in 'Xephyr
> >> > -help):
> >> > $ loginctl list-seats
> >> > SEAT
> >> > seat0
> >> >
> >> > 1 seats listed.
> >> >
> >> > Any idea what I'm missing?
> []
> >> In order to create a new seat in logind, you need to have at least one
> >> device udev-tagged as master-of-seat attached to it. Try to write a
udev
> >> rule that tags one of your seat1 devices as master-of-seat.
> >
> > Moreover, you also need a Xephyr built with configure option
> > --enable-kdrive-evdev (like the one available in Multiseat PPA). Then
you
> > need to pass explictly the devpaths of your input devices to Xephyr with
> > options -keybd and -mouse. Xephyr doesn't recognize option -seat
directly.
>
> Yes, that seems to be what I'm finding. The updated udev rules [1]
> work nice [2], but the mouse from the Xephyr seat0 can move onto the
> seat1 screen, despite:
>
> $ ps -ef
> []
> /usr/bin/Xephyr -zaphod -fullscreen :1 -seat seat0 -auth
> /var/run/lightdm/root/:1 -nolisten tcp
> /usr/bin/Xephyr -zaphod -fullscreen :2 -seat seat1 -auth
> /var/run/lightdm/root/:2 -nolisten tcp
>
> For the system I'll be setting up, there will be three touchscreen
> monitors with sound via HDMI on a triple-output Intel GPU, so I'm out
> of luck with the -mouse and -keybd options.
>
> Maybe you or Richard know if anyone has had any luck with eg MDM or
> other solutions (Wayland?), rather than Xephyr?

Well... I'm working on a binary wrapper for Xephyr (see
http://launchpad.net/multi-seat-xephyr) that does almost everything you
want. I've used it quite well in openSUSE, but I didn't package it for
Ubuntu yet. Maybe I can build the Ubuntu package this week.

Regards,
>
> Thanks,
>   Daniel
>
> -- [1] /etc/udev/rules.d/99-multiseat.rules
>
> DEVPATH=="/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2",
> ENV{ID_SEAT}="seat1", TAG+="master-of-seat", TAG+="seat1", TAG+="seat"
>
> -- [2]
>
> $ loginctl list-seats
> SEAT
> seat0
> seat1
>
> 2 seats listed.
>
> $ loginctl seat-status seat1
> seat1
>         Sessions: *c4
>          Devices:
>                   └─/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2
>                     [MASTER] usb:1-1.2
>
>
└─/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input6
>                       input:input6 " USB OPTICAL MOUSE"
> --
> Daniel J Blueman

Follow ups

References