Skip to content

Free, open-source Linux parental controls

Oh No! Parent Control for Linux

  • Set daily screen-time limits for each child, or require approval before any computer use.
  • Keep school apps available, make games ask-first, and block apps that stay off-limits.
  • Manage supported native apps, Snap, Flatpak, and AppImages in one graphical Parent App.
  • Keep supported AppImage updates covered with filename patterns in the same folder, even when version numbers change.
  • Approve extra time with or without game access, from the child’s sign-in screen or desktop. No need to change app blocking policies
  • See remaining time in the desktop panel; revoke approved time and temporary app access when plans change.
  • Use screen-time and app controls offline, without a cloud account.
  • Keep games running when time is up, so your child can resume, save, or quit when more time is approved. Or require running games to close before requesting more time—you choose.

Extends GNOME’s parental-control foundation (Malcontent 0.14.0+) with app patterns, native execution enforcement, and combined time/app approvals.

Homework time remaining

00:47

Games

Blocked until approved

Family app rules that keep up with Linux games.

More than a screen-time timer: manage the apps your child actually uses, keep rules useful after supported AppImage updates, and approve homework time or gaming time in one request.

Rules that keep matching after updates

Lunar Client changes its AppImage filename when it updates. A same-folder pattern such as Lunar Client-*.AppImage can keep supported new versions covered by your rule.

See the Lunar Client example

Control more kinds of Linux apps

Choose from supported native apps, Snap, Flatpak, and AppImages, including apps installed just for your child. Manage matching and access from one Parent App.

Explore app coverage

Enforce rules across the desktop

Supported native targets stay blocked through their usual app-grid, shortcut, file-manager, and command launch routes. Relevant rule changes also close matching apps running under your child’s account.

See how enforcement works

Same-folder AppImage filename patterns

A game update should not need a new rule for every filename.

Some AppImages put a version number or integration suffix in their filename. A rule tied to the old file can miss its replacement. Oh No! suggests patterns for supported versioned AppImages; you can edit the pattern or reset it to the default.

Illustrative Lunar Client filenames in the same application folder
AppImage filenameOne rule covers both
Lunar Client-3.7.17-ow_GUID.AppImageLunar Client-*.AppImage
Lunar Client-3.7.20-ow.AppImageLunar Client-*.AppImage

Match rule

Choose the precise executable or the versioned filenames your rule covers.

Access rule

Choose Always Allowed, Soft Blocked, or Hard Blocked independently of matching.

Lunar Client → Pattern Match → Soft Blocked → available when a parent approves game access.

Patterns support * and ? in the filename, within the same canonical folder. Moving the app to another folder needs a matching rule for that location. Coverage depends on the supported launcher and target; patterns do not recursively follow every moved or renamed program.

Read the matching guide

Supported native, Snap, Flatpak and AppImage app controls

One place for the Linux apps your child uses.

App Limits discovers identifiable apps for the selected child, including child-only installations. It uses the child’s launcher catalogue rather than the parent’s personal app list. Installation format alone does not guarantee that every launcher is supported.

Native apps

Match a supported installed executable, including its usual command and file-manager launch routes.

Snap

Recognize supported Snap launchers by their individual public app command, rather than treating the shared snap launcher as one app.

Flatpak

Recognize supported Flatpak application references, including apps installed for the child.

AppImages

Use a precise target or a same-folder pattern for supported versioned files. Lunar Client illustrates why filename patterns matter.

App Limits means app access rules and executable matching. It does not set separate time quotas for individual apps. Screen Limits controls the child’s overall usable computer time.

Explore App Limits in the guide

Per-child native execution enforcement

Desktop integration with enforcement behind it.

Oh No! uses GNOME’s parental-control foundation and adds enforcement for supported native app targets. Rules cover the same executable launched from the app grid, a desktop shortcut, the file manager, or a command.

Relevant running-app closure and grant revocation

Newly blocking an app, changing it from soft to hard blocked, approving homework-only access, or revoking a grant can close matching blocked apps across the selected child’s signed-in sessions. Other users’ apps stay open. Save your child’s work before changing access.

Child-panel requests and restricted sign-in request station

The GNOME panel shows remaining time and opens the child’s request form. When usable time runs out, the screen locks and the session stays open. Sign-in and unlock checks enforce available time; the restricted request station provides an approval route before sign-in or after lockout.

For technical readers

Oh No! builds on AccountsService and Malcontent, integrates with GNOME Shell, PAM, and Polkit, and adds a privileged broker with per-child native execution policy through fapolicyd. Supported AppImageLauncher handling also denies relevant reads of blocked app files, covering its in-memory runtime route.

Inspect the application policy
Read coverage and timing limits

Approval with or without soft-app access

Approve a purpose, as well as more time.

A single request combines computer time with the choice to allow all soft-blocked apps or keep them blocked. Hard-blocked launches remain blocked. Daily allowance and approval-only mode let you choose how much access needs a parent’s OK.

Approve a purpose, as well as more time.
Family decisionParent actionResult
Homework nowApprove with soft apps excludedSchool apps available; ask-first games blocked.
Gaming allowedApprove with soft apps includedAll soft-blocked apps available; hard-blocked launches stay blocked.
Return to homeworkApprove without soft appsRestore blocks and close matching blocked apps.
End approved accessRevoke the one-time grantRemove approved time and temporary app access. Unused daily time remains.
Ask before all computer useSet zero daily minutesComputer access requires an active approval.

Choose a preset, a custom duration, or the rest of the day. The request shows an estimate if approved and remembers selections. Parents approve through the OS password prompt; the child receives no administrator access.

Grant time counts elapsed time, including breaks and time spent locked. If daily time remains, natural grant expiry alone does not immediately restore soft-app blocks; session-entry checks or a restoring action apply them. Locking does not pause games or save work.

Follow the quick start and request walkthrough

Compared with the official GNOME GUI

A stronger fit for AppImage rules and homework/game approvals.

GNOME 50 already offers daily limits and extra-time approval. Oh No! extends that foundation with broader app management, editable filename patterns, conditional app access, native execution enforcement, and revocation. Those are substantial advantages for families managing Linux games.

CapabilityGNOME Parental Controls appOh No! Parent Control
Individual app catalogueFlatpak and explicitly opted-in applications in the upstream selector.Broader supported native, Snap, Flatpak and AppImage catalogue, discovered for the selected child.
AppImage filename-pattern editorNot provided by the reviewed official GUI.Suggested, editable same-folder filename patterns for supported AppImages; reset to default.
Approve time and conditional app access togetherExtra screen time is available; no combined soft-app choice in the reviewed official GUI.Approve homework-only time or include all soft-blocked apps, while retaining hard launch blocks.
Additional native execution enforcementThe reviewed frontend uses the standard desktop filtering integrations; it provides no equivalent added fapolicyd policy.Per-child fapolicyd policy for supported native targets, including usual file-manager and command launch routes.
Revoke approved time and app accessNo equivalent combined revocation control provided by the reviewed official GUI.Revoke the one-time grant and temporary app access; unused daily time remains.
Read the full, sourced comparison

Seriously tested

Oh No! Parent Control’s automated tests cover core logic, desktop integration, and end-to-end family journeys. The live count refreshes daily from the public test inventory on GitHub.

  • Core logic & edge cases
  • Desktop & system integration
  • End-to-end family journeys
  • Runs on every new release
View test details

Okay, fellow dev nerd…

I’ve deliberately put a few hoops between you and this video: this dialog, a CAPTCHA, and an unlisted YouTube link. A little friction for bots; a little secret handshake between one proud dev nerd and another.

If you’ve spent years wrestling with large enterprise software, you’ll more likely feel my pride in massive concurrent fully automated UI testing. 5% efforts on product, 95% on automated testing. Agreed? We're the same people! Laughing? I'm cool!

If that’s not your thing, fair warning: don't waste your time. You’ve been warned. 🙂

One tiny human check

Slide the puzzle piece into its matching outline to unlock the nerdy stuff.

Drag the piece, or focus it and use the arrow keys. Release when aligned to snap it into place. Passing over the outline doesn’t count.

Available for Ubuntu 26.04 LTS Desktop (amd64 / x86-64) (Fedora 44 coming soon)

Want your distro / DE supported? Feature needs? Let us know!

  1. Install Oh No! Parent Control

    View on GitHub
    sudo add-apt-repository ppa:puffyslipperstechllc/oh-no-parent-control
    sudo apt update
    sudo apt install oh-no-parent-control

  2. Restart your computer after installation to finish setup.

Linux parental controls, step by step.

Install with the commands above and restart. Then use the graphical Parent App to choose your child, set screen-time limits, and choose app rules. The walkthrough shows how to allow homework now and games later; everyday settings and approvals do not need terminal commands.

Open on YouTube

Parent setup (once)

  1. Log in as the parent (admin), open the Oh No! Parent Control app and select your child’s standard account.
  2. In Screen Limits, turn Screen Time Limit ON and set Daily Time Allowance to 0 minutes.
  3. In App Limits, set Minecraft and Steam to Soft Blocked. Leave school apps Always Allowed.

01

“You can do homework, but no games.”

Give computer time with games blocked.

  1. Switch users to the Oh No! Parent Control Kiosk account at sign-in. Choose your child, the approving parent, and a duration.
  2. Set “Allow soft blocked apps” OFF, select REQUEST, and enter the parent’s password when asked by the OS.
  3. Return to sign-in and open your child’s account for homework.

School apps open; Soft Blocked games stay blocked.

02

“Homework’s done. You can play now.”

Give computer time with games allowed.

  1. Switch users to the Oh No! Parent Control Kiosk account at sign-in. Choose your child, the approving parent, and a duration.
  2. Set “Allow soft blocked apps” ON, select REQUEST, and enter the parent’s password when asked by the OS.
  3. Return to sign-in and open your child’s account to play.

Soft Blocked apps can open. Hard Blocked apps stay off-limits.

Browse the complete guide
Request station showing fictional child and parent account choices, duration, and soft-app access inside a colorful game-inspired portal

Sample accounts in an earlier screenshot. The current request footer shows a time estimate if approved. Select the image to enlarge.

When plans change

“Can I have a little more time?”

Finishing an assignment or asking for another round? Use the same request, and choose whether games belong in that extra time.

  1. Child asks

    While time remains, select the desktop timer. Before sign-in or after lockout, use the “Oh No! Parent Control” Kiosk account at sign-in and choose the child.

  2. Parent checks the request

    Review the duration, time estimate, and “Allow soft blocked apps” choice: off for homework, on to include games. Approve in the OS password prompt.

  3. Child carries on

    On the desktop, approved time is ready to use. From the “Oh No! Parent Control” Kiosk account, return to sign-in and choose the child’s account to unlock or sign in.

“How long do I have left?”

Remaining time stays in the panel, with a second-by-second countdown during the final minute.

“Time’s up. Save your work.”

When usable time runs out, the screen locks and the desktop session stays open. Locking does not pause games or save work, so finish and save before the timer ends.

“Back to homework now.”

Approve a new request with “Allow soft blocked apps” off to keep games blocked again. Running blocked apps close, so save progress first. The request remembers the last choice; check it each time.

Follow both request routes in the user guide

Your household rules

School apps, ask-first games, and apps that stay off-limits.

In the Parent App, choose your child and open App Limits. Match the executable, then choose its access rule: Always Allowed, Soft Blocked, or Hard Blocked. These are access rules, not separate per-app time quotas.

Schoolwork → Always Allowed

Use this for apps your child needs for homework. The app can open whenever the child has computer time; it does not bypass the screen-time limit.

Games with permission → Soft Blocked

Use this for supported games and launchers that need a parent’s OK. They stay blocked during ordinary daily time or homework-only approvals. An approval with “Allow soft blocked apps” on temporarily allows all of them.

Off-limits apps → Hard Blocked

Use this for apps your child should not open, even during game time. Extra-time approval cannot allow them; a parent must change the rule in App Limits.

A daily homework allowance

Set Daily Time Allowance in Screen Limits for computer time your child can use without asking each day. Soft-blocked games stay blocked until you approve access. Leave Screen Time Limit on to use extra-time requests.

“We’re done for today.”

In the Parent App, “Revoke one-time grant” removes approved extra time and game access. Running blocked apps close, so save first. Unused daily time stays available; if none remains, the screen locks.

App rules cover supported app targets; they do not filter web content or control other devices, and do not promise to block separately copied or renamed programs or unsupported launchers.

Read about app limits
Screen limits
Oh No! Parent Control dashboard showing a child account, screen-time limit, daily allowance, and remaining time
App limits
Oh No! Parent Control dashboard showing installed apps with their match rules and access rules

Sample accounts are shown. Names and available apps will be different on your computer. Select a screenshot to enlarge.

Private by design

Local controls. Feedback when you choose.

The app is designed to do its job locally, without turning family routines into somebody else’s data.

Passwords go straight to the OS

Parent passwords are entered in the system authentication prompt. The child app never receives, stores, or displays them.

Local control, optional feedback.

Screen-time and app controls work locally, without an online account or internet connection. Optional feedback sends the message, attachments, and diagnostic logs you choose to include to support. There is no cloud dashboard, advertising, analytics, or profiling in the installed app.

Approval stays narrowly scoped

A parent approves only the request on screen. Approval does not open parent settings or hand over administrator access.

Read the complete privacy notice

Linux parental control questions

What is Oh No! Parent Control for Linux?

Oh No! Parent Control provides free, open-source Linux parental controls for families sharing a Linux computer. A graphical Parent App lets parents set daily screen-time allowances and rules for supported apps. Children can ask for extra time, which a parent approves using the OS authentication prompt. Controls work locally and build on the Malcontent parental-control system.

Can Oh No! control AppImages such as Lunar Client?

Supported AppImages can be managed in App Limits. For versioned filenames, Oh No! can suggest a same-folder pattern such as Lunar Client-*.AppImage. A filename pattern can cover supported replacements when version numbers or integration suffixes change. Edit the pattern or reset it to the default, then choose Always Allowed, Soft Blocked, or Hard Blocked. Patterns stay within the same canonical directory; they do not follow every moved or renamed copy.

What does Oh No! add compared with GNOME’s Parental Controls app?

Compared with the official Malcontent 0.14.0 frontend, Oh No! provides a broader supported native/Snap/Flatpak/AppImage catalogue, editable AppImage filename patterns, conditional app permissions tied to time approval, additional native execution enforcement, running-app handling, combined revocation, and a restricted request station. GNOME 50 already supports extra screen time. The distinction is the richer app controls and workflow exposed by Oh No!’s interface; both use the Malcontent backend foundation.

Does App Limits mean a separate time quota for each app?

No. App Limits controls which supported apps may run and how their executable targets are matched. Screen Limits controls the child’s overall usable computer time. A soft-app-inclusive approval allows all soft-blocked apps; it does not create individual per-game time counters.

Does blocking work from the file manager or terminal?

For supported native targets, Oh No! adds per-child fapolicyd execution policy covering the same executable opened through the app grid, a shortcut, the file manager, or a command. Relevant restrictive changes also close matching apps owned by the selected child across their sessions, while other users’ apps stay open. This covers supported targets, not universal control of renamed copies, shared-interpreter scripts, or unsupported launchers.

How is Oh No! Parent Control tested as it evolves?

The fully automated test suite grows with product changes and new features, checking new capabilities while guarding against regressions. It spans core logic, desktop interactions, installed-system behavior, and end-to-end family journeys. The public, generated test inventory on GitHub tracks ready and pending cases. The product page reads its latest counts directly; ready means runnable and passed, and inventory counts are not code-coverage percentages.

Is Oh No! Parent Control free and open source?

Yes. Oh No! Parent Control is free to install and use, with source code published on GitHub under the GNU General Public License version 3 (GPLv3). Install the Linux package from the project's public PPA on Launchpad. Screen-time and app controls work locally without an online account or internet connection; downloading and updating the package requires internet access.

Is Oh No! Parent Control easy to use?

The installation instructions use three terminal commands to add the PPA and install Oh No! Parent Control, followed by a restart. After installation, everyday use is graphical: choose a child in the Parent App, set a daily allowance, and choose app rules. Children request extra time on screen; parents approve with their OS password. Routine settings and approvals do not require terminal commands, an online account, or a cloud dashboard. The setup walkthrough includes a video and screenshots.

How does screen-time control work?

Set a daily allowance for each child, or choose zero daily minutes to require parent-approved time. Children can request extra time from their desktop or the dedicated request account at sign-in. A parent approves through the OS authentication prompt. When usable time runs out, the child's screen locks and their session stays open. Locking does not pause games or save work.

How do I allow homework now and gaming later?

In App Limits, leave school apps Always Allowed and set supported games and launchers, such as Minecraft or Steam when listed, to Soft Blocked. With Screen Time Limit on, approve a time request with “Allow soft blocked apps” off for homework, or on to allow all soft-blocked apps for the approved period. Hard Blocked apps cannot be allowed by an extra-time request. App rules cover supported apps, not website content or every game launched through another app.

Does it work offline, filter websites, or manage other devices?

Screen-time and app controls work locally without an online account or internet connection. Optional feedback needs a connection. Oh No! Parent Control does not filter website content, provide a cloud dashboard, or control other devices. App rules do not promise to block separately copied or renamed programs or unsupported launchers.