Antigravity IDE 远程开发 Server Crashed 解决方案

解决 Antigravity IDE 在连接到老旧的 CPU 服务器上进行远程开发时,出现的 Antigravity server crashed unexpectedly. Please restart to fully restore AI features. 崩溃报错问题。

问题背景

硬件环境:

  • 本地机器: Windows 11
  • 远程开发机: J1900 (蜗牛星际),Debian 13

一直使用的 Claude Code 和 Codex,今天想感受一下 Gemini Pro 模型的前端能力,结果安装完 Antigravity IDE 后连接物理机进行 Remote-SSH 开发时,直接报错无法打开AI侧栏。

核心的报错信息:

  • Antigravity server crashed unexpectedly. Please restart to fully restore AI features.
  • 日志显示:FATAL ERROR: This binary was compiled with aes enabled, but this feature is not available on this processor (go/sigill-fail-fast).

解决方案参考:https://github.com/devanshug2307/antigravity-discussions/discussions/18

修改完成后,IDE的启动会异常耗时(1~2分钟),这个是正常现象

准备工作

前往 Intel® Software Development Emulator

下载 sde-external-10.7.0-2026-02-18-lin.tar.xz

1
2
3
4
5
# 在服务器上创建目录并解压
mkdir -p ~/intel-sde
tar -xf sde-external-10.7.0-2026-02-18-lin.tar.xz -C ~/intel-sde --strip-components=1
# 确保 64 位模拟器拥有执行权限
chmod +x ~/intel-sde/sde64

修改 Linux 内核参数允许进程注入

Intel SDE 需要通过 ptrace 机制来拦截二进制文件。Debian 等系统的默认安全策略会拦截这一行为,需要将其开放:

1
2
echo 'kernel.yama.ptrace_scope = 0' | sudo tee /etc/sysctl.d/99-ptrace.conf
sudo sysctl -p /etc/sysctl.d/99-ptrace.conf

定位远程服务端目录

Antigravity Server 会在你的用户目录下生成一个带有随机哈希值的文件夹。使用 find 命令找到它:

1
2
3
find ~/.antigravity-server -type f -name "language_server_linux_x64" 2>/dev/null

# 大概率就是类似的文件夹: ~/.antigravity-server/bin/1.xx.xx-xxx/extensions/antigravity/bin

劫持并替换语言服务器进程

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 1. 进入你刚才找到的 language_server_linux_x64 所在的目录:
cd /home/izumi/.antigravity-server/bin/1.xx.xx-xxx/extensions/antigravity/bin/

# 2. 修复目录权限,确保 SDE 能生成日志
sudo chown -R $USER:$USER .

# 3. 隐藏原版二进制文件
mv language_server_linux_x64 language_server_linux_x64.real

# 4. 创建拦截 Wrapper 脚本
vim language_server_linux_x64

将以下脚本粘到 language_server_linux_x64 文件里

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/bin/bash
SDE_BIN="$HOME/intel-sde/sde64"
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

# 核心优化:限制为单核运行,防止 SDE 模拟耗尽 J1900 的所有算力导致 Debian 直接死机
export GOMAXPROCS=1
export GODEBUG=http2client=0,tls13=0

# 核心参数 -skx:由 Kai-972 补充。
# 不要用 -aes,因为 Go 语言底层会先通过 CPUID 检查芯片架构。
# -skx 会模拟一个完整的 Skylake-X 架构(包含伪造的 CPUID 和 AES-NI 指令集)骗过底层校验。
exec "$SDE_BIN" -skx -- "$DIR/language_server_linux_x64.real" "$@" >> "$HOME/wrapper-debug.log" 2>&1

赋予脚本权限:

1
chmod +x language_server_linux_x64

延长 Antigravity IDE 的硬编码超时限制

这一步可以看情况做,如果你启动发现超时报错,就需要调整它的超时时间

1
2
3
4
5
2026-03-21 15:47:51.619 [info] (Antigravity) 2026-03-21 15:47:51.615 [ERROR]: Failed to start language server: Error: Timed out waiting for language server start

2026-03-21 15:47:51.623 [info] (Antigravity) 2026-03-21 15:47:51.623 [ERROR]: LS startLanguageServer error: Timed out waiting for language server start

2026-03-21 15:48:12.943 [info] (Antigravity) 2026-03-21 15:48:12.942 [INFO]: Language server exited with code 0

首先找到控制超时时间的代码位置

1
grep -rl "Timed out waiting for language server start" ~/.antigravity-server/bin/ --include="*.js"

能看到输出: /home/izumi/.antigravity-server/bin/1.xx.xx-xx/extensions/antigravity/dist/extension.js

打开文件后搜索找到类似这样的代码:

1
setTimeout(()=>{... t(new Error("Timed out waiting for language server start")))}, 6e4)

6e4 改大,我这里是直接改成 30e4

重启 IDE 耐心等待即可发现成功连接

success

最后注意 IDE 更新后,整个 Server 目录的路径可能会被,需要重走上述步骤,或者你可以让 AI 写一个一键脚本,因为我只是临时用用,就不做后续处理了。

转载请保留本文转载地址,著作权归作者所有
使用 Hugo 构建 主题 StackJimmy 设计