Понадобилось ограничить время работы детишек на компьютере до 2 часов. Пусть лучше больше по улицам бегают, в футбол играют, носы квасят, чем за компом свое счастливое детство просиживают
В результе появился такой несложный скрипт:
#!/bin/bash
# Содержание рутовского crontab:
# */1 * * * * /root/bin/time-limit/checktime.sh
TIMELIMIT=120 # 120 минут.
CUR_DIR=$( dirname $( readlink -e "$0" ))
TIMECURRENT=$CUR_DIR/log/$( date +%Y.%m.%d ).log
echo "1" >> $TIMECURRENT
ALLTIME=$( wc -l $TIMECURRENT | cut -d" " -f1 )
[[ "$ALLTIME" -ge "$TIMELIMIT" ]] && /sbin/shutdown -h now
Скрипт работает глобально, ограничивая работу ВСЕХ пользователей.
Скрипт работает под рутом, проверен, работает как часы.
Можно, конечно загрузиться в single и поправить время, но для этого надо знать рутовский пароль.
Еще хотелось бы сделать предупреждающее всплывающее окошко.
Тренируясь, добавил для этого в crontab строку -