startUOSBrower.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/bin/bash
  2. # test with sudo runuser -u root bash {script_path}
  3. set -x
  4. name=$(whoami)
  5. echo "start $0 with $name"
  6. for arg in "$@"; do
  7. if [[ "$arg" =~ ^--vtm_browser_type=(.*)$ ]]; then
  8. vtm_browser_type="${BASH_REMATCH[1]}"
  9. echo "浏览器类型: $vtm_browser_type"
  10. break # 找到后退出循环
  11. fi
  12. done
  13. if [[ -z "$vtm_browser_type" ]]; then
  14. echo "未指定浏览器类型"
  15. fi
  16. GROUP_NAME=${vtm_browser_type:-default_browser}
  17. exec="/usr/share/uosbrowser/uosbrowser" # 使用传入的参数值作为要执行的命令
  18. echo "run $exec"
  19. # get env
  20. pid=$(pgrep startdde)
  21. # source env from $pid
  22. # shellcheck disable=SC1090
  23. . <(xargs -0 bash -c 'printf "export %q\n" "$@"' -- </proc/$pid/environ)
  24. name=$(ps -o uname= -p "${pid}")
  25. echo "run in $name"
  26. FILE="/tmp/$GROUP_NAME.pgid"
  27. rm -f "$FILE" # 强制删除文件(忽略不存在的情况)
  28. touch "$FILE" # 创建新文件
  29. chmod 666 "$FILE" # 可选:设置权限
  30. if [ $# -eq 0 ]
  31. then
  32. runuser -u $name -- bash -c "setsid $exec & sudo echo \$! > /tmp/$GROUP_NAME.pgid"
  33. else
  34. runuser -u $name -- bash -c "setsid $exec $* & sudo echo \$! > /tmp/$GROUP_NAME.pgid"
  35. fi
  36. PGID=$(cat /tmp/$GROUP_NAME.pgid)
  37. echo "UOS Browser 已启动:"
  38. echo "PGID: $PGID"
  39. exit $?