#! /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