#!/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 || command -v google-chrome >/dev/null 2>&1; then echo "✓ Chromium/Chrome browser installed" else echo "✗ Chromium/Chrome 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 browser process echo "" echo "Kiosk Process Status:" echo "--------------------" if pgrep -f "chromium.*--kiosk\|chrome.*--kiosk" >/dev/null 2>&1; then echo "✓ Browser kiosk is running" BROWSER_PID=$(pgrep -f "chromium.*--kiosk\|chrome.*--kiosk" | head -1) echo " PID: ${BROWSER_PID}" # Try to get the URL being displayed if [ -n "$BROWSER_PID" ]; then CMDLINE=$(ps -p ${BROWSER_PID} -o args= 2>/dev/null | grep -oE 'https?://[^ ]+' | head -1) [ -n "$CMDLINE" ] && echo " URL: ${CMDLINE}" fi else echo "✗ Browser 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