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