|
|
## Fermeture automatique de la session au bout de 3 minutes d’inactivité
|
|
|
|
|
|
Cette fonctionnalité repose sur le composant xprintidl, un programme qui indique le temps écoulé en milli-secondes depuis la dernière activité utilisateur.
|
|
|
|
|
|
```
|
|
|
sudo apt-get install xprintidle
|
|
|
```
|
|
|
|
|
|
Le script suivant est créé :
|
|
|
|
|
|
```
|
|
|
# nano /root/idle_check.sh
|
|
|
```
|
|
|
|
|
|
Ce script contant le code suivant :
|
|
|
```
|
|
|
#!/bin/bash
|
|
|
TIMEOUT=18000 # 3min = 3 * 60 * 1000
|
|
|
INACTIF=`DISPLAY=:0 xprintidle`
|
|
|
echo "Inactif = $INACTIF" >> /var/log/guestuser.log
|
|
|
echo "`date +%Y-%m-%d-%H:%m:%S` user : $USER Temps d'inactivité en secondes : $INACTIF" >> /var/log/guestuser.log
|
|
|
|
|
|
if [ $INACTIF > $TIMEOUT ]; then
|
|
|
echo "`date +%Y-%m-%d-%H:%m:%S` user : $USER Timeout, je quitte la session" >> /var/log/guestuser.log
|
|
|
killall -u enad
|
|
|
echo "`date +%Y-%m-%d-%H:%m:%S` user : $USER Session quittée" >> /var/log/guestuser.log
|
|
|
else
|
|
|
echo "`date +%Y-%m-%d-%H:%m:%S` user: $USER Timeout, non atteint" >> /var/log/guestuser.log
|
|
|
fi
|
|
|
```
|
|
|
|
|
|
Et ajouter dans une crontab lancée toutes les minutes :
|
|
|
```
|
|
|
*/3 * * * * idle_check.sh > /dev/null
|
|
|
```
|
|
|
|
|
|
## Pourquoi un killall et pas un gnome-session-quit
|
|
|
|
|
|
Il faut mettre un killall car avec la commande gnome-session-quit --force (une commande qui ferme une session gnome en cours), on a rencontré des problème avec la gestion / accès à la partie graphique depuis la tâche cron. |
|
|
\ No newline at end of file |