X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=grml-x;h=6cf4906a13a1f7b55c1892883ec46aba5dc0be26;hb=516a12154c2055e87016ad06fe13bf24242a190a;hp=62d2c5ae979ad5a5c9a7bd5ef56da238cce6c0be;hpb=0cad33639c16146cf494e96cdb4efca1b170d2df;p=grml-x.git diff --git a/grml-x b/grml-x index 62d2c5a..6cf4906 100755 --- a/grml-x +++ b/grml-x @@ -4,16 +4,8 @@ # 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: Die Sep 04 01:44:19 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 @@ -47,9 +39,16 @@ [ -n "$XINITRC" ] || XINITRC="$HOME/.xinitrc" # temporary files - HWINFO_TMP="/tmp/hwinfo.$$" - MONITORINFO="/tmp/monitorinfo.$$" - MOUSEINFO="/tmp/mouse.$$" + # notice: we need the unsafe option, otherwise users other than root + # can not write to HWINFO_TMP, but we don't want to run hwinfo as root + HWINFO_TMP="$(mktemp -u)" || exit 1 + MONITORINFO="$(mktemp)" || exit 1 + MOUSEINFO="$(mktemp)" || exit 1 + + if [ -z "$HWINFO_TMP" ] ; then + echo "Fatal: could not create temporary file. Exiting.">&2 + bailout 1 + fi if [ -r /etc/sysconfig/keyboard ] ; then source /etc/sysconfig/keyboard @@ -128,17 +127,16 @@ Usage: $PROGRAMNAME $PROGRAMNAME [-options] windowmanager Usage examples: - $PROGRAMNAME wmii $PROGRAMNAME fluxbox - $PROGRAMNAME openbox + $PROGRAMNAME fluxbox $PROGRAMNAME -force -nostart fluxbox $PROGRAMNAME -nosynaptics fluxbox $PROGRAMNAME -nosync fluxbox - $PROGRAMNAME -noddc wmii - $PROGRAMNAME -xinerama -composite wmii - $PROGRAMNAME -module radeon -mode 1024x768 -vsync 60 openbox - XINITRC=~/.xinitrc $PROGRAMNAME openbox - $PROGRAMNAME -display 8 openbox + $PROGRAMNAME -noddc fluxbox + $PROGRAMNAME -xinerama -composite fluxbox + $PROGRAMNAME -module radeon -mode 1024x768 -vsync 60 fluxbox + XINITRC=~/.xinitrc $PROGRAMNAME fluxbox + $PROGRAMNAME -display 8 fluxbox More information on grml-x can be found in the manual page: man grml-x @@ -682,7 +680,7 @@ cat << EOX # /usr/share/doc/xserver-xorg/ and # http://wiki.x.org/wiki/Home and # http://ftp.x.org/pub/X11R7.0/doc/html/index.html for information on Xorg -# +# # Refer to the xorg.conf man page and to # http://ftp.x.org/pub/X11R7.0/doc/html/xorg.conf.5.html # for details about the format of this file. @@ -700,13 +698,14 @@ Section "ServerLayout" Screen 0 "Screen0" 0 0 # InputDevice "Keyboard0" "CoreKeyboard" # InputDevice "Generic Mouse" "CorePointer" + Option "AutoAddDevices" "off" # do not depend on running dbus/hal $MOUSE EndSection Section "ServerFlags" Option "AllowMouseOpenFail" "true" # allows the server to start up even if the mouse does not work Option "DontVTSwitch" "false" # allow switching between virtual terminal - # Option "DontZap" "true" # disable (server abort) + Option "DontZap" "false" # enable (server abort) # Option "DontZoom" "true" # disable / (resolution switching) EndSection @@ -725,16 +724,16 @@ Section "Module" Load "dbe" # double buffer extension Load "dri" # direct rendering Load "glx" # 3D layer / GLX extension - Load "type1" # type1 font module - Load "freetype" # freetype fonts rendering 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 "freetype" # freetype fonts rendering # Load "i2c" # I2C bus # Load "int10" # initialize graphics cards via int10 call to the BIOS + # Load "type1" # type1 font module # Load "v4l" # Video for Linux + # Load "vbe" # Vesa BIOS Extension ## Deprecated/unneeded modules with Xorg >=7.0: # Load "speedo" # font module (does not exist anymore) # Load "ddc" # ddc probing of monitor (automatically loaded) @@ -853,7 +852,7 @@ EOX # writeit {{{ writeit() { - XCONFTMP="/tmp/xconfig.$$" + XCONFTMP="$(mktemp)" xconfig > $XCONFTMP # we do not want to have two CorePointers, deactivate one therefore if grep -Eq '^[[:space:]]+InputDevice[ ]+"USB Mouse"[ ]+"CorePointer"' $XCONFTMP ; then @@ -911,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 } # }}}