Since that fatal xserver-xorg update, we also have
/etc/init/failsafe-x.conf:
(..)
start on stopped gdm EXIT_STATUS=[!0]
stop on runlevel [06]
task
exec /etc/gdm/failsafeXServer
If kdm is the active display manager, /etc/X11/default-display-manager contains "/usr/bin/kdm", so upstart will try to start both gdm and kdm, but gdm will fail because of the check quoted above. This will emit a stopped gdm event with EXIT_STATUS != 0, which will start /etc/gdm/failsafeXServer. Now both kdm and failsafeXServer are started and we have a problem.
One solution is to add the following line at the start of /etc/gdm/failsafeXServer:
This will terminate failsafeXServer if the default display manager is not gdm.
As a patch for the system configuration:
--------------------------------------------------
--- /etc/gdm/failsafeXServer.orig 2009-12-06 12:42:47.000000000 +0100
+++ /etc/gdm/failsafeXServer 2009-12-06 12:44:09.000000000 +0100
@@ -24,6 +24,8 @@
# not, write to the Free Software Foundation, Inc., 59 Temple Place,
# Suite 330, Boston, MA 02111-1307 USA
and as a patch for the xserver-xorg package:
-------------------------------------------------
diff -ru xorg-ubuntu-git.orig/debian/local/Failsafe/failsafeXServer xorg-ubuntu-git/debian/local/Failsafe/failsafeXServer
--- xorg-ubuntu-git.orig/debian/local/Failsafe/failsafeXServer 2009-11-09 08:58:44.000000000 +0100
+++ xorg-ubuntu-git/debian/local/Failsafe/failsafeXServer 2009-12-06 13:21:02.000000000 +0100
@@ -24,6 +24,8 @@
# not, write to the Free Software Foundation, Inc., 59 Temple Place,
# Suite 330, Boston, MA 02111-1307 USA
If you have both kdm and gdm installed, you have upstart configurations for both of them:
/etc/init/gdm.conf: default- display- manager -o "$(cat /etc/X11/ default- display- manager 2>/dev/null)" = "/usr/sbin/gdm" ]
(..)
script
[ ! -f /etc/X11/
(..)
/etc/init/kdm.conf: default- display- manager -o "$(cat /etc/X11/ default- display- manager 2>/dev/null)" = "/usr/bin/kdm" ]
(..)
script
[ ! -f /etc/X11/
(..)
Since that fatal xserver-xorg update, we also have
/etc/init/ failsafe- x.conf:
(..)
start on stopped gdm EXIT_STATUS=[!0]
stop on runlevel [06]
task
exec /etc/gdm/ failsafeXServer
If kdm is the active display manager, /etc/X11/ default- display- manager contains "/usr/bin/kdm", so upstart will try to start both gdm and kdm, but gdm will fail because of the check quoted above. This will emit a stopped gdm event with EXIT_STATUS != 0, which will start /etc/gdm/ failsafeXServer . Now both kdm and failsafeXServer are started and we have a problem.
One solution is to add the following line at the start of /etc/gdm/ failsafeXServer :
[ ! -f /etc/X11/ default- display- manager -o "$(cat /etc/X11/ default- display- manager 2>/dev/null)" = "/usr/sbin/gdm" ] || exit 0
This will terminate failsafeXServer if the default display manager is not gdm.
As a patch for the system configuration: ------- ------- ------- ------- ------- ------- - failsafeXServer .orig 2009-12-06 12:42:47.000000000 +0100 failsafeXServer 2009-12-06 12:44:09.000000000 +0100
-------
--- /etc/gdm/
+++ /etc/gdm/
@@ -24,6 +24,8 @@
# not, write to the Free Software Foundation, Inc., 59 Temple Place,
# Suite 330, Boston, MA 02111-1307 USA
+[ ! -f /etc/X11/ default- display- manager -o "$(cat /etc/X11/ default- display- manager 2>/dev/null)" = "/usr/sbin/gdm" ] || exit 0 failsafe= ${BPX_XORG_ CONF_FAILSAFE: -"/etc/ X11/xorg. conf.failsafe" } ${BPX_XORG_ CONF:-" /etc/X11/ xorg.conf" } ${BPX_RUN_ DEXCONF: -"yes"} ------- ------- ------- ------- ------- -------
+
xorg_conf_
xorg_conf=
run_dexconf=
-------
and as a patch for the xserver-xorg package: ------- ------- ------- ------- ------- ------- git.orig/ debian/ local/Failsafe/ failsafeXServer xorg-ubuntu- git/debian/ local/Failsafe/ failsafeXServer git.orig/ debian/ local/Failsafe/ failsafeXServer 2009-11-09 08:58:44.000000000 +0100 git/debian/ local/Failsafe/ failsafeXServer 2009-12-06 13:21:02.000000000 +0100
-------
diff -ru xorg-ubuntu-
--- xorg-ubuntu-
+++ xorg-ubuntu-
@@ -24,6 +24,8 @@
# not, write to the Free Software Foundation, Inc., 59 Temple Place,
# Suite 330, Boston, MA 02111-1307 USA
+[ ! -f /etc/X11/ default- display- manager -o "$(cat /etc/X11/ default- display- manager 2>/dev/null)" = "/usr/sbin/gdm" ] || exit 0 failsafe= ${BPX_XORG_ CONF_FAILSAFE: -"/etc/ X11/xorg. conf.failsafe" } ${BPX_XORG_ CONF:-" /etc/X11/ xorg.conf" } ${BPX_RUN_ DEXCONF: -"yes"} ------- ------- ------- ------- ------- -------
+
xorg_conf_
xorg_conf=
run_dexconf=
-------