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:
Executable
+49
@@ -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. ==="
|
||||
Reference in New Issue
Block a user