![]() |
ubuntu.com - launchpad.net - ubuntu help
|
|
|||||||
|
General Help All your general support questions for Ubuntu, Kubuntu, Edubuntu and Xubuntu. |
|
|
Thread Tools | Display Modes |
|
|
#1 | |
|
Iced Blended Vanilla Crème Ubuntu
![]() Join Date: May 2007
Location: Charlotte, NC, USA
Beans: 2,842
Ubuntu Development Release
|
Account Lease time / Content filtering
Timekeepr - Keep control of computer usage This program will track and control the computer usage of your kids. You can limit their daily usage and configure periods when they cannot log in. Developers Even Nedberg and Savvas Radević (or .nedberg and forger) of the Ubuntu forums have rewritten the package using python as opposed to the bash shell script of it's previous form. timekpr now has a full featured interface with the ability to change and grow as needed. The current version supports Ubuntu, Kubuntu and Xbuntu. Please report any bugs you find. Current status indicated below:
INSTRUCTIONS Please add the software repository as listed below, and install from synaptic or terminal. Quote:
__________________
AMD ATHLON 64 X2 4800+ @ 2.6 GHz - Ubuntu Lucid 10.04 MSI K8N Neo4 Platinum/SLI - BIOS 3.11 - 4 GB Curcial DDR MSI 8800 GT -- Plextor PX-880SA -- Pioneer DVR-115D 2x 74 GB WD Raptors SATA , 2x 250 GB Hitachi SATA (Data) Last edited by crjackson; May 2nd, 2010 at 10:43 PM.. Reason: Add Latest FIles - Instructions |
|
|
|
|
|
|
#2 |
|
Has an Ubuntu Drip
![]() Join Date: Nov 2006
Location: Norway
Beans: 774
Kubuntu 10.04 Lucid Lynx
|
Re: Account Lease time / Content filtering
Never used dansguardian before, but I found this thread: http://ubuntuforums.org/showthread.php?t=207008
EDIT: Also have a look here: http://ubuntuforums.org/showthread.php?t=769671 for a gui to configure dansguardian. My children are not old enough to use computers yet, but I will have a look at this myself just to be prepared!
__________________
Open mind, open source! Keep control of computer usage with timekpr Screensaver for Amarok? AmarokScreenSaver My (Norwegian) blog about motorcycles and MotoGP Last edited by .nedberg; August 12th, 2008 at 02:12 PM.. |
|
|
|
|
|
#3 |
|
Iced Blended Vanilla Crème Ubuntu
![]() Join Date: May 2007
Location: Charlotte, NC, USA
Beans: 2,842
Ubuntu Development Release
|
Account Lease time - Timekeeper Developement
Okay, I've found a home brewed script from this page called Waggle Dance it's supposed to do EXACTLY what I want, for EXACTLY the same reasons.
I had a little permissions issue during setting up the time limits for my test account, but I overcame that with sudo -i I have two issues that I'm hoping someone (I posted to the script writer too) will help me with. In my test scenario, I gave the user 300 seconds of use. The script then added another 450 in grace time to log off. I watched the clock ticking in the time keeping file but here's the problem(s); 1) None of the warning pop-ups activated (possibly due to allocated time was lower than grace period. I changed grace period to 0 but it had no effect). 2) Once it kicked the test user off, it allowed an immediate re-login to the test account, and another 450 seconds were allowed thereby allowing the test user to login every few minutes. It would be annoying but a determined child would do that all night long. Could someone have a look at the script and help me modify it so that those problems are fixed please? Code:
#!/bin/bash
###
# timekpr.sh - simple
# watches gnome sessions and logs them out once the user has exceeded a set, per day limit
# /var/lib/timekpr/$username.time hold a count of seconds user has had a gnome session
# /var/lib/timekpr/$username hold the daily allowed seconds for the user
#
# you may need to install notify-send with: $apt-get install libnotify-bin
#
# Copyright 2008 Chris Jackson <chris@91courtstreet.net>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# See <http://www.gnu.org/licenses/>.
#
default_limit=87000 #all day
grace_period=450
poll_time=20
#Ubuntu uses alternatives so we look for x-session-manager instead of gnome-session
SESSION_MANAGER=x-session-manager
# get the usernames and PIDs of sessions
while(true); do
sleep $poll_time
pidlists=$( ps --no-heading -fC $SESSION_MANAGER | awk 'BEGIN{ FS=" " } { print $1 "," $2 }' )
for pidlist in $pidlists; do
# split username and pid - FIXME - I bet this would be faster with bash arrays and substitution
username=$( echo $pidlist | awk 'BEGIN{ FS=","} { print $1}' )
pid=$( echo $pidlist | awk 'BEGIN{ FS=","} { print $2}' )
if [[ ! -e "/var/lib/timekpr/$username" ]]
then
echo $default_limit > /var/lib/timekpr/$username
fi
# if the time file is missing or was last touched yesterday, start over
if [[ -e "/var/lib/timekpr/$username.time" && `( stat -c '%z' /var/lib/timekpr/$username.time|cut -c9,10 )` == `date +%d` ]]
then
#add $poll_time seconds to it
timekpr=$(( `cat /var/lib/timekpr/$username.time` + $poll_time ))
echo $timekpr > /var/lib/timekpr/$username.time
else
timekpr=$poll_time
echo $timekpr > /var/lib/timekpr/$username.time
fi
echo $username, $pid, $timekpr
if [[ $timekpr -gt `cat /var/lib/timekpr/$username` ]]
then
## get the display and xauthority used by out session manager
UDISPLAY=`grep -z DISPLAY \
/proc/$pid/environ | sed -e 's/DISPLAY=//'`
XAUTHORITY=`grep -z XAUTHORITY \
/proc/$pid/environ | sed -e 's/XAUTHORITY=//'`
# find DBUS session bus for this session
DBUS_SESSION_BUS_ADDRESS=`grep -z DBUS_SESSION_BUS_ADDRESS \
/proc/$pid/environ | sed -e 's/DBUS_SESSION_BUS_ADDRESS=//'`
# use it - give a warning, then another one 1/2 way through grace_period
XAUTHORITY="$XAUTHORITY" DISPLAY="$UDISPLAY" DBUS_SESSION_BUS_ADDRESS="$DBUS_SESSION_BUS_ADDRESS" \
notify-send --icon=gtk-dialog-warning --urgency=critical -t 30000 "Daily Time Limit" "Your session time is about to expire! You have $grace_period sec. to save your work and logout."
sleep $(($grace_period/2)) # FIXME: this gives other sessions a free grace_period added to their accounting
XAUTHORITY="$XAUTHORITY" DISPLAY="$UDISPLAY" DBUS_SESSION_BUS_ADDRESS="$DBUS_SESSION_BUS_ADDRESS" \
notify-send --icon=gtk-dialog-warning --urgency=critical -t 30000 "Daily Time Limit" "Your session time is about to expire! You have $(($grace_period/2)) sec. to save your work and logout."
sleep $(($grace_period/2)) # FIXME: this gives other sessions a free grace_period added to their accounting
XAUTHORITY="$XAUTHORITY" DISPLAY="$UDISPLAY" DBUS_SESSION_BUS_ADDRESS="$DBUS_SESSION_BUS_ADDRESS" \
notify-send --icon=gtk-dialog-warning --urgency=critical -t 10000 "Shutting Down" "Shutting down session ($pid) now!"
# FIXME - should really check to see if user has logged out yet
sleep 10
kill -HUP $pid #this is a pretty bad way of killing a gnome-session, but we warned 'em
## uncomment the following to brutally kill all of the users processes
sleep 10
pkill -u $username
## killing gnome-session should be more like:
#DISPLAY=":0" XAUTHORITY="/tmp/.gdmEQ0V5T" SESSION_MANAGER="local/wretched:/tmp/.ICE-unix/$pid" su -c 'gnome-session-save --kill --silent' $username
## but this can still leave processes to cleanup - plus it's not easy to get SESSION_MANAGER
fi
done
done
__________________
AMD ATHLON 64 X2 4800+ @ 2.6 GHz - Ubuntu Lucid 10.04 MSI K8N Neo4 Platinum/SLI - BIOS 3.11 - 4 GB Curcial DDR MSI 8800 GT -- Plextor PX-880SA -- Pioneer DVR-115D 2x 74 GB WD Raptors SATA , 2x 250 GB Hitachi SATA (Data) Last edited by crjackson; October 1st, 2008 at 05:35 PM.. |
|
|
|
|
|
#4 |
|
Has an Ubuntu Drip
![]() Join Date: Nov 2006
Location: Norway
Beans: 774
Kubuntu 10.04 Lucid Lynx
|
Re: Account Lease time / Content filtering
To get the notifications:
Code:
# you may need to install notify-send with: $apt-get install libnotify-bin
__________________
Open mind, open source! Keep control of computer usage with timekpr Screensaver for Amarok? AmarokScreenSaver My (Norwegian) blog about motorcycles and MotoGP |
|
|
|
|
|
#5 |
|
Iced Blended Vanilla Crème Ubuntu
![]() Join Date: May 2007
Location: Charlotte, NC, USA
Beans: 2,842
Ubuntu Development Release
|
Account Lease time - Timekeeper Developement
Okay, I installed the libnotify-bin and the grace period was changed to 0. I'll try it again and see what happens.
__________________
AMD ATHLON 64 X2 4800+ @ 2.6 GHz - Ubuntu Lucid 10.04 MSI K8N Neo4 Platinum/SLI - BIOS 3.11 - 4 GB Curcial DDR MSI 8800 GT -- Plextor PX-880SA -- Pioneer DVR-115D 2x 74 GB WD Raptors SATA , 2x 250 GB Hitachi SATA (Data) Last edited by crjackson; October 1st, 2008 at 05:36 PM.. |
|
|
|
|
|
#6 | |
|
Iced Blended Vanilla Crème Ubuntu
![]() Join Date: May 2007
Location: Charlotte, NC, USA
Beans: 2,842
Ubuntu Development Release
|
Account Lease time - Timekeeper Developement
Quote:
Anyone who knows how to make this work can feel free to jump in here...
__________________
AMD ATHLON 64 X2 4800+ @ 2.6 GHz - Ubuntu Lucid 10.04 MSI K8N Neo4 Platinum/SLI - BIOS 3.11 - 4 GB Curcial DDR MSI 8800 GT -- Plextor PX-880SA -- Pioneer DVR-115D 2x 74 GB WD Raptors SATA , 2x 250 GB Hitachi SATA (Data) Last edited by crjackson; October 1st, 2008 at 05:36 PM.. |
|
|
|
|
|
|
#7 |
|
Has an Ubuntu Drip
![]() Join Date: Nov 2006
Location: Norway
Beans: 774
Kubuntu 10.04 Lucid Lynx
|
Re: Account Lease time / Content filtering
OK.
I tested the script and it worked fine for me. I successfully locked myself out of my own computer! It did however let me log in again an imediatly showed a notifier informing I was about to get logged out again. I sat grace_period to 50. /var/lib/timekpr/<my username> had 100 in it poll_time was unchanged at 20 I slightly edited the time for the pop-up notifiers from 30000 to 10000, giving a shorter notifier. I did not try with grace_period = 0, that might be your problem... Set it low, but not 0. Allow someone to log out and save their work. If the daily limit is set to 100 sec, grace_period to 50 and poll_time to 20, it will acctually take 180 seconds before the user is logged out.
__________________
Open mind, open source! Keep control of computer usage with timekpr Screensaver for Amarok? AmarokScreenSaver My (Norwegian) blog about motorcycles and MotoGP |
|
|
|
|
|
#8 | |
|
Iced Blended Vanilla Crème Ubuntu
![]() Join Date: May 2007
Location: Charlotte, NC, USA
Beans: 2,842
Ubuntu Development Release
|
Account Lease time - Timekeeper Developement
Quote:
Do you know enough about scripting to answer this one? Would it be possible to include some code that would check the date/time and only allow access between 0700-0000 hours each day? I'm really trying to nail this thing down. Thanks a bunch.
__________________
AMD ATHLON 64 X2 4800+ @ 2.6 GHz - Ubuntu Lucid 10.04 MSI K8N Neo4 Platinum/SLI - BIOS 3.11 - 4 GB Curcial DDR MSI 8800 GT -- Plextor PX-880SA -- Pioneer DVR-115D 2x 74 GB WD Raptors SATA , 2x 250 GB Hitachi SATA (Data) Last edited by crjackson; October 1st, 2008 at 05:37 PM.. |
|
|
|
|
|
|
#9 |
|
Has an Ubuntu Drip
![]() Join Date: Nov 2006
Location: Norway
Beans: 774
Kubuntu 10.04 Lucid Lynx
|
Re: Account Lease time / Content filtering
Pretty sure I can help with that! But I might not get back to you before after the weekend.
__________________
Open mind, open source! Keep control of computer usage with timekpr Screensaver for Amarok? AmarokScreenSaver My (Norwegian) blog about motorcycles and MotoGP |
|
|
|
|
|
#10 | |
|
Iced Blended Vanilla Crème Ubuntu
![]() Join Date: May 2007
Location: Charlotte, NC, USA
Beans: 2,842
Ubuntu Development Release
|
Account Lease time - Timekeeper Developement
Quote:
__________________
AMD ATHLON 64 X2 4800+ @ 2.6 GHz - Ubuntu Lucid 10.04 MSI K8N Neo4 Platinum/SLI - BIOS 3.11 - 4 GB Curcial DDR MSI 8800 GT -- Plextor PX-880SA -- Pioneer DVR-115D 2x 74 GB WD Raptors SATA , 2x 250 GB Hitachi SATA (Data) Last edited by crjackson; October 1st, 2008 at 05:37 PM.. |
|
|
|
|
| Bookmarks |
| Tags |
| timekeeper |
| Thread Tools | |
| Display Modes | |
|
|