slitaz-tools annotate tinyutils/slitaz-config @ rev 852

Add doc/post-install.txt and slitaz.config can now add a user and display a welcome post messages (for ARM)
author Christophe Lincoln <pankso@slitaz.org>
date Fri Apr 18 14:20:43 2014 +0200 (2014-04-18)
parents 72c0e329d62f
children 59ac61f85a23
rev   line source
pankso@840 1 #!/bin/sh
pankso@840 2 #
pankso@840 3 # SliTaz Config - A tool with all SliTaz Ncurses configs in one place for
pankso@840 4 # text mode systems (server, ARM devices)
pankso@840 5 #
pankso@840 6 # Copyright (C) 2014 SliTaz ARM - BSD License
pankso@840 7 # Author: Christophe Lincoln <pankso@slitaz.org>
pankso@840 8 #
pankso@840 9 . /lib/libtaz.sh
pankso@840 10 check_root
pankso@840 11
pankso@840 12 title="{ SliTaz Config }"
pankso@840 13 tmpdir="/tmp/$(basename $0)"
pankso@840 14 tmp="$tmpdir/$$"
pankso@840 15 height="20"
pankso@840 16 width="72"
pankso@840 17
pankso@840 18 # Use a tmp directory
pankso@840 19 mkdir -p ${tmpdir}
pankso@840 20
pankso@840 21 #
pankso@840 22 # GUI Functions
pankso@840 23 #
pankso@840 24
pankso@852 25 about_post_install() {
pankso@852 26 #/usr/share/doc/slitaz/post-install.txt
pankso@852 27 dialog --cr-wrap \
pankso@852 28 --title "{ Post Installation }" \
pankso@852 29 --exit-label "Continue" \
pankso@852 30 --textbox "./tinyutils/post-install.txt" ${height} ${width}
pankso@852 31 }
pankso@852 32
pankso@840 33 # Set root passwd
pankso@840 34 root_passwd() {
pankso@852 35 dialog --title "{ Root Password }" \
pankso@852 36 --inputbox "\nEnter new root password:" \
pankso@852 37 12 ${width} 2>${tmp}
pankso@840 38 passwd=$(cat $tmp)
pankso@840 39 [ "$passwd" == "" ] && return 0
pankso@840 40 echo "root:$passwd" | chpasswd --md5
pankso@840 41 }
pankso@840 42
pankso@852 43 # Add a new user
pankso@852 44 add_user() {
pankso@852 45 title="{ Add User }"
pankso@852 46 dialog --title "$title" \
pankso@852 47 --inputbox "\nEnter new user name login:" 12 ${width} 2>${tmp}
pankso@852 48 user=$(cat $tmp)
pankso@852 49 [ "$user" == "" ] && return 0
pankso@852 50 dialog --title "$title" \
pankso@852 51 --inputbox "\nEnter password for $user:" 12 ${width} 2>${tmp}
pankso@852 52 passwd=$(cat $tmp)
pankso@852 53 [ "$passwd" == "" ] && return 0
pankso@852 54 adduser -D -g "SliTaz User" -G users ${user}
pankso@852 55 # User groups
pankso@852 56 for group in audio cdrom video tty; do
pankso@852 57 addgroup ${user} ${group}
pankso@852 58 done
pankso@852 59 # Slim default user on post-install
pankso@852 60 if [ -f "/etc/slim.conf" ] && [ ! -f "/var/lib/slitaz/post-install" ]; then
pankso@852 61 sed -i s"/default_user .*/default_user $user/" /etc/slim.conf
pankso@852 62 fi
pankso@852 63 }
pankso@852 64
pankso@840 65 set_date() {
pankso@840 66 clear && newline
pankso@840 67 echo -n "Old date:"; date
pankso@852 68 rdate -s tick.greyware.com 2>/dev/null
pankso@840 69 echo -n "New date:"; date
pankso@840 70 sleep 4
pankso@840 71 }
pankso@840 72
pankso@840 73 # Main Dialog menu
pankso@840 74 main_box() {
pankso@840 75 dialog \
pankso@840 76 --clear --title "$title" \
pankso@840 77 --ok-label "Exec" --cancel-label "Quit" \
pankso@840 78 --menu "" ${height} ${width} 14 \
pankso@840 79 "keyboard" "$(gettext 'System keyboard setting')" \
pankso@840 80 "locale" "$(gettext 'System language setting')" \
pankso@852 81 "add-user" "$(gettext 'Change root password')" \
pankso@840 82 "root-passwd" "$(gettext 'Change root password')" \
pankso@840 83 "set-date" "$(gettext 'Set system date from the web')" \
pankso@840 84 "quit" "$(gettext 'Exit from SliTaz Config')" 2>${tmp}
pankso@840 85
pankso@840 86 # Handle options
pankso@840 87 opt=${?}
pankso@840 88 case "$opt" in
pankso@840 89 1|255) rm -rf ${tmpdir} && exit 0 ;;
pankso@840 90 esac
pankso@840 91
pankso@840 92 # Handle actions
pankso@840 93 action=$(cat $tmp)
pankso@840 94 case "$action" in
pankso@840 95 keyboard) tazkeymap ;;
pankso@840 96 locale) tazlocale ;;
pankso@852 97 add-user) add_user ;;
pankso@840 98 root-passwd) root_passwd ;;
pankso@840 99 set-date) set_date ;;
pankso@840 100 quit) rm -rf ${tmpdir} && exit 0 ;;
pankso@840 101 esac
pankso@840 102 }
pankso@840 103
pankso@840 104 #
pankso@840 105 # Handle commands
pankso@840 106 #
pankso@840 107
pankso@840 108 case "$1" in
pankso@840 109 *_*)
pankso@840 110 # Execute functions
pankso@840 111 $@ ;;
pankso@840 112 *)
pankso@840 113 while true; do
pankso@840 114 main_box
pankso@840 115 done ;;
pankso@840 116 esac
pankso@840 117
pankso@840 118 # Clean exit
pankso@840 119 rm -rf ${tmpdir}
pankso@840 120 exit 0