
All checks were successful
Test and Publish Templates / test-and-publish (push) Successful in 34s
118 lines
3.4 KiB
Bash
Executable File
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 |