[239] in athena10
Graphical login session configuration
daemon@ATHENA.MIT.EDU (ghudson@MIT.EDU)
Tue Jun 10 16:38:53 2008
Date: Tue, 10 Jun 2008 16:38:08 -0400 (EDT)
From: ghudson@MIT.EDU
Message-Id: <200806102038.m5AKc8Hm014175@outgoing.mit.edu>
To: athena10@mit.edu
I am currently working on fleshing out debathena-workstation to make
graphical logins more Athena-like.
First, the things we want to accomplish as part of graphical logins by
default, in rough order of declining importance for the preview
release:
1. Run zwgc
2. Display get_message and lert messages
3. Panel menu items for high-profile locker software like Matlab
4. Run authwatch or equivalent (requires grenew in panel menus)
5. Run quotawarn or equivalent
6. Display the Quickstation annoyance timer on Quickstations
Also, some corner cases to take into account (not necessarily right
away):
1. People who still use dash. I'm willing to make them select an
option in gdm each time they log in.
2. Homedirs with broken dotfiles, over-quota homedirs, and homedirs
which are inaccessible due to outages. These cases can be
addressed with a failsafe session; the stock Ubuntu configuration
seems to have a suitable one. If we want to go the extra mile, we
could detect common Athena-specific failure cases (like being over
quota) and kick off a failsafe session with an explanation of
what's wrong.
3. Perhaps people logging into local accounts should not get Athena
session customizations.
To handle these we need standard mechanisms to, at a minimum:
1. Run commands as part of the default user login, but possibly only
for Athena users, and with a way to opt out.
2. Add panel menu items.
I believe (2) is as simple as dropping .desktop files into
/usr/share/applications. In the past we wanted to give the Faculty
Liaisons control over what the panel menus contained, but no one on
that side of Athena is exercising that power, so we can just create a
debathena-locker-software-panel-menu-items package (with a better
name) for all of the locker software we want to advertise in that
form. grenew can also add its own menu item as part of the Debian
packaging.
Do people have opinions on the best way to do (1)? From poking
around, I've observed the following possible integration points in
Hardy (assuming we no longer want to replace gdm or gnome-session like
we do in 9.4):
* Modify BaseXsession and/or SessionDesktopDir in gdm.conf.
* Add scripts to /etc/X11/Xsession.d; they will get sourced by the
standard gdm BaseXsession script.
* Add .desktop files to one of the SessionDesktopDir directories.
We can't override the default session this way (without diverting
/usr/share/gdm/BuiltInSessions/default.desktop) but we could add a
dash/mwm session that way.
* Integration inside gnome-session. I believe this is only an
option for programs which are X session clients, so it's not very
convenient. See release-77 [5519] and [5520] for some
investigation I did on that front two years ago.