piątek, 25 maja 2012

gdm3 sucks!

So I really wanted to configure gdm3 for multiseat. Anyone knows how gdm3 is configured? Finding a manual for that seems a holy grail. And the gazillion of configuration files it requires is just too intimidating. Paraphrazing a saying about emacs, one could say that gdm3 is a fairly good operating system, it only lacks a decent display manager. So I decided I would give lightdm a try.

In Debian wheezy as of this writing there is lightdm 1.0.11. It does not have a good documentation either and I didn't manage to configure it out of the box. But, as its authors declare, it is of "low code complexity". Well, I did delve into the source code.

The result is promising. I am able to run two Xephyr seats now. Only the Xephyr currently found in wheezy (1.12.1-2) does not seem to support the "evdev" protocol for keyboard and mouse. That's too bad. I have to use an older binary from 1.7.7-11. Or do I? Anyone knows about Xephyr? My name is not Keith Packard...

You can browse the source code here. You can also fetch it using bazaar. Why bazaar? I use git for everyday work. Bazaar seems bazzare to me ;) But they use it on Launchpad. So what can you do? Here is a command which fetches the code from Launchpad

bzr branch lp:~andrzejtp2010/lightdm/lightdm-1.0-xephyr-multiseat

There is also a lightdm-xephyr-multiseat branch, but, at least now, it is no good.
autogen.sh, configure, make and enjoy! Or, if you prefer to build it the debian way, you can. It is even perhaps easier in a way. But first you need a patch. The easiest way is to fetch the source from Launchpad, and then generate a patch:

bzr diff -r1307 > multiseat.patch

And then something on the lines of:

apt-get source lightdm
sudo apt-get build-dep lightdm
dch -l 'Xephyr-based multiseat revision'
patch -p1 < multiseat.patch (mind the directory you are in)
dpkg-source -commit
debuild -uc -us

And there you go. You can install the package. Alternatively, it is just enough to only copy the resulting binary from your newly built package into /usr/sbin. Voila!

But how to configure it for multiseat? Stay tuned.

Brak komentarzy:

Prześlij komentarz