67 votes

Comment limiter le temps d'écran de mes enfants ?

L'accès à notre ordinateur (pas seulement à internet) doit être restreint pour les comptes de mes enfants (7, 8 ans) jusqu'à ce qu'ils soient assez grands pour gérer cela par eux-mêmes. Jusque-là, nous devons être en mesure de définir ce qui suit :

  • les heures de la journée où l'utilisation de l'ordinateur est autorisée (par exemple, de 17h à 21h)
  • les jours de la semaine où l'utilisation de l'ordinateur n'est pas autorisée (par exemple, du lundi au vendredi)
  • la durée autorisée par jour (par exemple, 2 heures)

Dans la version 11.10, tous les outils qui fonctionnaient auparavant ne fonctionnent plus :

  • Timekpr : pour une version > 11.10, n'est plus disponible via le ppa.
  • Timeoutd : alternative en ligne de commande, mais à partir de la version 11.10 supprimé des dépôts.
  • Gnome Nanny : semble très bien mais plante de manière répétée obligeant à redémarrer le serveur X. Nous ne pouvons donc pas utiliser ou recommander ce programme pour le moment.

Y a-t-il d'autres alternatives ?

2voto

Marcus Rickert Points 141

J'ai récemment publié une version bêta de ma nouvelle application LittleBrother qui est capable de surveiller le temps de jeu sur les machines Linux. Les utilisateurs de test sont les bienvenus pour essayer le paquet Debian. Les instructions sur la façon de le télécharger et de l'utiliser peuvent être trouvées ici : https://github.com/marcus67/little_brother. L'installation peut encore être un peu difficile, cependant. Voici les fonctionnalités de l'application :

  • N'importe quel nombre d'utilisateurs peut être surveillé.
  • Chaque utilisateur peut avoir un ensemble spécifique de règles définissant le temps de jeu autorisé.
  • Les règles peuvent être adaptées aux "contextes", tels que le jour de la semaine et/ou un calendrier de vacances (actuellement seuls les calendriers allemands sont pris en charge).
  • Le temps de jeu peut être limité à une fenêtre horaire (de, à).
  • Un temps de jeu maximal par jour peut être défini.
  • Les utilisateurs peuvent être contraints de prendre une pause après un certain temps de session maximal.
  • Les utilisateurs peuvent être contraints d'attendre un temps de pause minimum après leur activité.
  • N'importe quel nombre d'hôtes client Linux peut être surveillé (actuellement cela nécessite que les utilisateurs aient le même identifiant sur toutes les machines).
  • Il y a un hôte maître avec un historique des activités de tous les utilisateurs. Cet hôte maître vérifie les ensembles de règles et demande aux hôtes clients de terminer les processus si nécessaire.
  • L'hôte maître propose une interface web simple pour visualiser l'activité des utilisateurs sur une période historique configurée (par exemple, 7 jours) et une page d'administration pour définir dynamiquement des exceptions de règles pour un nombre de jours configuré à l'avenir.
  • L'application web peut être exécutée derrière un proxy afin qu'elle soit accessible à distance permettant une administration à distance après avoir reçu des appels de jeunes utilisateurs demandant plus de temps de jeu.
  • L'application prend en charge les langues internationales. Actuellement, des traductions en anglais et en allemand sont fournies. Les utilisateurs sont invités à fournir des traductions pour d'autres langues.
  • L'application utilise la génération de voix pour informer l'utilisateur des déconnexions forcées imminentes. Ces messages vocaux sont également internationalisés.
  • En plus du temps passé sur les hôtes Linux, l'application peut également surveiller le temps d'activité sur d'autres appareils tels que les téléphones intelligents ou les tablettes. Elle profite du fait que la plupart des systèmes d'exploitation modernes mettent les appareils en mode économie d'énergie lorsqu'ils ne sont pas utilisés. De cette manière, la réponse du réseau (par ping) peut être utilisée pour déterminer l'activité sur ces appareils. Contrairement aux hôtes Linux, l'application ne pourra pas mettre fin à l'activité. Le temps de jeu, cependant, sera ajouté au temps de jeu global et aura donc un impact sur le temps autorisé et également sur les règles de temps de pause sur les hôtes Linux.

Quelques captures d'écran :

Page d'état Page d'administration

1voto

myset Points 246

Exemple de script de temps impartirt parental

Créez une tâche cron avec le script bash suivant

sudo vi /root/timeout.sh

Contenu du script exemple (planifié du lundi au vendredi de 18h00 à 20h00, samedi et dimanche de 08h00 à 22h00)

#!/bin/bash
#==========================================
#              Script de temps imparti
#==========================================

# */1 * * * * /root/timeout.sh

USER="test"

TIMEOUT_USER=$(who | grep $USER)
TIMEOUT_DHM=$(date +"%u%H%M")

if [ ! -z "$TIMEOUT_USER" ] \
        && [[ ! (\
                  ($TIMEOUT_DHM -ge 11800 && $TIMEOUT_DHM -le 12200) || \
                  ($TIMEOUT_DHM -ge 21800 && $TIMEOUT_DHM -le 22200) || \
                  ($TIMEOUT_DHM -ge 31800 && $TIMEOUT_DHM -le 32200) || \
                  ($TIMEOUT_DHM -ge 41800 && $TIMEOUT_DHM -le 42200) || \
                  ($TIMEOUT_DHM -ge 51800 && $TIMEOUT_DHM -le 52200) || \
                  ($TIMEOUT_DHM -ge 60800 && $TIMEOUT_DHM -le 62200) || \
                  ($TIMEOUT_DHM -ge 00800 && $TIMEOUT_DHM -le 02200) \
                )]];
then
  echo "$(date +"%Y-%m-%d %H:%M:%S") - $USER timeout" >> /var/log/timeout.log
  skill -KILL -u $USER
fi

Modifiez le crontab root

sudo crontab -e

et ajoutez ce plan s'exécutant toutes les minutes

*/1 * * * * /root/timeout.sh

Redémarrez cron et listez le crontab

sudo systemctl restart cron
sudo crontab -l

Vous pouvez éditer à tout moment /root/timeout.sh

Vérifiez manuellement le script en utilisant

sudo /root/timeout.sh

Les sessions expirées sont enregistrées dans /var/log/timeout.log

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X