39 lines
1.2 KiB
Bash
39 lines
1.2 KiB
Bash
#!/bin/bash
|
||||
|
|
# run_desktop_host.sh — 在 Linux 下直接启动 Deshab 桌面进行测试
|
|||
|
|
#
|
|||
|
|
# 用法:
|
|||
|
|
# ./ISO/run_desktop_host.sh # 编译并运行,默认 ISO/deshab.img
|
|||
|
|
# ./ISO/run_desktop_host.sh /path/to.img # 指定镜像
|
|||
|
|
#
|
|||
|
|
# 依赖:libsdl2-dev(Debian/Ubuntu: sudo apt install libsdl2-dev)
|
|||
|
|
|
|||
|
|
set -e
|
|||
|
|
|
|||
|
|
# 定位项目根(本脚本位于 ISO/ 下)
|
|||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|||
|
|
ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|||
|
|
IMG="${1:-$ROOT/ISO/deshab.img}"
|
|||
|
|
|
|||
|
|
# 检查 SDL2
|
|||
|
|
if ! command -v sdl2-config >/dev/null 2>&1; then
|
|||
|
|
echo "[run] 错误:未找到 sdl2-config,请先安装 libsdl2-dev" >&2
|
|||
|
|
echo " Debian/Ubuntu: sudo apt install libsdl2-dev" >&2
|
|||
|
|
echo " Fedora: sudo dnf install SDL2-devel" >&2
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 检查镜像
|
|||
|
|
if [ ! -f "$IMG" ]; then
|
|||
|
|
echo "[run] 错误:镜像不存在: $IMG" >&2
|
|||
|
|
echo " 请先在 Windows 下运行 build.bat 生成 ISO/deshab.img" >&2
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 编译
|
|||
|
|
echo "[run] 编译 desktop_host($(basename "$IMG"))..."
|
|||
|
|
make -C "$ROOT/CODE/desktop" -f Makefile.linux
|
|||
|
|
|
|||
|
|
# 运行
|
|||
|
|
echo "[run] 启动桌面..."
|
|||
|
|
exec "$ROOT/CODE/desktop/desktop_host" --img "$IMG"
|