cang-ying/scripts/eed-tauri.sh

34 lines
1.3 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
# eed-tauri.sh — 苍耳面板·Tauri 真桌面壳启动器
#
# 修复"点图标唤不醒"
# 根因1 壳关窗=隐藏到托盘且无单实例保护 → 进程越堆越多,新窗口不前台
# 根因2 旧版脚本会无脑重启面板 → 打断正在跑的对话
# 现在的策略:
# ① 只留一个壳(先杀干净旧壳,含 WebKit 子进程)
# ② 面板健康就不动它(不打断正在跑的任务),只有挂了才重启
# ③ 等面板真的能连上再开窗,避免白屏
# 注意pkill -x 精确匹配进程名,避免误杀脚本自身(曾踩坑)
URL="http://127.0.0.1:8765"
# ① 清掉旧壳(隐藏在托盘里的那些"看不见的实例"
pkill -x eed-desktop 2>/dev/null
sleep 1
pkill -9 -x eed-desktop 2>/dev/null
# ② 面板健康检查:能连上就复用,不重启(保住正在跑的对话)
if curl -s --max-time 2 "$URL" >/dev/null 2>&1; then
echo "🟢 面板已在运行,直接开窗(不打断当前对话)"
else
echo "🟡 面板未运行,正在拉起…"
bash /home/ls/cang-ying/scripts/restart-eed.sh >/dev/null 2>&1 &
for _ in $(seq 1 20); do
curl -s --max-time 2 "$URL" >/dev/null 2>&1 && break
sleep 1
done
fi
# ③ 开窗
exec /home/ls/cang-ying/bin/eed-desktop