You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
calculate-utils-2.1-client/data/login

76 lines
1.9 KiB

#! /bin/sh
# set background color
xsetroot -solid rgb:5F/75/83
xmes() {
xmessage -buttons OK:0 -default OK "`echo \"$1:
$2\" | iconv -f utf8 -t koi8-r - `"
}
if [[ "`ps axeo command | grep xdm/logout | grep -v grep | \
sed -n -r 's/.* USER=([^ ]+) .*/\1/p'`" == "$USER" ]];
then
xmessage -buttons "" "Please wait to ending previous session" &
while [[ "`ps axeo command | grep xdm/logout | grep -v grep | \
sed -n -r 's/.* USER=([^ ]+) .*/\1/p'`" == "$USER" ]]
do
sleep 1
done
kill -9 `ps ax | sed -n -r '/grep/!{s/([0-9]+) .*xmessage -buttons Please.*/\1/p}'` &>/dev/null
fi
env-update
source /etc/profile
PATH_LOG='/var/log/calculate'
FILE_LOG="${PATH_LOG}/cl_login-error.log"
if [ ! -e $PATH_LOG ];
then
# Создадим директорию логов
mkdir $PATH_LOG
fi
# если права на файл не ровны
if [[ "`stat /var/log/calculate | sed -n -r '/Access: \(/ {s/.*\([0-9]([^/]+).*/\1/;p}'`" != "755" ]];
then
chmod 755 $PATH_LOG
fi
# Очистим лог ошибок
echo -n "" > $FILE_LOG
if [ -e '/usr/bin/cl-sync' ];
then
ERRORLOG=`/usr/bin/cl-sync --progress --color=never --login $USER 2>&1`
# при неудачном выполнении, сгенерируем ошибку
if [ "$?" -gt "0" ];
then
echo "$ERRORLOG" >> $FILE_LOG
xmes cl-sync "$ERRORLOG"
exit 1
fi
fi
if [ -e '/usr/bin/cl-createhome' ];
then
ERRORLOG=`/usr/bin/cl-createhome --progress --color=never $USER 2>&1`
# при неудачном выполнении, сгенерируем ошибку
if [ "$?" -gt "0" ];
then
echo "$ERRORLOG" >> $FILE_LOG
ERRORLOG2=`/usr/bin/cl-sync --color=never --logout --nosync $USER 2>&1`
if [ "$?" -gt "0" ];
then
xmes cl-sync "$ERRORLOG2"
fi
xmes cl-createhome "$ERRORLOG"
exit 1
fi
fi
#очистим кэш
/bin/rm -rf /var/tmp/kdecache-$USER
exit 0