Intelligentes Xterm für Skripte

Sucht noch einen Platz:

Wenn man eigentlich immer nur die Maus schubs, kommt es doch mal vor, dass man auf ein Skripticon klickt und dann eigentlich gerne eine Konsole sehen möchte. Um das bei den eigenen Skripten zu erreichen fügt man einfach diesen Teil am Anfang des Skripts ein:

if ! tty -s; then                 # Do we have a terminal?
  if [ x"$DISPLAY" != x -a x"$xterm_loop" = x ]; then  # No, but do we have X?
    if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable
        GUESS_XTERMS="xt.black xterm dtterm eterm Eterm rxvt kvt konsole aterm"
        for a in $GUESS_XTERMS; do
        if which $a >/dev/null 2>&1; then
                XTERM=$a
                break
        fi
        done
        chmod a+x $0 || echo Please add execution rights on $0
      if [ `echo "$0" | cut -c1` = / ]; then # Spawn a terminal!
             exec $XTERM -title "$0" -e "$0" -xwin "$@"
             else
             exec $XTERM -title "$0" -e "./$0" -xwin "$@"
      fi
    fi
  fi
fi

# Beispielskript:
less /proc/mounts

Die Reihenfolge der Terminalemulatoren (GUESS_XTERM) legt die Priorität derselben fest (Priorität nach hinten absteigend).


Änderungen in den Skripten bitte Kommentieren!


UliBaur/BashSkripte (zuletzt geändert am 2007-12-23 22:46:20 durch localhost)