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

Reply via email to