49 lines
1.8 KiB
Bash
Executable File
49 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# Disable keyring prompts
|
|
export GNOME_KEYRING_CONTROL=""
|
|
export DISPLAY=:0
|
|
|
|
# Force X11 instead of Wayland for better fullscreen support
|
|
export GDK_BACKEND=x11
|
|
unset WAYLAND_DISPLAY
|
|
|
|
# Wait for display and desktop environment to be ready
|
|
# Check if DISPLAY is accessible (wait up to 30 seconds)
|
|
for i in {1..60}; do
|
|
if xset q >/dev/null 2>&1 || [ -n "$DISPLAY" ]; then
|
|
# Wait for desktop environment to be fully loaded
|
|
if pgrep -x pcmanfm >/dev/null 2>&1 || pgrep -x lxsession >/dev/null 2>&1 || pgrep -x xfdesktop >/dev/null 2>&1; then
|
|
break
|
|
fi
|
|
fi
|
|
sleep 0.5
|
|
done
|
|
|
|
# Additional delay to ensure window manager is fully ready
|
|
sleep 5
|
|
|
|
# Start Chromium with flags to avoid keyring and ensure proper fullscreen
|
|
# Force X11 platform and add fullscreen-related flags
|
|
# Fullscreen mode (current active)
|
|
/usr/bin/chromium --start-fullscreen --noerrdialogs --disable-infobars --disable-session-crashed-bubble --disable-restore-session-state --no-first-run --password-store=basic --use-mock-keychain --ozone-platform=x11 --disable-features=UseChromeOSDirectVideoDecoder --app=http://127.0.0.1:8080 &
|
|
|
|
# Wait for Chromium window to appear and then force fullscreen
|
|
sleep 3
|
|
# Try to find Chromium window and force it to fullscreen
|
|
for i in {1..10}; do
|
|
WINDOW_ID=$(wmctrl -l 2>/dev/null | grep -i chromium | head -1 | awk '{print $1}')
|
|
if [ -n "$WINDOW_ID" ]; then
|
|
wmctrl -i -r "$WINDOW_ID" -b add,fullscreen 2>/dev/null
|
|
break
|
|
fi
|
|
sleep 0.5
|
|
done
|
|
|
|
|
|
|
|
# Keep script running
|
|
wait
|
|
|
|
# Kiosk mode (commented out - uncomment to use instead of fullscreen)
|
|
# /usr/bin/chromium --kiosk --noerrdialogs --disable-infobars --disable-session-crashed-bubble --disable-restore-session-state --no-first-run --password-store=basic --use-mock-keychain --ozone-platform=x11 --app=http://127.0.0.1:8080
|