Eye Break Reminder Apps on Ubuntu-Based Linux

Compare Safe Eyes, Stretchly, and Workrave for screen breaks on Ubuntu 24.04-based distros, with clean install and uninstall paths.

Beginner Curated Guidance Updated 9 min read Tested on Zorin OS 18.1 Pro (Ubuntu 24.04 Noble base) Hardware Lenovo ThinkPad L14 Gen 2

What This Guide Achieves

GoalStatus
Pick one practical break reminder app for daily screen workDone
Compare Safe Eyes, Stretchly, and Workrave without installing all of themDone
Install and uninstall with clean package-management controlDone
Understand when an eye-break app is not enoughDone

The Problem

Long screen sessions make it easy to forget basic eye and body breaks. The American Optometric Association describes digital eye strain as discomfort from extended computer, tablet, e-reader, and phone use, and recommends the 20-20-20 habit: every 20 minutes, look about 20 feet away for 20 seconds.

The operating system will not enforce that habit by itself. A break reminder app helps by turning that intention into a visible reminder.

This is not medical advice. If you have persistent eye pain, severe headaches, vision changes, flashes, floaters, or other concerning symptoms, use this guide only as a software setup note and talk to an eye-care professional.


Recommendation

For an Ubuntu 24.04-based Linux desktop, use Safe Eyes first.

Safe Eyes is the best default for this guide because it is focused directly on reducing eye strain through break reminders, has a native Linux desktop workflow, and is available as an Ubuntu package. That means installation, updates, and removal can stay under apt, which is the cleanest path for most Ubuntu-based systems.

Use Workrave instead if your main problem is repetitive strain injury, wrist/shoulder posture, micro-pauses, and rest-break discipline.

Use Stretchly if you want the same polished break-reminder app across Linux, Windows, and macOS, or if you prefer its modern Electron interface. On Ubuntu-based Linux, it is usually a Snap, Flatpak, or upstream release install rather than a normal Ubuntu repository package.

Do not install all three at once. Multiple reminder apps will overlap, fight for tray space, and create confusing duplicate popups. Pick one, test it for a few days, then switch if needed.


Comparison

AppBest ForInstall SourceWhy Choose It
Safe EyesEye strain reminders on LinuxUbuntu package or upstream PPAFocused on eye breaks, lightweight, native Linux fit
WorkraveRSI, micro-pauses, rest breaks, daily limitsUbuntu packageMature ergonomic break tool with stronger body-break framing
StretchlyCross-platform break remindersSnap, Flatpak, GitHub releases, or upstream apt repoModern UI, same app on Windows/macOS/Linux, very configurable

Clean Installation Rule

Before installing, read the Package Management Basics guide if you are unsure which package source to use.

For this category:

  • Prefer apt when the app exists in the Ubuntu repositories and the version works for you.
  • Use Snap or Flatpak when you specifically want that app’s newer packaged desktop release.
  • Use a downloaded .deb only from the project’s official release page.
  • Avoid random installer scripts for background health/reminder apps.
  • Uninstall with the same tool you used to install.
  • Keep only one break reminder enabled at startup.

Option 1: Safe Eyes

Safe Eyes is the recommended starting point for this guide. Upstream describes it as a break reminder intended to protect your eyes from eye strain, and the project lists features such as break reminders, notifications before and after breaks, idle smart-pause, multi-screen support, settings, and plugins.

Install from Ubuntu Repositories

Use the Ubuntu repository package first:

sudo apt update
sudo apt install safeeyes

Launch it from your app menu, or run:

safeeyes

Open its settings from the app menu. Newer upstream builds document command-line controls too, but the Ubuntu repository package is best treated as a normal graphical app.

Suggested Settings

Start simple:

  • Use short breaks that remind you to look away from the screen.
  • Keep long breaks enabled if you work for hours without standing up.
  • Enable smart pause if the option works on your desktop session, so the timer does not punish you for time already spent away from the keyboard.
  • Keep notifications enabled before breaks so the interruption is less sudden.

The exact defaults can change by version, so adjust from the Safe Eyes settings window instead of blindly copying someone else’s timing.

Verify

apt policy safeeyes
pgrep -a safeeyes

If pgrep returns a Safe Eyes process, the background app is loaded.

Uninstall

sudo apt remove safeeyes

Only remove your user settings if you are sure you do not want to keep your Safe Eyes preferences:

rm -rf ~/.config/safeeyes

If You Need a Newer Safe Eyes Version

The upstream project also documents an official Safe Eyes PPA for Ubuntu derivatives. Use that only if the Ubuntu repository version does not work for you or you need a newer feature:

sudo add-apt-repository ppa:safeeyes-team/safeeyes
sudo apt update
sudo apt install safeeyes

If you later decide to go back to the distro package path, remove the PPA first:

sudo add-apt-repository --remove ppa:safeeyes-team/safeeyes
sudo apt update

Option 2: Workrave

Workrave is not only an eye-break tool. It is mainly an ergonomic and RSI-prevention tool that alerts you to take micro-pauses, rest breaks, and daily-limit breaks. Choose it if your issue is not just eye fatigue but also wrist, shoulder, neck, and posture fatigue from long computer sessions.

Install

sudo apt update
sudo apt install workrave

Launch it from the app menu, or run:

workrave

When Workrave Makes More Sense Than Safe Eyes

Use Workrave if you want:

  • Micro-pauses during active typing or mouse-heavy work.
  • Longer rest breaks after repeated work blocks.
  • A stronger RSI-prevention workflow.
  • A daily usage limit reminder.

If you only want a light 20-20-20 style eye reminder, Safe Eyes is simpler.

Verify

apt policy workrave
pgrep -a workrave

Uninstall

sudo apt remove workrave

Workrave stores Linux configuration under the org.workrave dconf key. Do not reset that casually unless you are intentionally wiping settings.


Option 3: Stretchly

Stretchly is a cross-platform break reminder. It is a strong choice if you want one app and one mental model across Linux, Windows, and macOS. Upstream provides official installers and portable builds for Linux through GitHub Releases, and the app is also available from the Snap Store and Flathub.

For Ubuntu-based systems, choose one source and stay with it.

Snap Install

Use this if your Ubuntu-based distro supports Snap and you are comfortable with Snap auto-updates:

sudo snap install stretchly

Verify:

snap list stretchly

Uninstall:

sudo snap remove stretchly

Flatpak Install

Use this if your system is already set up for Flathub:

flatpak install flathub net.hovancik.Stretchly

Run:

flatpak run net.hovancik.Stretchly

Uninstall:

flatpak uninstall net.hovancik.Stretchly

Official Release Install

Use this if you want the upstream .deb package from the official GitHub Releases page.

  1. Download the latest Linux .deb package from the official Stretchly releases page.
  2. Open a terminal in the folder where you downloaded it.
  3. Install it with apt so dependencies are handled cleanly:
cd ~/Downloads
sudo apt install ./Stretchly*.deb

Verify:

apt list --installed | grep -i stretchly

Uninstall:

sudo apt remove stretchly

Do not install Stretchly from Snap, Flatpak, and .deb at the same time. That creates duplicate app entries and duplicate startup behavior.


Startup Behavior

After installing your chosen app, open its preferences and enable start-on-login if you want break reminders every time you log in.

If the app does not start after reboot:

  • Confirm only one copy is installed.
  • Check the app’s own startup setting first.
  • Check your desktop’s Startup Applications tool.
  • Avoid creating a manual autostart entry until you know the built-in startup option is not working.

Good Break Settings to Start With

Use software as a reminder, not as a perfect health system.

Start with this baseline:

  • Every 20 minutes, look away from the screen for about 20 seconds.
  • Every 45-60 minutes, stand up or move briefly if your work allows it.
  • Keep breaks short enough that you will not disable the app after one day.
  • Use strict blocking only if you trust yourself not to fight the app.
  • Reduce monitor brightness and glare separately; a timer cannot fix bad lighting.

If a reminder app becomes annoying, tune the interval before uninstalling it. The useful app is the one you will actually keep enabled.


Troubleshooting

The Tray Icon Does Not Show

Some GNOME-based Ubuntu desktops hide or limit tray indicators depending on extensions and app packaging. If reminders still appear, the app can still be working even without a perfect tray icon.

Check the running process:

pgrep -a safeeyes
pgrep -a workrave
pgrep -a stretchly

Use the matching command for the app you installed.

Breaks Do Not Appear on Wayland

Break reminder apps can behave differently under Wayland and X11 because idle detection, full-screen overlays, tray behavior, and input monitoring are more restricted on Wayland.

If reminders do not appear reliably:

  • Check the app’s known Wayland notes.
  • Test once in an X11 session if your distro provides one.
  • See the Display Server guide before changing sessions permanently.

Two Apps Keep Showing Breaks

You probably installed or enabled more than one reminder app.

Check installed packages:

apt list --installed | grep -Ei "safeeyes|workrave|stretchly"
snap list | grep -i stretchly
flatpak list | grep -i stretchly

Remove the one you are not using with the matching package manager.


What I Would Use

For a normal Ubuntu 24.04-based desktop, I would start with Safe Eyes from apt, tune the break intervals for one week, and only switch if it misses a feature I need.

If wrist or shoulder strain is the bigger issue, I would test Workrave instead.

If I wanted the same experience across Linux and Windows, I would use Stretchly from Snap or Flatpak, not a random script.


Sources

Discussion