6c756e3adc
- 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
50 lines
1.5 KiB
Bash
Executable File
50 lines
1.5 KiB
Bash
Executable File
#!/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. ==="
|