Modify condition of user home directory configuration.

Now cl-desktop $USER executed if only for domain user or user home
directory empty (or build by skel).
master3.3
Mike Hiretsky 13 years ago
parent 6b8a5c8945
commit eb40ddc15f

@ -14,7 +14,16 @@
# bash functions
# display message by xmessage program with OK buttons
xmes() {
xmessage -buttons OK:0 -default OK "`echo \"$1:
$2\" | iconv -f utf8 -t koi8-r - `"
}
# get calculate-desktop variable
desktop_variable_value()
{
local varname=$1
cl-desktop $USER -vv --filter $varname |
sed -rn "s/^$varname\s+\[[rw]\]\s+(.*)$/\1/p"
}

@ -19,13 +19,24 @@ source /usr/share/calculate/xdm/functions
if [ -e '/usr/bin/cl-desktop' ];
then
ERRORLOG=`/usr/bin/cl-desktop --progress --color=never $USER 2>&1`
# при неудачном выполнении, сгенерируем ошибку
if [ "$?" -gt "0" ];
# skip desktop configure if user not domain and it already has home dir
# with not /etc/skel contents
userHome=`getent passwd $USER | awk -F: '{ print( $6 ); }'`
if [[ "${DOMAIN_USER}" == "on" ]] ||
! [[ -d "${userHome}" ]] ||
[[ -z "`ls ${userHome}`" ]] ||
diff -uq <(ls -A1 /etc/skel | wc) <(ls -A1 ${userHome} | sort) &>/dev/null
then
echo "$ERRORLOG" >> $FILE_LOG
xmes cl-desktop "$ERRORLOG"
exit 1
ERRORLOG=`/usr/bin/cl-desktop --progress --color=never $USER 2>&1`
# raise xmessage error if cl-desktop failed
if [ "$?" -gt "0" ];
then
# write error message to logfile
echo "$ERRORLOG" >> $FILE_LOG
# display error by xmessage
xmes cl-desktop "$ERRORLOG"
exit 1
fi
fi
fi
exit 0

@ -147,10 +147,10 @@ FILELIST=$(find ${EXECDIR} -type f | sort)
[[ $FILELIST ]] || warning "${EXECDIR} hasn't scripts"
gtk_background
DOMAIN_USER="`desktop_variable_value ur_domain_set`"
for script in $FILELIST
do
FILE_LOG=$FILE_LOG /bin/bash $script || die_xmes "failed on execute $script"
FILE_LOG=$FILE_LOG DOMAIN_USER=$DOMAIN_USER /bin/bash $script || die_xmes "failed on execute $script"
done
[[ -n $BG_PID ]] && kill $BG_PID

@ -236,7 +236,7 @@ class desktop(share):
return False
if not flagHomeExists:
self.printSUCCESS(_("Created home dir %s")%homeDir + " ...")
self.printSUCCESS(_("User account is configured") + " ...")
self.printSUCCESS(_("User account %s is configured")%userName + " ...")
return True

Loading…
Cancel
Save