Files
dropshell-templates/squashdisplay/status.sh
Your Name 22ca6f07d4
All checks were successful
Test and Publish Templates / test-and-publish (push) Successful in 34s
attempt to add squash stuff. Tailscale works!
2025-09-07 23:11:01 +12:00

118 lines
3.4 KiB
Bash
Executable File

#!/bin/bash
# shellcheck disable=SC1091
source "${AGENT_PATH}/common.sh"
_check_required_env_vars "CONTAINER_NAME" "KIOSK_USER"
# Squash Display Status Script
echo "Squash Display Kiosk Status"
echo "============================"
# Check setup container status
echo ""
echo "Setup Container Status:"
echo "-----------------------"
if ! _is_container_exists "$CONTAINER_NAME"; then
echo "Status: Not Found"
echo "The setup container does not exist."
echo "Run installation to configure the kiosk: ./install.sh"
else
if _is_container_running "$CONTAINER_NAME"; then
echo "Status: Running (Setup in progress)"
else
EXIT_CODE=$(docker inspect ${CONTAINER_NAME} --format='{{.State.ExitCode}}' 2>/dev/null)
if [ "$EXIT_CODE" = "0" ]; then
echo "Status: Completed Successfully"
else
echo "Status: Failed (Exit code: $EXIT_CODE)"
echo "Check logs: docker logs ${CONTAINER_NAME}"
fi
fi
fi
# Check host kiosk configuration
echo ""
echo "Host Kiosk Configuration:"
echo "-------------------------"
# Check if kiosk user exists
if id -u ${KIOSK_USER} >/dev/null 2>&1; then
echo "✓ Kiosk user exists: ${KIOSK_USER}"
else
echo "✗ Kiosk user not found: ${KIOSK_USER}"
fi
# Check if kiosk script exists
if [ -f "/home/${KIOSK_USER}/kiosk.sh" ]; then
echo "✓ Kiosk script installed"
else
echo "✗ Kiosk script not found"
fi
# Check if auto-login is configured
if [ -f "/etc/systemd/system/getty@tty1.service.d/autologin.conf" ]; then
echo "✓ Auto-login configured"
else
echo "✗ Auto-login not configured"
fi
# Check if Chromium is installed
if command -v chromium-browser >/dev/null 2>&1 || command -v chromium >/dev/null 2>&1; then
echo "✓ Chromium browser installed"
else
echo "✗ Chromium browser not installed"
fi
# Check if X server is installed
if command -v xinit >/dev/null 2>&1; then
echo "✓ X server installed"
else
echo "✗ X server not installed"
fi
# Check for running Chromium process
echo ""
echo "Kiosk Process Status:"
echo "--------------------"
if pgrep -f "chromium.*--kiosk" >/dev/null 2>&1; then
echo "✓ Chromium kiosk is running"
CHROMIUM_PID=$(pgrep -f "chromium.*--kiosk" | head -1)
echo " PID: ${CHROMIUM_PID}"
# Try to get the URL being displayed
if [ -n "$CHROMIUM_PID" ]; then
CMDLINE=$(ps -p ${CHROMIUM_PID} -o args= 2>/dev/null | grep -oE 'https?://[^ ]+' | head -1)
[ -n "$CMDLINE" ] && echo " URL: ${CMDLINE}"
fi
else
echo "✗ Chromium kiosk is not running"
echo " This is normal if the system hasn't been rebooted after installation"
fi
# Check X server
if pgrep -x "Xorg" >/dev/null 2>&1 || pgrep -x "X" >/dev/null 2>&1; then
echo "✓ X server is running"
else
echo "✗ X server is not running"
fi
# Display current configuration
echo ""
echo "Current Configuration:"
echo "---------------------"
echo "Kiosk URL: ${KIOSK_URL}"
echo "Kiosk User: ${KIOSK_USER}"
echo "Display: ${DISPLAY_WIDTH}x${DISPLAY_HEIGHT}@${DISPLAY_REFRESH}Hz"
echo "Watchdog Enabled: ${ENABLE_WATCHDOG}"
echo "Auto-login Enabled: ${ENABLE_AUTO_LOGIN}"
echo "HDMI Keep-Alive: ${ENABLE_HDMI_KEEP_ALIVE}"
echo ""
echo "Tips:"
echo "-----"
echo "- If kiosk is not running, reboot the system: sudo reboot"
echo "- To test manually: sudo -u ${KIOSK_USER} startx /home/${KIOSK_USER}/kiosk.sh"
echo "- View logs: journalctl -u getty@tty1 -f"
echo "- Reconfigure: ./configure.sh"
exit 0