#!/bin/sh
# Filename: zsh-login
-# Purpose: run zsh with login option
+# 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: Son Mai 28 14:20:08 CEST 2006 [mika]
+# Latest change: Mit Jän 23 11:27:27 CET 2008 [mika]
################################################################################
+. /etc/grml/sh-lib
+
[ -r /etc/grml_version ] && GRMLVERSION=$(cat /etc/grml_version) || GRMLVERSION='(no version information available)'
-echo "
+# 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
+
+# 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
+
+CMDLINE=$(cat /proc/cmdline)
+case "$CMDLINE" in
+ # allow customized startup via bootoption 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
+ flite -o play -t "Finished booting"
+ fi
+ ;;
-Welcome to grml ${GRMLVERSION}!
+ # do nothing if booting with 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
+ 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
+if grep -q nowelcome /proc/cmdline 2>/dev/null ; then
+ echo
+else
+ echo "
+
+Welcome to ${GRMLVERSION}!
New to grml? Want to read some documentation?
Start via running 'grml-info'.
Happy hacking! http://grml.org/
"
-
-[ -r /etc/release_info ] && cat /etc/release_info
-
-if [ -x /usr/bin/flite ] ; then
- CMDLINE=$(cat /proc/cmdline)
- case "$CMDLINE" in
- *swspeak*|*blind*|*brltty*|*speakup*) flite -o play -t "Finished booting" ;;
- esac
fi
exec /bin/zsh -l