Популярный Linux
Понадобилось ограничить время работы детишек на компьютере до 2 часов. Пусть лучше больше по улицам бегают, в футбол играют, носы квасят, чем за компом свое счастливое детство просиживают
В результе появился такой несложный скрипт:
# Содержание рутовского 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
ALLTIME =$ ( wc -l $TIMECURRENT | cut -d » » -f1 )
[ [ » $ALLTIME » -ge » $TIMELIMIT » ] ] && / sbin / shutdown -h now
Скрипт работает глобально, ограничивая работу ВСЕХ пользователей.
Скрипт работает под рутом, проверен, работает как часы.
Можно, конечно загрузиться в single и поправить время, но для этого надо знать рутовский пароль.
Еще хотелось бы сделать предупреждающее всплывающее окошко.
Тренируясь, добавил для этого в crontab строку —
33 14 * * * / usr / bin / zenity —error —title = «Внимание!» —text = «Компьютер будет выключен через 5 минут» display =: 0.0 >> / root / zenity.log 2 >& 1
Ограничения времени работы пользователя.
Нужно чтобы пользователь мог работать только в определенное время (скажем с 15:00 до 21:00). При этом компьютер должен автоматически выключаться/переводится в спящий режим — не суть важно, и при попытках залогиниться пользователем в неподходящее время компьютер должен опять таки выключаться. То есть в данном случае, если компьютер включается в 1:00, то тут же он и выключается, если наступает 21:00, то компьютер выключается. Ну а если в данный момент от 15:00 до 21:00 пользователь может спокойно работать.
p.s. Мне все равно на изящность/убогость решения. Главное — чтобы работало, чем скорее — тем лучше. И просьба, если вы знаете куда копать надо, то не надо кидать пару умных фраз от которых все становится только запутанней. Пара ссылок на материал поможет куда больше.
емнип это можно с PAM организовать.
Нужно чтобы пользователь мог работать только в определенное время (скажем с 15:00 до 21:00). При этом компьютер должен автоматически выключаться/переводится в спящий режим — не суть важно, и при попытках залогиниться пользователем в неподходящее время компьютер должен опять таки выключаться. То есть в данном случае, если компьютер включается в 1:00, то тут же он и выключается, если наступает 21:00, то компьютер выключается. Ну а если в данный момент от 15:00 до 21:00 пользователь может спокойно работать.
скрипт напиши и повесь на crond.
В гноме раньше было такое, настраивалось в апплете отдыха для глаз или полувручную, не знаю, как оно с гномощелью сейчас.
Вот какое решение я нашел узнав про PAM
Задача: пользователь myuser. Время, когда можно пользоваться компьютером вышеуказанным пользователем: Понедельник, вторник, четверг в 08:00-10:00 и 20:00-21:30 (из промежутка 08:00-21:30 исключается время 10:00-20:00. Именно так прописывается в time.conf) — пояснение ниже Среда, пятница в 20:00-21:30 Суббота в 18:00-22:00 Воскресенье в 09:00-20:00
Решение. С правами админа вписываем в /etc/security/time.conf следующую строку
*;*;myuser;WeFr2000-2130|Sa1800-2200|Su0900-2000|MoTuTh0800-1000|MoTuTh2000-2130
Я не стал замарачиваться ограничением по login, gdm, а сразу обрубаю всю активность на компе (звездочки). В вышеуказанной статье Scott’а Kindley дается пример с использованием символа &. Я не стал его использовать, т.к. неправильно отрабатывают правила. Поясню:
login|gdm;*;jordan;Wk1630-2000 | Wd0800-2230&!1200-1500
cовсем не одно и то же, что
login|gdm;*;jordan;Wd0800-2230&!1200-1500 | Wk1630-2000
Потому указал два диапазона времени для MoTuTh вместо MoTuTh0800-2130&!1000-2000. Далее вписываем ниже последней строки, начинающейся с auth в файлах /etc/pam.d/login, /etc/pam.d/gdm, /etc/pam.d/sshd
account required pam_time.so
Замечательно, ограничения вступают в силу немедля. Но есть один ньюанс. Наступает время, когда сеанс залогиненного пользователя должен закончится. Но он продолжает и далее работать. Непорядок! Надо принудительно завершить его сеанс, предварительно выдав пользователю сообщение. Выполняем это средствами штатного планировщика cron. Редактируем планировщик:
где вписываем такие строки:
#m - минуты, h - часы, dom - день месяца, mom - месяц, dow - день недели, command - выполняемая команда #m h dom mon dow command 00 10 * * 1-2 /usr/bin/zenity --text-info --title="Время вышло" --width=474 -height=400 --display=:0 --filename=/etc/myuser.zenity & 10 10 * * 1-2 /usr/bin/skill -KILL -u myuser 00 10 * * 4 /usr/bin/zenity --text-info --title="Время вышло" --width=474 -height=400 --display=:0 --filename=/etc/myuser.zenity & 10 10 * * 4 /usr/bin/skill -KILL -u myuser 30 21 * * 1-5 /usr/bin/zenity --text-info --title="Время вышло" --width=474 -height=400 --display=:0 --filename=/etc/myuser.zenity & 40 21 * * 1-5 /usr/bin/skill -KILL -u myuser 00 22 * * 6 /usr/bin/zenity --text-info --title="Время вышло" --width=474 -height=400 --display=:0 --filename=/etc/myuser.zenity & 10 22 * * 6 /usr/bin/skill -KILL -u myuser 00 20 * * 0 /usr/bin/zenity --text-info --title="Время вышло" --width=474 -height=400 --display=:0 --filename=/etc/myuser.zenity & 10 20 * * 0 /usr/bin/skill -KILL -u myuser
В указанное время на рабочем столе пользователя myuser будет появляться всплывающее окно размером 474×400 пикселей с заголовком «Время вышло». Текст сообщения будет браться из файла /etc/myuser.zenity, который предварительно надо создать. Строки «/usr/bin/skill -KILL -u myuser» выполняют принудительное завершение сеанса пользователя, если он сам не захотел отключаться.
Timekpr-nExT, программа родительского контроля для Ubuntu
В следующей статье мы рассмотрим Timekpr-nExT. Около графический инструмент родительского контроля с помощью которого можно ограничить активность детей на компьютере с Gnu / Linux. Приложение использует Python / GTK3 и было создано как замена Тимекпр-возрожденный, который был заброшен.
Приложение может ограничить использование компьютера, установив правила доступа для некоторых учетных записей пользователей. Между этими правилами вы можете установить дневные ограничения по времени использования оборудования, либо настроив количество часов / минут в день, к которым учетная запись может иметь доступ, либо указав интервал в часах. С помощью программы вы также можете указать еженедельные и ежемесячные лимиты использования. По истечении заданного времени пользователь автоматически отключается от сеанса.
Учетная запись пользователя, для которой установлены лимиты доступа к оборудованию, может видеть оставшееся время для этого дня, дневные лимиты, а также настраивать отображение уведомлений, когда истекает срок его действия или когда устанавливаются изменения лимитов времени.
Это программное обеспечение для родительского контроля состоит из двух ориентированных на пользователя частей. Первый — это клиент, показывающий оставшееся время и уведомления для учетной записи пользователя, для которой установлены временные ограничения. А второй пользовательский интерфейс администрирования, который используется для ограничения времени который передается в обычных учетных записях пользователей.
Общие характеристики Timekpr-nExT
- Timekpr-nExT — это доступно для Ubuntu 16.04+, более старые версии не поддерживаются.
- Как указал его создатель в сайт проекта, это приложение совместим с различными рабочими столами. Разработчик утверждает, что это приложение работает на Xfce, Cinnamon, KDE, GNOME 3, Unity, Deepin и Budgie.
- Может быть установлен дневные лимиты. Администратор может настроить приложение, чтобы разрешить использование компьютера в течение определенного количества минут / часов для каждого дня недели или указать интервал в часах. Их также можно установить недельные и ежемесячные лимиты.
- шоу уведомления при входе в систему, сообщая пользователю, есть ли у него ограниченное время для использования оборудования в этот день и оставшееся время. Приложение тоже уведомляет пользователя об оставшемся времени, когда время доступа приближается к концу.
- Мы найдем индикатор приложения на панели покупателя, который позволяет получить доступ к информации об оставшемся времени или ограничениях и конфигурации Timekpr-nExt.
- Панель управления включает опции; администратор может добавить или вычесть время легко на текущий день. Может отслеживать время простоя, пока экран заблокирован. Здесь мы можем установить время предупреждения, и т.д.
- Timekpr-nExT позволяет настраивать разные расписания родительского контроля для каждой учетной записи пользователя.
Установите Timekpr-nExT на Ubuntu
Существуют пакеты Timekpr-nExT для Ubuntu (включая Xubuntu или Kubuntu) и дистрибутивы Gnu / Linux на основе Ubuntu, такие как Linux Mint. Чтобы продолжить его установку в Ubuntu / Linux Mint, мы можем используйте свой PPA открытие терминала (Ctrl + Alt + T) и выполнение команд:
sudo add-apt-repository ppa:mjasnik/ppa
sudo apt update && sudo apt install timekpr-next
Мы также сможем скачать файл .DEB не нужно добавлять PPA. После загрузки вам просто нужно установить его, как любой другой пакет.
Базовое использование приложения родительского контроля Timekpr-nExT
Если вы хотите использовать Timekpr-nExT для ограничения доступа пользователя к компьютеру, вам нужно будет запустить приложение для начала. Если мы хотим получить доступ как администратор, это будет необходимо запустите пункт меню Timekpr-nExT, начиная с (SU), и оттуда установите лимиты на учетные записи пользователей.
Думаю, это должно быть очевидно, но пользователь, для которого мы ограничиваем время входа в систему или часы доступа, не должен иметь прав администратора. В противном случае пользователь может изменить или удалить родительские ограничения.
Оказавшись в интерфейсе администратора программы, вам нужно будет выберите пользователя для которого вы хотите ограничить время доступа в раскрывающемся меню «Имя пользователя». Затем вам нужно будет нажать на «Суточные лимиты«Или»Еженедельные и ежемесячные лимиты«И выберите график, который мы хотим установить для этой учетной записи пользователя. Для завершения нажмите кнопку «Применить дневные лимитыВ противном случае изменения не будут иметь никакого эффекта. Вы можете сделать то же самое для каждого пользователя, который заинтересован в ограничении использования оборудования.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Убунлог » Ubuntu » Timekpr-nExT, программа родительского контроля для Ubuntu