redirect check4root output to /dev/null; added check for $WINDOWMANAGER and use...
authorMichael Prokop <mika@grml.org>
Mon, 26 Mar 2007 20:13:22 +0000 (22:13 +0200)
committerMichael Prokop <mika@grml.org>
Mon, 26 Mar 2007 20:13:22 +0000 (22:13 +0200)
debian/changelog
grml-x

index 29046e8..6ff8ce9 100644 (file)
@@ -11,6 +11,8 @@ grml-x (0.3.18) unstable; urgency=low
   * Work around the 'intel' driver problem [Closes: issue177]
   * Support fallback option [Closes: issue169]
   * Do not run hwinfo if not really necessary [Closes: issue168]
+  * Check whether $WINDOWMANAGER is executable at all before using
+    it in $XINITRC.
 
  -- Michael Prokop <mika@grml.org>  Mon, 26 Mar 2007 19:40:15 +0200
 
diff --git a/grml-x b/grml-x
index 4b7594c..2838769 100755 (executable)
--- a/grml-x
+++ b/grml-x
@@ -4,7 +4,7 @@
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # License:       This file is licensed under the GPL v2.
-# Latest change: Mon Mär 26 21:26:31 CEST 2007 [mika]
+# Latest change: Mon Mär 26 22:11:44 CEST 2007 [mika]
 ################################################################################
 
 # debugging {{{
@@ -29,7 +29,7 @@
     exit 1
   fi
 
-  check4root && ROOT='1' || ROOT=''
+  check4root &>/dev/null && ROOT='1' || ROOT=''
 # }}}
 
 # set variables  {{{
@@ -788,10 +788,10 @@ function runit
     print ""
     if [ -z "$DISPLAY" ] ; then
       print "$bold_color$fg[green]Now trying to run startx.$reset_color"
-      startx ~/.xinitrc -- $XOPTS
+      startx $XINITRC -- $XOPTS
     else
       print "$bold_color$fg[green]Now trying to run startx on display $DISPLAY.$reset_color"
-      startx ~/.xinitrc -- :$DISPLAY $XOPTS
+      startx $XINITRC -- :$DISPLAY $XOPTS
     fi
   else
     print "$bold_color$fg[blue]Not running startx as requested via option.$reset_color"
@@ -873,6 +873,10 @@ cleanup
 # }}}
 
 # xinitrc {{{
+  if ! [ -x "$(which $WINDOWMANAGER)" ] ; then
+     print "$bg[black]$fg[red]${bold_color}Fatal: windowmanager $fg[blue]$WINDOWMANAGER$fg[red] not executable, startx won' work.${reset_color}">&2
+     bailout
+  fi
   if [ -w "$XINITRC" ] ; then
     sed -i "s|^[^#]*exec.*|  exec $WINDOWMANAGER|g" $XINITRC
     runit || failed