xworkspace-console/scripts/start-chromium-console.sh
2026-06-07 13:01:06 +08:00

46 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
CONFIG_FILE="${ROOT_DIR}/config/xworkspace-desktop.yaml"
read_yaml() {
python3 - "$CONFIG_FILE" "$1" <<'PY'
import sys
from pathlib import Path
import yaml
config_path = Path(sys.argv[1])
path = sys.argv[2].split(".")
data = yaml.safe_load(config_path.read_text())
value = data
for part in path:
value = value[part]
print(value)
PY
}
DEFAULT_URL="$(read_yaml desktop.dashboard_url)"
BROWSER_BINARY="$(read_yaml desktop.browser_binary)"
BROWSER_FALLBACK="$(read_yaml desktop.browser_fallback)"
URL="${1:-${DEFAULT_URL}}"
if command -v "${BROWSER_BINARY}" >/dev/null 2>&1; then
exec "${BROWSER_BINARY}" \
--app="${URL}" \
--user-data-dir="${HOME}/.config/xworkspace-chrome" \
--profile-directory=Default \
--no-first-run \
--disable-session-crashed-bubble \
--disable-sync \
--new-window
fi
exec "${BROWSER_FALLBACK}" \
--app="${URL}" \
--user-data-dir="${HOME}/.config/xworkspace-chromium" \
--no-first-run \
--disable-session-crashed-bubble \
--disable-sync \
--new-window