Initial release v0.01 — SeniorNet kiosk browser

- PyQt5 floating toolbar (Back, Forward, HOME, Bookmarks) over Google Chrome
- Scrollable bookmarks bar with nested folder dropdown menus
- Chrome DevTools Protocol (CDP) for navigation control
- Home screen with large senior-friendly buttons (Gmail, Google, Weather, News, Facebook, Messenger, YouTube)
- Automatic GPU/ML cache cleanup on every Chrome launch
- Kiosk hardening: TTY switching blocked, keyboard shortcuts intercepted, auto-restart on crash
- System config files and install script included
This commit is contained in:
2026-05-21 11:39:10 +00:00
commit 6c756e3adc
9 changed files with 1086 additions and 0 deletions
Executable
+49
View File
@@ -0,0 +1,49 @@
#!/bin/bash
# SeniorNet Kiosk — install script
# Run as: sudo bash install.sh
set -e
echo "=== Installing packages ==="
apt-get update
apt-get install -y python3-pyqt5 unclutter xorg openbox lightdm \
fonts-noto-color-emoji python3-pip
# Install websocket-client
pip3 install websocket-client --break-system-packages
# Install Google Chrome
if ! command -v google-chrome &>/dev/null; then
echo "=== Installing Google Chrome ==="
wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
apt-get install -y ./google-chrome-stable_current_amd64.deb
rm google-chrome-stable_current_amd64.deb
fi
echo "=== Copying config files ==="
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
# LightDM auto-login
mkdir -p /etc/lightdm/lightdm.conf.d
cp "$SCRIPT_DIR/system-config/lightdm-50-kiosk.conf" \
/etc/lightdm/lightdm.conf.d/50-kiosk.conf
# Openbox autostart
mkdir -p /home/jgitta/.config/openbox
cp "$SCRIPT_DIR/system-config/openbox-autostart" \
/home/jgitta/.config/openbox/autostart
chown jgitta:jgitta /home/jgitta/.config/openbox/autostart
# Xorg hardening
mkdir -p /etc/X11/xorg.conf.d
cp "$SCRIPT_DIR/system-config/xorg-50-kiosk-hardening.conf" \
/etc/X11/xorg.conf.d/50-kiosk-hardening.conf
# Disable unused virtual consoles
for i in 2 3 4 5 6; do
systemctl disable getty@tty$i 2>/dev/null || true
done
echo "=== Setting ownership ==="
chown -R jgitta:jgitta /home/jgitta/kiosk-browser /home/jgitta/kiosk-home
echo "=== Done! Reboot to start the kiosk. ==="