[gdm-list] FailsafeXServer - gdm keeps restarting X



Heya,

I am writing a FailsafeXServer handler for Ubuntu[1] but am running into
a gdm issue, where gdm keeps spawning X sessions while the failsafe
server is running.

Here is a test case to recreate the issue:

  1.  Copy your /etc/X11/xorg.conf to /etc/X11/xorg.conf.failsafe
  2.  Invalidate your /etc/X11/xorg.conf by changing your graphics
      driver to "foobar"
  3.  Copy the script listed below[2] to /etc/gdm/failsafeExample
  4.  In /etc/gdm/gdm.conf set the following:
      FailsafeXServer=/etc/gdm/failsafeExample
  5.  /etc/init.d/gdm restart

On my system, this the screen blanks 3 times and then shows the
HellowWorld message box properly.  But after a minute or so, the screen
switches to the whiptail error message saying, "There already appears to
be an X server running on display :0. ....."

I've dug through the source code a bit, but I'm not super familiar with
gdm internals so am not certain what's going on.  I notice in
deal_with_x_crashes() that it sets d->failsafe_xserver = TRUE when it
has a defined failsafe command, and I wonder if perhaps a check for this
simply needs to be added somewhere?

Advice on this would be most appreciated.

Thanks,

Bryce Harrington
bryce canonical com


[1]:  https://blueprints.launchpad.net/ubuntu/+spec/bullet-proof-x

[2]:  /etc/gdm/failsafeExample

#!/bin/bash

client="/usr/bin/zenity"
clientargs="--warning --text HelloWorld "
server=/usr/bin/X
serverargs="-br -once -config /etc/X11/xorg.conf.failsafe"
display=:0

echo "xinit $client $clientargs -- $server $display $serverargs"
xinit $client $clientargs -- $server $display $serverargs



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]