John: Sorry that I responded to this same email a few times.
> So, GDM is rather large, and very tied to the GNOME desktop environment, > dtlogin is > being sadly jettisoned, and everyone seems opposed to xdm for some reason. I wouldn't say that people are opposed to XDM. It is missing features that would be needed for it to be considered a supported or default choice (see below)... > Anyone have any comments about replacing it with something like SLiM > ( http://slim.berlios.de ), which is lighter, has less dependencies & > is desktop environment agnostic ( all good things, imo ) and can be > themed all pretty to boot. I would be happy to see more options for people to use in Solaris. I encourage people interested in SLiM to get it working to meet the needs of Sun users. I will warn you, though, that getting GDM to meet all requirements for replacing CDE login has been a lot of work. In order to be considered a replacement for CDE login, you have to make sure the replacement supports all needed features. Features that were added to GDM included: 1) Make GDM support Sun Audit interfaces. Also, PAM is handled a bit differently on Solaris than other platforms, such as setting PAM_TTY to the device name associated with the display where Linux uses the DISPLAY. So work was needed to make PAM more consistant with how things are expected to work on Solaris. 2) Likewise, utmp/wtmp processing is a bit different on Solaris, and it was a bit of work to get this working properly. Note how on Solaris "dtlocal" and "dtremote" are used as utmp name values when there isn't an actual device that coresponds to a given display. Also note that there is a similar different in how on Solaris the device name is passed into the utmp database where on Linux they pass in the display. 3) CDE login supports the ability to save configuration defaults in /usr, and to have configuration overrides in /etc. This allows you to create a single configuration repository in /usr/ that is shared across machines, with customizations in /etc. GDM was enhanced to support this. 4) logindevperm processing (refer to manpage) 5) Accessibility support. This pretty much requires a GTK+ or Java based interface, or would require that you implement the ATK interfaces by hand for whatever widgets you use. Accessibility may not be a requirement for SLiM to be a display login option in Solaris, but it probably would be needed for it to be a possible default login program. 6) Support getting some configuration defaults from /etc/default/login so it works consistently with how CDE login works. Refer to GDM 2.20 code. 7) Support SDTLOGIN pipe with the Xserver to cause the Xserver to drop permissions to the user, rather than running the Xserver as root. This adds some security. Refer to GDM 2.20 code. 8) Support for Sun Ray (the ability to start/stop displays on demand much like the gdmdynamic command does for GDM). You can refer to the GDM 2.20 source code to see how many of these things were managed if you want to port these things to SLiM. I'd say Sun Audit, utmp/wtmp, SDTLOGIN pipe, logindevperm, and PAM are probably the most important. Sun Ray the next important. Also note that VT support is expected to go into Solaris around Nevada build 85, and Sun's VT interfaces are a bit different than Linux or FreeBSD. So, some work is probably also needed to make SLiM support VT switching on Solaris. > Both GDM and SLiM are GPL, so either way we're left with viral licenses. GDM doesn't expose any interfaces that you would link or compile against. GPL is okay for applications. It's just not the best license for libraries that you might want to link into multiple programs. > Bear in mind, I haven't done any footwork on this yet. Some time next > week I'll build & Solaris-up SLiM and real evaluations can begin, but > for now, just asking for comments on the idea I think it is a great idea. However, it might be a bit more work than you might think at first glance. So, I've now highlighted some of the things you'll need to look into if you were interested in SLiM being a supported replacement option for CDE login. Brian
