#51 Le 04/10/2008, à 11:35
- Paoman
Re : controle des horaires de connexion
si ils sont pas dans le groupe admin ils peuvent pas...
perfect ! love nunux
Acer 7720G - Core 2Duo T5450 1.6GHz - Ati mobility HD 2600 - 2Gb DDR2
Hors ligne
#52 Le 05/10/2008, à 08:38
- limax
Re : controle des horaires de connexion
edit: mise à jour pour un avertisseur audio 2 minutes avant.
Je viens de faire la même chose sur ma debian mais sous forme de service
Le fichier /etc/init.d/max_temps (le service qui lance le programme)
#! /bin/sh
### BEGIN INIT INFO
# Provides: defaultdaemon
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
case "$1" in
start)
/usr/local/sbin/max_temps & ;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3 ;;
stop)
kill $(ps -e | grep max | cut -c-5 ) #pidof ne me donne pas le numero pid de max_temps?????
;;
*) echo "Usage: $0 start|stop" >&2
exit 3 ;;
esac
récupérez mon fichier militaire.mp3 pour avertir deux minutes avant l'extinction.
http://megamaths.free.fr/militaire.mp3
Placer ce fichier audio dans /opt/
J'utilise mpg321 pour lire ce fichier audio donc installez mpg321 ou alors changez dans le script ci-dessous mpg321 pour un autre lecteur audio.
Le fichier /usr/local/sbin/max_temps (le programme)
#! /bin/sh
USER=flavien
PREFIXE="/etc/max_temps"
FICHIER="${PREFIXE}/max_temps_${USER}_$(date "+%d%m%Y")"
LIMITE="${PREFIXE}/limite"
# création du dossier max_temps s'il n'existe pas
if [ ! -e /etc/max_temps/ ] ; then
mkdir /etc/max_temps/
fi
# durée maximum de connexion autorisée suivant les jours de la semaine.
# Je prère le mettre dans un fichier pour lire la limite avec adesklets
case $(date "+%a") in
lun | Mon | mar | Tue | jeu | Thu | ven | Fri ) echo 35 > $LIMITE ;;
mer | Wed ) echo 60 > $LIMITE ;;
sam | Sat | dim | Sun ) echo 125 > $LIMITE ;;
* ) echo $(date "+%a") > "${PREFIXE}/pasbon ";;
esac
while who >/dev/null
do
while who | grep $USER | grep tty7 >/dev/null
do
sleep 60 #pause de 1mn
# création et initialisation du fichier totalisant la durée de connexion de la journée
if [ ! -e $FICHIER ] ; then
rm -f ${PREFIXE}/max_temps_${USER}*
echo '0' > $FICHIER
else
echo $(($(cat $FICHIER)+1))> $FICHIER # on incrémente la durée d'une unité
fi
# si la limite est atteinte on arrête la machine
if [ "$( cat $FICHIER )" -ge "$(cat $LIMITE)" ] ; then
/sbin/shutdown -h now
fi
# 2 mn avant on prévient de la fin
if [ "$( cat $FICHIER )" -eq "$(($(cat $LIMITE)-2))" ] ; then
mpg321 /opt/militaire.mp3
fi
done
sleep 60 #pause de 60 seconde
done
ensuite créer le service (à changer pour d'autres distributions, moi j'ai une debian)
# update-rc.d -f max_temps defaults 99
# /etc/init.d/max_temps start
Il y a donc un une trompette pour avertir l'extinction dans 2 mn mais pour afficher en permanence le temps de connections qu'il reste j'utilise adesklets (à faire pour autre gdesklets etc...) et le desklets doityourself
dans le fichier ~/.desklets/doityourself-0.4.1/config.txt j'ai mis ceci
id1 = {'rawmode': True, 'script': '/usr/local/bin/temps.sh'}
(ou id0 si vous n'en avez pas d'autre)
et dans le fichier /usr/local/bin/temps.sh
!/bin/sh
PREFIXE="/etc/max_temps/max_temps_flavien"
LIMITE="/etc/max_temps/limite"
# le fichier-compteur du jour qui totalisera la durée d'utilisation effective de l'ordi pour la journée en cours
FICHIER="${PREFIXE}_$(date "+%d%m%Y")"
if test -f $FICHIER
then
TEMPS=`cat $FICHIER`
else
TEMPS=0
fi
echo "Il reste: "$(( $(cat $LIMITE) -$TEMPS ))" mn"
Il sera amélioré pour plusieurs user mais un peu plus tard ou alors par vous.
Effectivement il tourne en permanence et passe son temps en pause.
Vous pouvez bien sur utiliser ce pgm, le modifier etc....
Je regarderai aussi votre solution
Dernière modification par limax (Le 25/11/2008, à 07:53)
Hors ligne
#53 Le 05/10/2008, à 10:51
- tshirtman
Re : controle des horaires de connexion
si on redémarre l'ordi ça reset les durées de la journée non?
Hors ligne
#54 Le 05/10/2008, à 11:42
- limax
Re : controle des horaires de connexion
non car le compteur est dans /etc/max_temps/ et il n'est effacé que si la date ne correspond pas.
Pour truander il faut donc changer la date, donc soit enlever la connection internet (mon heure est réglé via un serveur ntp au démarage) soit pouvoir changer la date.
effectivement je réfléchirai à ca et donne des droits à la modification de heure.
Hors ligne
#55 Le 18/10/2008, à 16:41
- Gérard B4
Re : controle des horaires de connexion
Bonjour
J'ai quelques problème avec les scripts de llwynrt, sous Hardy (j'ignore si ça vient de la version Ubuntu? D'autres que moi l'ont ils utilisé avec Hardy?).
D'abord l'installation ne s'est pas très bien passée, puisque j'ai eu droit à
cp: ne peut évaluer `/decompte': Aucun fichier ou dossier de ce type
et aussi à
rm: ne peut enlever `temp': Aucun fichier ou dossier de ce type
En bidouillant à la main dans un terminal, j'ai été copier le fichier decompte dans /etc/init.d/ , et tant pis pour le temp absent.
Mais c'est pas tout. Mes premiers tests montrent que ça ne coupe pas les utilisateurs limités, d'ailleurs dans le fichier duree, le quotas horaire ne baissent pas, la tache qui doit les faire décroitre ne marche pas.
Déja pour voir ceci, j'ai eu du mal puisque le script lire_temps, dans mon cas, n'arrivait pas à touner convenablement une fois copié dans le home d'un enfant: il ne cherche alors plus dans le bon répertoire le fichier duree (il cherche alors dans /home/enfant). Ce problème là, j'ai réussi à le contourner en editant le script pour y mettre 'en dur' le nom de repertoire ou se trouve duree. Mais la durée que cela affiche reste fixe, il ne compte pas le temps passé.
Qu'est ce qui fait foirer tout?
Dernière modification par Gérard B4 (Le 18/10/2008, à 16:42)
Hors ligne
#56 Le 20/10/2008, à 18:40
- llwynrt
Re : controle des horaires de connexion
Mais c'est pas tout. Mes premiers tests montrent que ça ne coupe pas les utilisateurs limités, d'ailleurs dans le fichier duree, le quotas horaire ne baissent pas, la tache qui doit les faire décroître ne marche pas.
Déjà pour voir ceci, j'ai eu du mal puisque le script lire_temps, dans mon cas, n'arrivait pas à tourner convenablement une fois copié dans le home d'un enfant: il ne cherche alors plus dans le bon répertoire le fichier duree (il cherche alors dans /home/enfant). Ce problème là, j'ai réussi à le contourner en éditant le script pour y mettre 'en dur' le nom de repertoire ou se trouve duree. Mais la durée que cela affiche reste fixe, il ne compte pas le temps passé.
Qu'est ce qui fait foirer tout?
c'est encore de ma faute
plus ça va, plus y'a de bugs ... j'ai fait quelques corrections, mais là je bute sur un problème : http://forum.ubuntu-fr.org/viewtopic.php?id=261125
dès que ça marche je publie la mise à jour !
Marie-Lyse
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne
#57 Le 23/11/2008, à 12:28
- llwynrt
Re : controle des horaires de connexion
bon, j'ai pour l'instant laissé tombé la récupération de l'utilisateur actif, donc le temps est décompté même si on change de session sans se déconnecter.
les fichiers sont copiés dans /opt/parental
voici la nouvelle archive http://marielyse.briffaud.free.fr/ubuntu/script/controle_parental.tar.gz
Marie-Lyse
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne
#58 Le 23/11/2008, à 15:55
- Mathieu147
Re : controle des horaires de connexion
Et Autoglade pour l'interface ça pourrait pas le faire?
http://www.gnomefiles.org/app.php/Autoglade
Pffff…
Hors ligne
#59 Le 27/11/2008, à 19:06
- llwynrt
Re : controle des horaires de connexion
Et Autoglade pour l'interface ça pourrait pas le faire?
http://www.gnomefiles.org/app.php/Autoglade
ça a l'air pratique, je vais voir ce que je peux faire avec !
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne
#60 Le 03/12/2008, à 11:00
- llwynrt
Re : controle des horaires de connexion
voilà la nouvelle version avec autoglade
testez et dites moi ce que vous en pensez
http://marielyse.briffaud.free.fr/ubunt … tal.tar.gz
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne
#61 Le 10/12/2008, à 08:14
- avdl
Re : controle des horaires de connexion
voilà la nouvelle version avec autoglade
testez et dites moi ce que vous en pensez
http://marielyse.briffaud.free.fr/ubunt … tal.tar.gz
je cherchais depuis longtemps le moyen de réaliser ce que fais ce script mais je vous remercie bcp.
je l'ai installé hier, je vais voir s'il opère comme prévu.
bcp de messages sont affichés lors de la validation de la configuration et il n'y a, semble-t-il, pas d'interface pour la saisie des durées ?
merci encore et à bientôt,
André
#62 Le 22/12/2008, à 10:41
- avdl
Re : controle des horaires de connexion
Bonjour Marie-Lyse, bonjour à tous,
j'utilise votre script avec succès depuis une dizaine de jours.
Les autorisations et contrôles de durée fonctionnent bien pour chacun de mes deux enfants qui ont bien intégré ces contraintes dans leur utilisation de leur PC.
Une seule fonctionnalité pourtant bien utile ne semble pas fonctionner: l'avertissement 10 mn avant la coupure.
Y a t il un paramétrable particulier pour mettre en oeuvre cette fonctionnalité ?
Merci de votre aide,
André
#63 Le 22/12/2008, à 14:21
- llwynrt
Re : controle des horaires de connexion
bonjour
je suis contente de voir que ça marche !! n'ayant pas d'enfants, c'est dur de tester sur la durée
pour l'avertissement, il faut modifier le fichier decompte et rajouter
export DISPLAY=:0 &&
devant les deux lignes avec notify-send, ce qui donne :
echo "*;*;$user;!al0000-2359 #plus de temps disponible" >> /etc/security/time.conf
export DISPLAY=:0 && notify-send "déconnexion imminente !"
sleep 60
#et on déconnecte l'utilisateur
skill -u $user
#sinon on décrémente les compteurs
else
mois_restant=$((mois_restant-1))
semaine_restant=$((semaine_restant-1))
jour_restant=$((jour_restant-1))
sed -i "/$user/c $user $mois_restant/$mois_total $semaine_restant/$semaine_total $jour_restant/$jour_total" $duree
if [ $jour_restant -eq "10" ]
then
export DISPLAY=:0 && notify-send "il vous reste 10m avant déconnexion !\npensez à sauvegarder"
fi
Marie-Lyse
Dernière modification par llwynrt (Le 22/12/2008, à 14:39)
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne
#64 Le 29/12/2008, à 14:09
- avdl
Re : controle des horaires de connexion
bonjour
je suis contente de voir que ça marche !! n'ayant pas d'enfants, c'est dur de tester sur la durée
pour l'avertissement, il faut modifier le fichier decompte et rajouter
export DISPLAY=:0 &&
devant les deux lignes avec notify-send, ce qui donne :
echo "*;*;$user;!al0000-2359 #plus de temps disponible" >> /etc/security/time.conf
export DISPLAY=:0 && notify-send "déconnexion imminente !"
sleep 60
#et on déconnecte l'utilisateur
skill -u $user#sinon on décrémente les compteurs
else
mois_restant=$((mois_restant-1))
semaine_restant=$((semaine_restant-1))
jour_restant=$((jour_restant-1))
sed -i "/$user/c $user $mois_restant/$mois_total $semaine_restant/$semaine_total $jour_restant/$jour_total" $dureeif [ $jour_restant -eq "10" ]
then
export DISPLAY=:0 && notify-send "il vous reste 10m avant déconnexion !\npensez à sauvegarder"
fiMarie-Lyse
Merci Marie-Lyse,
je fais cette modif et je vous dis en retour,
bonnes fêtes de fin d'année et merci encore,
André
#65 Le 02/01/2009, à 23:24
- tshirtman
Re : controle des horaires de connexion
salut, j'installe ton script sur le pc de mon petit frère et je voulais povoir donner une durée différente suivant le jours de la semaine.
j'ai donc fait 7 copies de "duree" nommés duree_1 duree_2... duree_7
et j'ai modifié decompte et raz tel que:
duree="/opt/parental/duree"_$(date +%u)
Donc il lira et mettra à jours un fichier différent suivant le jours, si tu vois une meilleur façon de faire ou si celle si n'est pas bonne merci de me le dire .
Autre chose, plus génant, quand je lance "configure" et que je fait mes choix, j'ai un bon nombre d'erreurs de comparaisons ligne 91, je remarque que tu utilise "test" comme variable (c'est un nom réservé dans bash, puisque c'est une commande) mais remplacer par test1 (ligne 88 et 91) ne résouts pas le problème. Est-ce grave?
A ce que je lis je pense que non, et je vois bien mes réglages dans "autorisations".
Mais Je n'aime pas trop ça ^^.
Bon, on va voir si ça marche comme ça déjà, j'ai fait appliquer ^^.
Hors ligne
#66 Le 07/01/2009, à 21:57
- kodiak
Re : controle des horaires de connexion
J'ai finalement installé le script, executé interface "installer" (rien ne se passe), puis "configurer" (choix du user, puis des plages de connection, puis OK), et j'obtiens également une rafale d'erreur ligne 91:
/opt/parental/configure: line 91: [: -gt : opérateur unaire attendu
/opt/parental/configure: line 91: [: -gt : opérateur unaire attendu
/opt/parental/configure: line 91: [: -gt : opérateur unaire attendu
/opt/parental/configure: line 91: [: -gt : opérateur unaire attendu
/opt/parental/configure: line 91: [: -gt : opérateur unaire attendu
/opt/parental/configure: line 91: [: -gt : opérateur unaire attendu
/opt/parental/configure: line 91: [: -gt : opérateur unaire attendu
/opt/parental/configure: line 91: [: -gt : opérateur unaire attendu
Traceback (most recent call last):
File "/usr/bin/autoglade", line 2500, in <module>
autodump=options.autodump)
File "/usr/bin/autoglade", line 640, in __init__
self.__dom = minidom.parse(self.__glade)
File "/usr/lib/python2.5/xml/dom/minidom.py", line 1915, in parse
return expatbuilder.parse(file)
File "/usr/lib/python2.5/xml/dom/expatbuilder.py", line 922, in parse
fp = open(file, 'rb')
IOError: [Errno 2] Aucun fichier ou dossier de ce type: 'configure2.glade'
Ubuntu depuis 04.10 === aujourd'hui 20.04
Hors ligne
#67 Le 08/01/2009, à 10:49
- llwynrt
Re : controle des horaires de connexion
bon, j'ai corrigé la ligne 91 !
pour avoir une durée différente par jour de la semaine, ta méthode semble correcte, mais du coup tu ne peux plus utiliser les durées par semaine et par mois, non ?
Les erreurs Windows, c'est un peu comme les rêves, il faut savoir les interpréter, parfois ça peut vouloir dire quelque chose !
Hors ligne
#68 Le 08/01/2009, à 12:40
- yleetiny
Re : controle des horaires de connexion
pourquoi ne pas faire un time login avec au pire des désactivation de compte par cron ou anacron?
Ordinateurs : SONY VAIO C2Z/B & EEEPC 701
Merci de mettre [RESOLU] dans vos postes si le problème est réglé,
et Merci de partager vos expériences
Hors ligne
#69 Le 10/01/2009, à 15:12
- ostie
Re : controle des horaires de connexion
trouvé sur la toile, logiciel avec interface graphique ...
https://launchpad.net/timekpr
et
http://home.roadrunner.com/~crjackson/timekpr/
Dernière modification par ostie (Le 10/01/2009, à 17:47)
Hors ligne
#70 Le 10/01/2009, à 18:17
- tshirtman
Re : controle des horaires de connexion
bon, j'ai corrigé la ligne 91 !
pour avoir une durée différente par jour de la semaine, ta méthode semble correcte, mais du coup tu ne peux plus utiliser les durées par semaine et par mois, non ?
En effet ça va comprometre l'utilisation par mois et semaine, mais je n'en avais pas vraiment besoin, c'est une granularité un peu grosse pour la gestion du temps je trouve, surtout pour un enfant. Cool pour la ligne 91 ^^.
Hors ligne
#71 Le 10/01/2009, à 21:58
- kodiak
Re : controle des horaires de connexion
trouvé sur la toile, logiciel avec interface graphique ...
https://launchpad.net/timekpret
ostie, je n'aurai qu'un mot... merci!
Installé la dernière version (0.2.2), en cours de test.
Jusqu'ici :
- installation sans problème, aucun problème de dépendance,
- interface sobre et efficace (temps par semaine ou détaillé jour par jour + plage horaire idem par semaine ou détaillée jour par jour)
- système simple de by-pass : levée des restrictions sans toucher aux réglages
- également système permettant de rajouter ou retirer des minutes au quota quotidien... (on sent qu'il s'agit d'un programme américain)
- en cours de développement, une fonction de black-out : ajout d'une plage horaire où l'ordinateur n'est pas accessible, "pour les devoirs scolaires par exemple"
- disponible au format .deb sur un PPA (un bémol... lil est précisé sur a homepage du projet qu'il faut
sudo dpkg --purge timekpr
avant chaque upgrade...)
Le plus drôle, c'est le parallélisme des dates: timekpr (le script original -en bash- de Chris Jackson, publié sur 91courtstreet.net) date du 3 février 2008 et le 1er post de llwynrt date du 7 février! Février 2008 restera-t-il dans les mémoires comme le mois où, des deux côtés de l'Atlantique, le besoin de solutions de contrôle d'horaire de connexion s'est fait sentir ?
Je laisse le mot de la fin à Charles Jackson, l'auteur du premier post sur http://ubuntuforums.org/showthread.php?t=887769: "heureusement que j'ai découvert timekpr, ma femme était à deux doigts de m'obliger à virer Linux pour Windows afin que nous puissions utiliser NetNanny..."
Quelqu'un d'autre a des retours sur timekpr ?
Ubuntu depuis 04.10 === aujourd'hui 20.04
Hors ligne
#72 Le 22/01/2009, à 14:09
- kankan_01
Re : controle des horaires de connexion
Juste pour répondre à certains : les enfants malins peuvent modifier l'heure directement dans le BIOS ou avec un Live-CD, voire utiliser un Live-CD et récupérer leur profil FF sur une clé USB, vire monter /home dans leur Live-CD. Il n'existe pas de protection absolue hein, il y a toujours moyen de contourner ^^.
Hors ligne
#73 Le 22/01/2009, à 19:44
- tshirtman
Re : controle des horaires de connexion
@kankan: les parents malins d'enfants malins, peuvent régler le bios pour booter sur le dd seulement , mettre un mot de passe au bios, un mot de passe à grub et bloquer les recovery et les éditions de la ligne de boot sous ce mot de passe et utiliser un boitier fermable à clée, un peu comme en entreprise sérieuse quoi...
Hors ligne
#74 Le 22/01/2009, à 21:46
- kodiak
Re : controle des horaires de connexion
Linus lui-même ...
Ubuntu depuis 04.10 === aujourd'hui 20.04
Hors ligne