summaryrefslogtreecommitdiff
path: root/config/XKeepsCrashing
diff options
context:
space:
mode:
Diffstat (limited to 'config/XKeepsCrashing')
-rwxr-xr-xconfig/XKeepsCrashing84
1 files changed, 57 insertions, 27 deletions
diff --git a/config/XKeepsCrashing b/config/XKeepsCrashing
index fd4aac4c..68c013de 100755
--- a/config/XKeepsCrashing
+++ b/config/XKeepsCrashing
@@ -1,22 +1,10 @@
#!/bin/sh
-# DO NOTE! This script may get more arguments in the future, if you set up
-# a custom one keep that in mind. You should only ever rely on the first
-# and second argument. Maybe I should figure out a better way to do the
-# translations
-
-# This script gets some arguments, they are translated messages like (not
-# word by word obviously)
-#
-# The first argument is the X setup proggie to run
-# The second argument is a temporary file we can use
-#
-# $3 = 'Your X server is b0rk I will disable this server'
-# $4 = 'Would you like to try to reconfigure your server?"
-# $5 = 'Please type in the root password'
-# $6 = 'I will now restart the X server again'
-# $7 = 'I will disable this X server'
-# $8 = 'Your X server is b0rk, do ya wanna view X logs?'
+MSG3=`gettext -s _"I cannot start the X server (your graphical interface). It is likely that it is not set up correctly. You will need to log in on a console and rerun the X configuration program. Then restart GDM."`
+MSG4=`gettext -s "Would you like me to try to run the X configuration program? Note that you will need the root password for this."`
+MSG5=`gettext -s "Please type in the root (privilaged user) password."`
+MSG6=`gettest -s "I will now try to restart the X server again."`
+MSG7=`gettext -s "I will disable this X server for now. Restart GDM when it is configured correctly."`
# there are some env vars defined:
# XLOG = the log file for the X server
@@ -27,10 +15,52 @@
# 0 = try again, runs this server again
# 1 = abort this display, removes this server from the list
# 32 = something went very wrong, things will just get logged.
-# this means this script didn't work so do alternative things
+# this means this script didnt work so do alternative things
# to tell the user if possible
-# we require "gdmopen", to open a console, because we really don't
+
+#
+# If this is a mouse problem try mouseconfig
+#
+if grep '^Cannot open mouse ' "$XLOG" ; then
+
+ MSG8=`gettext -s "I cannot start the X server (your graphical interface). It seems that the pointer device (your mouse) is not set up correctly. Would you like to view the X server output to diagnose the problem?"`
+
+ XCONFIGURATOR=
+ if test -x /usr/sbin/mouseconfig ; then
+ XCONFIGURATOR=/usr/sbin/mouseconfig
+ # Note: we know this is a mouse problem and yay we have mouseconfig
+ MSG4=`gettext -s "Would you like me to try to run the mouse configuration program? Note that you will need the root password for this."`
+ else
+ if test -x /usr/bin/X11/XF86Setup ; then
+ XCONFIGURATOR=/usr/bin/X11/XF86Setup
+ else
+ if test -x /usr/bin/X11/Xconfigurator ; then
+ XCONFIGURATOR=/usr/bin/X11/Xconfigurator
+ fi
+ fi
+ fi
+
+else
+
+ MSG8=`gettext -s "I cannot start the X server (your graphical interface). It is likely that it is not set up correctly. Would you like to view the X server output to diagnose the problem?"`
+
+ XCONFIGURATOR=
+ if test -x /usr/bin/X11/XF86Setup ; then
+ XCONFIGURATOR=/usr/bin/X11/XF86Setup
+ else
+ if test -x /usr/bin/X11/Xconfigurator ; then
+ XCONFIGURATOR=/usr/bin/X11/Xconfigurator
+ fi
+ fi
+
+fi
+
+if test x$XCONFIGURATOR = x ; then
+ exit 32
+fi
+
+# we require 'gdmopen', to open a console, because we really dont
# have one. Perhaps someone should try to figure out some shell
# black magic to get this to work on other then linux systems
if test ! -x $SBINDIR/gdmopen ; then
@@ -66,27 +96,27 @@ clear
if test x = x$SETUP -o x = x$DIALOG ; then
echo =======================================================================
echo
- cat $XLOG
+ cat "$XLOG"
echo
echo =======================================================================
echo
- echo "$3"
+ echo "$MSG3"
echo
echo =======================================================================
read
exit 1
fi
-if $DIALOG --yesno "$8" 10 50 ; then
+if $DIALOG --yesno "$MSG8" 10 50 ; then
$DIALOG --textbox $XLOG 22 76
fi
-if $DIALOG --yesno "$4" 10 50 ; then
+if $DIALOG --yesno "$MSG4" 10 50 ; then
clear
echo
- echo "$5"
+ echo "$MSG5"
if test x$ASKPASS = x ; then
- # dirty trick to fool su into asking the root password even if we're
+ # dirty trick to fool su into asking the root password even if were
# root
su nobody -c "su -c $SETUP"
else
@@ -95,9 +125,9 @@ if $DIALOG --yesno "$4" 10 50 ; then
fi
fi
clear
- $DIALOG --msgbox "$6" 8 50
+ $DIALOG --msgbox "$MSG6" 8 50
exit 0
else
- $DIALOG --msgbox "$7" 8 50
+ $DIALOG --msgbox "$MSG7" 8 50
exit 1
fi