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 |