Ray Strode wrote:
Hi,
Is there any particular reason gdm (and kdm for that matter) don't simply default to /usr/bin/X? It's supposed to be the default X server, which seems a better way to handle it IMHO. Then one merely need point the /usr/bin/X symlink to the server of choice, in theory at least.
The problem I think is that you can't have a package own the symlink (because then if you changed it rpm -V would shout, etc), so that leaves making it in %post. But doing it in %post has issues anyway (think about shared /usr).
The filesystem package could own the symlink, and it could be flagged %verify (not md5 mtime size) etc. with a custom %verifyscript that checks that the link is pointing to an actual X server and is not a dead symlink.
Another way to do it could be using alternatives, but I'd rather not go there. As for shared /usr, /usr/bin/X would point to /etc/X11/X, which would point to /usr/bin/X<whatever>, allowing each system to customize the X link to a different server if desired.
Another possibility, is to have /usr/bin/X be a wrapper script instead of a symlink, and have it source a config file that specifies the X server to use, and perhaps other stuff. That way there would be a single config file that would set the default X server for:
gdm, kdm, xdm, startx, xinit
Avoiding any symlink issues, and allowing all of the above programs to simply invoke /usr/bin/X. The config file would reside in /etc somewhere (/etc/sysconfig/Xserver?), thus allowing it to work on shared /usr systems also.
Anyway, just some ideas to toss around, as it seems a bit backwards to hard code X server name in multiple packages, to have to change it over time as the OS changes, if it can be configurable and adaptable with little pain. I'm thinking more about the end users here than anything, as they're the ones least likely to know they have to edit gdm.conf or kdm.conf or <insert other item>, etc. For tech types it isn't a huge issue, but I'm sure it'll generate a lot of mailing list questions, etc. ;)