tags 586685 +patch
quit

Hi,

Having said someone should write a patch as suggested in this report, I have gone away and done so. I've tested this a bit, and it seems to DTRT. Please apply it :-)

Cheers,

Matthew
diff -ruN gdm3-3.4.1.orig/debian/36gdm3-xauth gdm3-3.4.1/debian/36gdm3-xauth
--- gdm3-3.4.1.orig/debian/36gdm3-xauth	1970-01-01 01:00:00.000000000 +0100
+++ gdm3-3.4.1/debian/36gdm3-xauth	2012-07-17 16:02:31.984936358 +0100
@@ -0,0 +1,17 @@
+#This file is sourced by Xsession(5), not executed
+
+#Applications tend to assume that .Xauthority is the place to look
+#for X11 authentication. gdm3 sets XAUTHORITY to a session-specific file, 
+#but that breaks some applications, so we copy the data to ~/.Xauthority, with
+#a short timeout in case of locking issues writing there. Assuming that works
+#unset XAUTHORITY (which is equivalent to it being ~/.Xauthority)
+
+#check $XAUTHORITY isn't already ~/.Xauthority
+if [ -n "$XAUTHORITY" -a ! "$XAUTHORITY" -ef "$HOME"/.Xauthority ]
+  then 
+  if timeout 2 xauth -f "$HOME"/.Xauthority merge "$XAUTHORITY"
+     then unset XAUTHORITY
+  else
+    echo "timeout or error writing "$XAUTHORITY" to ~/.Xauthority" >&2
+  fi
+fi
diff -ruN gdm3-3.4.1.orig/debian/control gdm3-3.4.1/debian/control
--- gdm3-3.4.1.orig/debian/control	2012-06-25 19:26:38.000000000 +0100
+++ gdm3-3.4.1/debian/control	2012-07-17 16:00:08.917942797 +0100
@@ -74,7 +74,8 @@
          dconf-tools (>= 0.12.1-2),
          dconf-gsettings-backend (>= 0.12.1-2),
          x11-common (>= 1:7.6+11),
-         x11-xserver-utils
+         x11-xserver-utils,
+         xauth
 Recommends: zenity,
             xserver-xephyr,
             x11-xkb-utils,
diff -ruN gdm3-3.4.1.orig/debian/rules gdm3-3.4.1/debian/rules
--- gdm3-3.4.1.orig/debian/rules	2012-06-20 21:09:59.000000000 +0100
+++ gdm3-3.4.1/debian/rules	2012-07-17 15:59:37.133277603 +0100
@@ -62,6 +62,8 @@
 		mv etc/dconf/profile/gdm usr/share/gdm/dconf-profile && \
 		mv etc/dconf/db/gdm.d usr/share/gdm/dconf && \
 		rmdir etc/dconf/db etc/dconf/profile etc/dconf
+	install -d debian/gdm3/etc/X11/Xsession.d
+	install debian/36gdm3-xauth debian/gdm3/etc/X11/Xsession.d/
 	rm -rf debian/gdm3/usr/include
 	rm -rf debian/gdm3/usr/lib/pkgconfig
 	rm -f debian/gdm3/usr/sbin/gdm

Reply via email to