[systemd-devel] systemd based gnome-session

Peeters Simon peeters.simon at gmail.com
Mon Jun 25 18:02:00 PDT 2012


Sorry that i forgot to give credit where credit is due:
The code in this program is majorly inspired by:
 - nodm (this is actually a fork/adaption of an unfinished rewrite of nodm)
 - user-session by Auke Kok
 - various tutorials and man page examples

Even though this programs functionality is comparable to user-session,
it was mostly written from scratch without knowledge about the
existence of user-session.

to Auke:
> ugh
>
> this is starting to duplicate almost all the functionality that I've put in
> xorg-launch-helper and user-session-units.

well, i had written almost everything before i knew these (and i still
have to take a closer look at them)

the main difference i think is that i do all xorg preparation (which
sometimes requires root) in the main daemon so all pam variables can
be set accordingly (auto-detect next free vt, next available
address,...)

> Not to mention the code looks... well, pretty much the same as we've
> had in uxlaunch/user-session for almost 3 years. Some attribution would
> be nice.

I indeed forgot to put some atribution in the readme, (fixed this in git)
but i have to add a comment to what you say here:
 - more than 75% of the code was written before i even looked at the
code of user-session
 - large parts of the code were part of my (unfinished) effort to
rewrite nodm half a year ago. (options, pam stuff, most xserver stuff)
 - as far as i remember only two features came in based on your code,
the --dpi= option, and support for non-suid Xorg (which are both quiet
trivial afaik)

> But aside from that, we should not let that go much further. Working
> besides each other is just silly. (although I'll flat-out refuse to work
> with CMake, sorry).

The CMake part is mainly because i needed a buildsystem fast, and i
had no experience with any buildsystem (from a developer side). and i
did not have the time to learn autotools (it appears pretty complex),
but will do in the future, and the i'll see what i do with this. (feel
free to fork on github and add autotools stuff)

Besides that, feel free to use any of the code in your projects.

>> In the gnome directory you can find a daemon i use to catch/forward
>> logout, shutdown and reboot requests from shutdown.
>> If you plan on creating such a DBus forward daemon for your DE, take a
>> look at the DBus oriented pseudo language i created in dbus_lang.h.
>
> That's cool. We certainly will want to make that work for other desktops
> as well. Standardization should be key here.

well, ideally the interface should talk directly to logind an systemd,
but since this requires changes in packages i don't like changing a
lot, i just made this translation daemon for compatibility.

I did write this as an exercise for myself, and initially did not
intend to share it, but then you asked for it in the other thread, so
here you have it.


Simon


More information about the systemd-devel mailing list