X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=grml-x;h=a28a5fb283cbbdf3226ad117fee9231e2083fcfc;hb=0b8b42c9650183d8043520731bab56edb40a94d4;hp=97e2ae1d3e8da5ef411386b8db3120b302dacaff;hpb=421a31ad6ada01dae1fb38e9e016b3df1bba5c35;p=grml-x.git diff --git a/grml-x b/grml-x index 97e2ae1..a28a5fb 100755 --- a/grml-x +++ b/grml-x @@ -4,9 +4,15 @@ # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. -# Latest change: Don Jul 12 02:53:42 CEST 2007 [mika] ################################################################################ +# make sure /tmp is writeable {{{ + if ! [ -w /tmp ] ; then + echo 'Fatal: /tmp is not writeable. Can not resume therefore, sorry.' >&2 + exit 1 + fi +# }}} + # debugging {{{ # usage: DEBUG=1 grml-x ..... 2>/tmp/grml-x-debug.log if [[ $DEBUG -gt 0 ]]; then @@ -266,6 +272,7 @@ Just press Ctrl-C to cancel operation. sync() { [ -r "$MONITORINFO" ] || monitor # get monitor settings + [ -r "$MONITORINFO" ] || bailout 1 vsyncval=$(awk '/Vert. Sync Range:/{print $4}' $MONITORINFO | sed 's/-/.0 - / ; s/$/.0/' | head -1) hsyncval=$(awk '/Hor. Sync Range:/{print $4}' $MONITORINFO | sed 's/-/.0 - / ; s/$/.0/' | head -1) if [ -z $vsyncval ] ; then @@ -286,7 +293,7 @@ mouse() if grep -q 'Device:.*Synaptics' "$MOUSEINFO" ; then if [[ "$SYNAPTICS" == "yes" ]] ; then # check for '-nosynaptics'-option MOUSEDRIVER='synaptics' - SYNMOUSE='InputDevice "Synaptics" "AlwaysCore"' + SYNMOUSE='InputDevice "Synaptics" # "AlwaysCore"' SYNMOUSEDETAIL=" Section \"InputDevice\" Driver \"synaptics\" @@ -321,7 +328,7 @@ EndSection if grep -q 'Device:.*ALPS' "$MOUSEINFO" ; then if [[ "$SYNAPTICS" == "yes" ]] ; then # check for '-nosynaptics'-option MOUSEDRIVER='synaptics' - SYNMOUSE='InputDevice "Synaptics" "AlwaysCore"' + SYNMOUSE='InputDevice "Synaptics" # "AlwaysCore"' SYNMOUSEDETAIL=" Section \"InputDevice\" Driver \"synaptics\" @@ -583,6 +590,7 @@ EndSection" writehwinfo # monitor stuff + [ -r "$HWINFO_TMP" ] || bailout 1 MONITOR=$(awk '/monitor.1:/{print $3}' $HWINFO_TMP) [[ $MONITOR != 'ddc' ]] && NODDC=yes @@ -711,7 +719,7 @@ $XFONTS FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" EndSection -# Modules - see /usr/X11R6/lib/modules/fonts and /usr/X11R6/lib/modules/extensions +# Modules - see /usr/lib/xorg/modules/fonts and /usr/lib/xorg/modules/extensions Section "Module" Load "dbe" # double buffer extension Load "dri" # direct rendering @@ -721,6 +729,7 @@ Section "Module" Load "extmod" # some commonly used server extensions (e.g. shape extension) Load "record" # recording extension Load "evdev" # generic input handling driver on Linux + Load "xtrap" # X Trap extension # Load "vbe" # Vesa BIOS Extension # Load "i2c" # I2C bus # Load "int10" # initialize graphics cards via int10 call to the BIOS @@ -883,6 +892,11 @@ $fg[red]" function runit { writeconfig + if [ "$(readlink /etc/X11/X)" = /bin/true ] ; then + print "$bold_color$fg[red]Fatal: /etc/X11/X is a symlink to /bin/true." + print "Fix it via running 'ln -sf /usr/bin/Xorg /etc/X11/X'" + exit 10 + fi if [ -z "$NOSTART" ] ; then print "$reset_color" if [ -x /etc/init.d/xorg-common ] ; then @@ -896,14 +910,15 @@ function runit if [ -z "$DISPLAY" ] ; then print "$bold_color$fg[green]Now trying to run startx.$reset_color" startx $XINITRC -- $XOPTS + return 1 else print "$bold_color$fg[green]Now trying to run startx on display $DISPLAY.$reset_color" startx $XINITRC -- :$DISPLAY $XOPTS + return 1 fi else print "$bold_color$fg[blue]Not running startx as requested via option.$reset_color" fi - return 1 } # }}} @@ -981,7 +996,7 @@ 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 + print "$bg[black]$fg[red]${bold_color}Fatal: windowmanager $fg[blue]$WINDOWMANAGER$fg[red] not executable, startx will not work.${reset_color}">&2 bailout fi if [ -w "$XINITRC" ] ; then