diff options
author | James Meyer <James.meyer@operamail.com> | 2008-10-02 03:19:12 (GMT) |
---|---|---|
committer | James Meyer <James.meyer@operamail.com> | 2008-10-02 03:19:12 (GMT) |
commit | 0e2532d4e8f4eed5e047f1db54d5c03ba849ec0a (patch) | |
tree | c0aa2c0b53c317be87eacfcb77b63f53f1f415e7 /abs/core/linhes-live/etc/ulogin | |
download | linhes_pkgbuild-0e2532d4e8f4eed5e047f1db54d5c03ba849ec0a.zip linhes_pkgbuild-0e2532d4e8f4eed5e047f1db54d5c03ba849ec0a.tar.gz linhes_pkgbuild-0e2532d4e8f4eed5e047f1db54d5c03ba849ec0a.tar.bz2 |
initial import
Diffstat (limited to 'abs/core/linhes-live/etc/ulogin')
-rwxr-xr-x | abs/core/linhes-live/etc/ulogin | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/abs/core/linhes-live/etc/ulogin b/abs/core/linhes-live/etc/ulogin new file mode 100755 index 0000000..085c431 --- /dev/null +++ b/abs/core/linhes-live/etc/ulogin @@ -0,0 +1,57 @@ +#!/bin/bash + +# ulogin - A script for autologin of a selected user (and more) +#----------------------------------------------------------------- +# 2008.04.06 + +user=$( cat /tmp/newuser 2>/dev/null ) + +rm -f /tmp/newuser +rm -f /tmp/xlogout + +if [ -n "${user}" ]; then + login -f ${user} +else + # offer choice of user + ulist="$( cat /etc/passwd | grep ':/home/.*sh$' )" + echo -e "\nLogin a user or quit:" + echo " 0 : root" + echo " 1 : REBOOT" + echo " 2 : HALT" + + i=2 + for entry in ${ulist}; do + i=$(( ${i} + 1 )) + user="$( echo ${entry} | cut -d':' -f1 )" + users[${i}]=${user} + printf "%4d : %s\n" ${i} ${user} + done + while true; do + read -p "Enter a number from 0 to ${i} : " n + if [ "${n}" = 0 ]; then + login -f root + elif [ "${n}" = 1 ]; then + exec reboot + elif [ "${n}" = 2 ]; then + exec halt + elif [ -n "$( echo "${n}" | grep "^[0-9]\+$" )" ] && \ + [ -n "${users[${n}]}" ]; then + login -f ${users[${n}]} + else + echo " *** Invalid choice ..." + continue + fi + break + done +fi + +if grep "r" /tmp/xlogout &>/dev/null; then + reboot +elif grep "h" /tmp/xlogout &>/dev/null; then + halt +fi + +# This file is only needed for shutting down +rm -f /tmp/checkse + +# End |