Project 7: Zorin OS Education- Linux (#2)
A kid-friendly Linux build designed for my daughter’s learning and play.
This system features offline educational games, parental-controlled web access, and a colorful, simplified desktop tailored just for her.
Overview:
This project focused on building a safe, engaging Linux system for my daughter (toddler-age). The goal was to create a simplified, colorful desktop environment that served a simple purpose: offline games, educational tools, and tightly controlled internet access (to dad-approved websites/apps).
Why Zorin OS Education? Zorin OS Education includes preinstalled educational apps, creative tools, and a child-friendly interface. Although I knew we would not need all the applications that came pre-installed, this allowed me to run through all the apps and see which were fitting. It runs well on modest hardware and offers great customizability. Its GNOME-based desktop made UI modifications straightforward.
Step 1: Installation and Initial Prep
Downloaded Zorin OS Education ISO and flashed it to a USB using balenaEtcher on my Windows 11.
Disabled Secure Boot on the Lenovo 300e device. (Same reason and process as my Zorin OS Core device.)
Used a wired connection during installation to avoid wireless driver complications.
Performed a clean install with default options.
Step 2: Post-Install Cleanup
Uninstalled pre-installed apps not relevant to toddler use (LibreOffice, advanced games, internet tools, calculator, weather, contacts, etc.). Used Software (Application Center) to do this.
Used the Application Center to identify and remove unfamiliar apps like Laby and Foliate.
Hid tools like Terminal and System Monitor from the panel.
Removed the Workspaces and application launcher from the panel.
Used shortcut CTRL + ALT + T to launch Terminal, then ran the following:
sudo apt update
sudo apt upgrade -y
flatpak update -y
sudo reboot
Step 3: Installing Essential Apps Already installed applications:
GCompris | Perfect educational-game suite for toddlers
Tux Typing | Teaches keyboard usage
Tux Math | Teaches math in a game format
Potato Guy | Like Mr. Potato Head, for creative play
Additional apps installed via terminal:
sudo apt update
sudo apt install tuxpaint kapman
Also installed:
flatpak install flathub com.rustdesk.RustDesk
RustDesk - for remote support and management
sudo apt install gufw
GUFW - to configure and verify firewall settings
Why? Remote support via RustDesk lets me assist my wife and daughter quickly. GUFW helps with visual firewall configuration.
Step 4: Customize System Layout
Disabled Workspaces via Zorin Appearance
Right-clicked panel > Panel Preferences:
Removed App Menu (Launcher)
Removed Workspace Switcher and Hot Corners
Removed all system tray items: Wi-Fi, Sound, Battery, Bluetooth, User Menu
Kept only Date & Time in the right corner
Added Panel Launchers for:
Tux Math
Gnome Paint
GCompris
Tux Typing
Kapman
Potato Guy
Tux Paint
Result: a clean panel with seven colorful, safe apps for fun and learning (all offline).
Personalized the desktop:
Dark theme
Blue accent color (to match Elsa/Water Horse background)
Custom background from Canva
Increased panel and icon sizes
Step 5: Locking Down Browser Access Used Brave Browser (preinstalled).
Installed BlockSite extension via Chrome Web Store
Configured to allow only:
Hid the extension icon from browser
Logged into each account to generate persistent session URLs
Created allow-list entries with wildcards (/*) to support dynamic paths (e.g., YouTube video IDs)
Step 6: Create Desktop Web Launchers Created launchers for:
YouTube Kids
Starfall
Vooks
Command to create launcher:
nano ~/Desktop/YouTubeKids.desktop
Launcher contents:
[Desktop Entry]
Name=YouTube Kids
Exec=brave-browser --app=https://www.youtubekids.com
Icon=youtube-kids
Type=Application
Categories=AudioVideo;
Save and close:
Ctrl + O, Enter
Ctrl + X
Make executable:
chmod +x ~/Desktop/YouTubeKids.desktop
Right-click > Allow Launching
Notes:
Each launcher used custom icons edited in Canva
Background image was requested by my daughter (Elsa and Water Horse)
Step 7: Password-Protect System Settings Created shell script:
#!/bin/bash
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gnome-control-center
Wrapped in .desktop launcher:
[Desktop Entry]
Name=Settings-Admin
Comment=Launches the Gnome-Control-Center in Password Protected Mode
Exec=/home/user/scripts/gnome-control-settings.sh
Icon=preferences-system
Terminal=false
Type=Application
Categories=Settings;
Restricted script execution to admin user.
Final Outcome:
The final build was clean, safe, and intuitive:
All learning apps were visible and easy to open from the panel
System tray and system tools were hidden or locked down
Web access was tightly filtered via Brave and BlockSite
Remote support enabled via RustDesk for quick parental assistance