Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#51 Le 04/10/2008, à 11:35

Paoman

Re : controle des horaires de connexion

tshirtman a écrit :

si ils sont pas dans le groupe admin ils peuvent pas...

perfect ! love nunux smile


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

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

Gérard B4 a écrit :

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 hmm
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

Mathieu147 a écrit :

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

llwynrt a écrit :

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

llwynrt a écrit :

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

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 smile.

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 ?

http://www.marie-alex.fr/controle_parental.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

#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

llwynrt a écrit :

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 ?

http://www.marie-alex.fr/controle_parental.tar.gz

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

ostie a écrit :

trouvé sur la toile, logiciel avec interface graphique ...
https://launchpad.net/timekpr

et

http://home.roadrunner.com/~crjackson/timekpr/

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


Ubuntu depuis 04.10  === aujourd'hui 20.04

Hors ligne