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"
|