tags 230422 + patch thanks [Brice Goglin] > Find some maintainers for X in Debian :)
Do not know how to do that, but I do know how to make a patch implementing the change I want. This patch implement the Xreset.d framework. When it is in place, the next step is to get the display manager maintainers to use it, ie get their own Xreset script to use /etc/X11/Xreset. With Debian Edu, we need a way to run stuff as root when a user log out. We did consider pam, but pam modules are running as the user itself during logout, and do not allow all the operations we want to do during logout. Happy hacking, -- Petter Reinholdtsen
diff -urN xorg-7.5+3/debian/local/Xreset xorg-7.5+3-pere/debian/local/Xreset --- xorg-7.5+3/debian/local/Xreset 1970-01-01 01:00:00.000000000 +0100 +++ xorg-7.5+3-pere/debian/local/Xreset 2010-02-26 09:49:13.000000000 +0100 @@ -0,0 +1,34 @@ +#!/bin/sh +# +# /etc/X11/Xreset +# +# global Xreset file -- for use by display managers + +# $Id: Xsession 967 2005-12-27 07:20:55Z dnusinow $ + +set -e + +PROGNAME=Xreset +SYSSESSIONDIR=/etc/X11/Xreset.d + +if [ ! -d "$SYSSESSIONDIR" ]; then + # Nothing to do, exiting + exit 0 +fi + +# use run-parts to source every file in the session directory; we source +# instead of executing so that the variables and functions defined above +# are available to the scripts, and so that they can pass variables to each +# other +SESSIONFILES=$(run-parts --list $SYSSESSIONDIR) +if [ -n "$SESSIONFILES" ]; then + set +e + for SESSIONFILE in $SESSIONFILES; do + . $SESSIONFILE + done + set -e +fi + +exit 0 + +# vim:set ai et sts=2 sw=2 tw=80: diff -urN xorg-7.5+3/debian/local/Xreset.d/README xorg-7.5+3-pere/debian/local/Xreset.d/README --- xorg-7.5+3/debian/local/Xreset.d/README 1970-01-01 01:00:00.000000000 +0100 +++ xorg-7.5+3-pere/debian/local/Xreset.d/README 2010-02-26 09:50:03.000000000 +0100 @@ -0,0 +1,2 @@ +Scripts in this directory are executed as root when a user log out from +a display manager using /etc/X11/Xreset. diff -urN xorg-7.5+3/debian/rules xorg-7.5+3-pere/debian/rules --- xorg-7.5+3/debian/rules 2010-01-27 16:55:10.000000000 +0100 +++ xorg-7.5+3-pere/debian/rules 2010-02-26 09:53:38.000000000 +0100 @@ -83,6 +83,8 @@ dh_link dh_compress dh_fixperms + chown root:root debian/x11-common/etc/X11/Xreset + chmod 755 debian/x11-common/etc/X11/Xreset chown root:root debian/x11-common/etc/X11/Xsession chmod 755 debian/x11-common/etc/X11/Xsession dh_installdeb diff -urN xorg-7.5+3/debian/x11-common.dirs xorg-7.5+3-pere/debian/x11-common.dirs --- xorg-7.5+3/debian/x11-common.dirs 2010-01-27 16:55:10.000000000 +0100 +++ xorg-7.5+3-pere/debian/x11-common.dirs 2010-02-26 09:50:42.000000000 +0100 @@ -1,4 +1,5 @@ etc/X11/Xresources +etc/X11/Xreset.d etc/X11/Xsession.d usr/include/X11 usr/lib/X11 diff -urN xorg-7.5+3/debian/x11-common.install xorg-7.5+3-pere/debian/x11-common.install --- xorg-7.5+3/debian/x11-common.install 2010-01-27 16:55:10.000000000 +0100 +++ xorg-7.5+3-pere/debian/x11-common.install 2010-02-26 09:51:05.000000000 +0100 @@ -1,4 +1,6 @@ debian/local/rgb.txt etc/X11 +debian/local/Xreset etc/X11 +debian/local/Xreset.d/* etc/X11/Xreset.d debian/local/Xsession etc/X11 debian/local/Xsession.d/* etc/X11/Xsession.d debian/local/Xsession.options etc/X11