Timekpr-nExT Is A Linux Parental Control Program For Limiting Computer Usage

Timekpr-next client

Timekpr-nExT is graphical parental control tool for Linux, useful if you want to limit child activity on a computer. The application, which uses Python / GTK3, works with multiple desktop environments, including GNOME, Xfce, Cinnamon, KDE Plasma, Unity, Deepin and Budgie, under both X11 and Wayland.

The application can limit computer usage for some user accounts by setting predefined access rules. You can set daily computer time usage limits -- either by setting the number of hours/minutes per day an account can have access to the computer, or by specifying an hour interval. You may also specify weekly and monthly computer usage limits. After the time expires, the user is automatically logged out.

The client (the user account for which you've set computer access limits -- see screenshot at the top of the article) can see the remaining time for today, the daily limits, as well as configure the display of notifications when the time is about to expire or when there are limit changes.

Timekpr-nExT was created as a replacement for Timekpr-Revived (now deprecated), which itself a is a fork of the old Timkpr (abandoned, not updated since 2012) application. The developer explains that Timekpr-Revived had some shortcomings, like a "desynchronization" between the daemon and client application, user could not work past midnight without being kicked out, no sleep support, no time or month allowance, and more. Also, Timekpr-Revived used PAM (while Timekpr-nExT uses logind, part of systemd), which was invasive as it modified the display manager config file and also, it showed incorrect error messages for users trying to login when the allocated time expired. This is all described by the developer on this page.

The parental control software is made of two user facing parts -- the client, which shows the remaining time and notifications for the user account that has time limits set, and the administration user interface used to limit the time spent on the computer regular user accounts.

Timekpr-next config administration
Timekpr-nExT administration interface

Timekpr-nExT features:

  • Daily limits: you can configure the app to allow using the computer for a given number of minutes/hours for each day of the week, or specify an hour interval
  • Weekly and monthly limits: specify a weekly or monthly time limit
  • Display notifications on login, informing the user if he has a limited amount of time to use the computer in that day, and the remaining time. The app also notifies the user with the remaining time when the access time gets close to run out
  • Appindicator / tray icon which allows accessing the time left information, user properties (which allows enabling or disabling notifications at logon, and the Timekpr Control Panel
  • Extra Timekpr Control Panel options include:
    • the administrator can easily add or subtract time for the current day
    • optionally track (or not) inactive time (while the screen is locked)
    • configurable warning time, poll interval, etc.
    • choose which sessions to track
    • exclude users from tracking
  • Multi-user support: Timekpr-nExT allows setting different parental control schedules for each user account

It's worth noting that the Timekpr-nExT has some contradicting information regarding its supported desktop environments on the project page. Near the top of the page the developer confirms this app works on Xfce, Cinnamon, KDE, GNOME 3, Unity, Deepin and Budgie, but if you keep reading you'll get to a part saying that Timekpr-nExT does not work on Kubuntu 18.04 for example. I actually tried Timekpr-nExT on Kubuntu 18.04 and the tool works with no issues (although it's a GTK3 app).

Using Timekpr-nExT parental control application

To use Timekpr-nExT to limit an user's computer access, launch the application from the menu -- you'll want to launch the Timekpr-nExT menu item that starts with SU as that's the one used to control the computer usage.

Next, select the user for which you want to limit the access time from the Username dropdown, then click on the Daily limits or Weekly & Monthly limits, and choose the schedule you want to set for that user account. Remember to click the Apply daily limits button or else your changes won't have any effect. Do this for each user that you want to have limited access to the computer.

I guess this should be obvious but I thought I'd mention it anyway: the user for which you limit the login time duration / access hours shouldn't have admin access, or else the user can change or remove the parental limits, making this tool useless.

Another important thing I'd like to mention is that the Timekpr-nExT tray icon requires a tray / appindicator support to work so if you're using GNOME Shell, make sure you have a tray (e.g by installing the AppIndicator Support extension -- this is not required on Ubuntu since this extension is installed by default).

Install Timekpr-nExT

There are Timekpr-nExT packages for Ubuntu (including Ubuntu flavors like Xubuntu or Kubuntu) and Ubuntu-based Linux distributions like Linux Mint, as well as Arch Linux.

You can install Timekpr-nExT in Ubuntu / Linux Mint by using its PPA - use these commands to add the PPA and install Timekpr-nExT stable:

sudo add-apt-repository ppa:mjasnik/ppa
sudo apt update
sudo apt install timekpr-next

You may also download the DEB without adding the PPA, by visiting this link (scroll down to get to the latest version).

On Arch Linux you'll find Timekpr-nExT in the Arch Linux User Repository, available either as a stable release or the latest Git.

To download the source, check out Timekpr-nExT on Launchpad.