#!/bin/bash # # Script de Nettoyage de fin de session # # - Supprimer les fichier utilisateurs # - Afficher notification de suppression et de mise à jour # - Lancer les mises à jour a la fermeture invité # DIR_LOGOUT_MSG=/usr/share/backgrounds/message_logout_cybersalle/ # # Bypass bug de lancement de ce script à l'écran de login pour l'invité # timeloged=$(ps -o etime,cmd,user= ax | grep [c]innamon-launcher | grep ${USER} | head -n 1 | sed -e 's/ *//' -e 's/://' -e 's/ .*//') if [ -z $timeloged ] then exit 0 fi # # Suppression des files d'impression # for d in `lpq -a | sed -n '2,$'p | sed -e 's/ \s*/,/g' | cut -d, -f 3` do lprm $d done cancel -a if $(echo $USER | grep "^guest-" | grep -qv "guest-config") then # # Suppression des donnees utilisateur·ices avant mise à jour # guestpath=/home/${USER} if [ -d ${guestpath} ] then echo rm -rf ${guestpath}/* ${guestpath}/.mozilla fi timeloged=$(ps -o etime,cmd,user= ax | grep [c]innamon-launcher | grep ${USER} | head -n 1 | sed -e 's/ *//' -e 's/://' -e 's/ .*//') # # Affichage du message de destruction des données # xviewer -f ${DIR_LOGOUT_MSG}/message_logout_suppr_datas.svg & idsupprdata=$$ sleep 3 # # Ne pas lancer les mises à jour si logout trop rapide (3 min après login) # if [ $timeloged -lt 300 ] then killall -9 xviewer exit 0 fi # # Reparation dpkg si besoin # if $(grep -q "dpkg \-\-configure \-a" /var/log/mintupdate.log) \ && $(ps -aux | grep -vq "synapti[c] \|apt[t] \|dpkg[g] ") then xviewer -f ${DIR_LOGOUT_MSG}/message_logout_dpkg_configure.svg & dpkg --configure -a fi # # Premiere passe de mise à jour # xviewer -f ${DIR_LOGOUT_MSG}/message_logout_maj_recherche.svg & mintupdate-cli -r update xviewer -f ${DIR_LOGOUT_MSG}/message_logout_maj_install.svg & mintupdate-cli -r upgrade -y >> /var/log/logoutupdate.log # # Seconde passe de mise à jour si mintupdate a été mis à jour # if [ $(grep -q "mintupdate" /var/log/logoutupdate.log ) ] then xviewer -f ${DIR_LOGOUT_MSG}/message_logout_maj_recherche.svg & mintupdate-cli -r update xviewer -f ${DIR_LOGOUT_MSG}/message_logout_maj_install.svg & mintupdate-cli -r upgrade -y fi # # Fin de cinnamon pour éviter de revoir le bureau # pidtokill=$(ps -e -o pid,cmd | sed -e 's/ */ /g' -e 's/^ *//' | grep "[c]innamon --replace" | cut -d " " -f 1) if [ ! -z $pidtokill ] then echo "kill ${pidtokill}" kill ${pidtokill} fi # # fin des utilitaires utilisés # killall -9 zenity killall -9 xviewer fi