Страницы

Ограничение времени работы пользователя в GNU/Linux

У меня появилась необходимость ограничить техническим средствами время "работу" семилетнего чада за компьютером с GNU / Linux.

Проблему с великим и ужасным интернетом я легко решил с помощью детского браузера "Гогуль". А вот с ограничением времени работы пользователя возникли трудности. Начал поиск имеющихся программ для Ubuntu 12.04 и обнаружил, что с этим дела обстоят не лучшим образом.

Что-то у меня не работает, как Gnome nanny (у некоторых, судя по отзывам, она еще и портит систему), для чего-то даже нет готовых пакетов для установленной версии Ubuntu, в том числе и в сторонних хранилищах.

Нашел замечательную программу Workrave. Но она подходит только для сознательных граждан, а ребенок ее просто отключит и труда это ему не составит.

Не пускаясь в дальнейшие поиски, решил написать свою простенькую программку. Как это водится слегка недооценил необходимое время, но приемлемое решение для исходной задачи было сделано.


Исходный код доступен по ссылке - time-control

Приложение нужно прописать в автозапуске пользователя и инициализировать запуском из командной строки, передав в качестве параметра количество разрешенных за день минут. В дальнейшем редактировать этот параметр можно в файле /home/patient/.parcon/config, где patient следует заменить на имя пользователя, разумеется.

Когда время, отведенное для пользователя завершается, программа вызывает функции завершения сеансов работы Unity/(Gnome ?) и XFCE. Вариант для KDE был добавлен наугад и не тестировался, так что наверняка он работает кое-как.

Недостатком решения является то, что по завершении сеанса до завершения времени, программа продолжает работать и отсчитывать минуты. Я обошел это добавлением специальной кнопки завершения сеанса, заодно завершающей программу командой "pkill -9 parcon".

Решение наивное, но для контроля маленького ребенка подойдет. Полагаю, у меня в запасе есть пару лет на то, чтобы дождаться готовых работающих решений, либо написать что-то более серьезное.

Комментариев нет:

Отправить комментарий