Always execute grml-quickconfig if available.
[grml-scripts.git] / usr_bin / zsh-login
index a343790..e32a17a 100755 (executable)
@@ -1,81 +1,88 @@
-#!/bin/sh
+#!/bin/bash
 # Filename:      zsh-login
 # Purpose:       customized zsh login welcome screen for use at grml
 # 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: Fre Dez 21 22:12:06 CET 2007 [mika]
 ################################################################################
 
 . /etc/grml/sh-lib
 
 [ -r /etc/grml_version ] && GRMLVERSION=$(cat /etc/grml_version) || GRMLVERSION='(no version information available)'
-
-# allow customized release information
-[ -r /etc/release_info ] && cat /etc/release_info
-
 PATH=$HOME/bin:/bin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/games:/home/grml/bin
-
 CMDLINE=$(cat /proc/cmdline)
+[ -n "$distri" ] || distri="grml"
+
+# Activate unicode console if running within utf8 environment
+# Dirty hack to fix unicode issue on amd64...
+# unicode_start during bootprocess just does not work reliable :(
+NUM_CONSOLES=12
+if [ -r /etc/default/locale ] ; then
+   if grep -q "LANG=.*UTF" /etc/default/locale ; then
+       for vc in `seq 1 ${NUM_CONSOLES}` ; do
+           echo -n -e '\033%G' > /dev/tty${vc}
+       done
+       kbd_mode -u
+       dumpkeys | loadkeys --unicode > /dev/null
+   fi
+fi
+
 case "$CMDLINE" in
    # allow customized startup via bootoption startup:
-   *startup*)
+   *startup=*)
        script="$(getBootParam startup)"
        if [ -x $(which $script) ] ; then
           $script
        fi
        ;;
    # turn on speakers for accessibility users:
-   *swspeak*|*blind*|*brltty*|*speakup*)
-      if [ -x /usr/bin/flite ] ; then
-         aumix -w 90 -v 90 -p 90 -m 90
+   *\ swspeak*|*blind*|*brltty*|*speakup*)
+      if [ $(which flite) ] ; then
          flite -o play -t "Finished booting"
       fi
       ;;
 
-   # do nothing if booting with noquick:
-   noquick)
+   # do nothing if booting with bootoption noquick:
+   *\ noquick*)
       ;;
    *) # by default run grml-quickconfig, but only if running as root
-      if [ $(id -u) = "0" ] ; then
-        # do not run grml-quickconfig on grml-small
-        if ! grep -q small /etc/grml_version ; then
-            [ -x /usr/sbin/grml-quickconfig ] && /usr/sbin/grml-quickconfig
-         fi
+      if [ "$(id -u)" = "0" ] ; then
+         which grml-quickconfig &>/dev/null && grml-quickconfig
       fi
 esac
 
-# display version information depending on the version:
-if grep -q -- '-rc[0-9]' /etc/grml_version 2>/dev/null ; then
-   echo
-   echo
-   echo 'NOTICE: This is a release candidate of grml!'
-   echo 'Please notice that this is not yet a stable release.'
-   echo 'See http://wiki.grml.org/doku.php?id=release_candidate for known issues.'
-   echo 'Please report any bugs you notice: bugs@grml.org'
-   echo
-fi
-
-if grep -q 'grml-live-autobuild' /etc/grml_version 2>/dev/null ; then
-   echo
-   echo
-   echo 'NOTICE: This is a daily snapshot version of grml!'
-   echo 'Please notice that this is not yet a stable release.'
-   echo 'See http://daily.grml.org/ for more details.'
-   echo 'Please report any bugs you notice: daily@grml.org'
-   echo
-fi
-
-# just print out one single line if bootoption nowelcome is present,
-# otherwise print usual welcome screen
+# just print out an empty line if bootoption "nowelcome" is present
 if grep -q nowelcome /proc/cmdline 2>/dev/null ; then
-   echo
-else
-   echo "
+  echo
+# ... otherwise allow customized release information
+elif [ -r /etc/release_info ] ; then
+  cat /etc/release_info
+else # ... or finally fall back to grml's default
+  # display version information depending on the version:
+  if grep -q -- '-rc[0-9]' /etc/grml_version 2>/dev/null ; then
+     echo
+     echo
+     echo 'NOTICE: This is a release candidate version!'
+     echo 'Please notice that this is not yet a stable release.'
+     echo 'See http://wiki.grml.org/doku.php?id=release_candidate for known issues.'
+     echo 'Please report any bugs you notice: bugs@grml.org'
+     echo
+  fi
+
+  if grep -q 'grml-live-autobuild' /etc/grml_version 2>/dev/null ; then
+     echo
+     echo
+     echo 'NOTICE: This is a daily snapshot version!'
+     echo 'Please notice that this is not yet a stable release.'
+     echo 'See http://daily.grml.org/ for more details.'
+     echo 'Please report any bugs you notice: daily@grml.org'
+     echo
+  fi
 
+  echo "
 Welcome to ${GRMLVERSION}!
 
-New to grml? Want to read some documentation?
+New to ${distri}? Want to read some documentation?
 Start via running 'grml-info'.
 Get tips and hints via 'grml-tips \$KEYWORD'.
 New to zsh? Run 'zsh-help'.