安装
到官网下载linux安装软件,是deb后缀的那个:IDE - Kiro
下载到/tmp目录,然后进入linux仿真环境
sudo chroot /compat/ubuntu /bin/bash
我是把仿真环境的/tmp挂载了FreeBSD下的/tmp,这样用文件比较方便.
然后执行apt安装
sudo apt install -f /tmp/kiro-ide-1.2.56-stable-linux-x64.deb
安装好后启动kiro碰到问题
把下面这段prompt给workbuddy:
我在192.168.0.88 FreeBSD系统的linux仿真环境下(sudo chroot /compat/ubuntu /bin/bash),安装了kiro,但是启动后没有任何显示,这应该是kiro的ide 界面agent ! 使用的是skywalk用户,理论上你用workbuddy这个账户应该也一样的
Workbuddy解决问题
根因
Kiro 是 Electron / X11 图形界面(/usr/share/kiro/bin/kiro 来自 .deb)。你的 /compat/ubuntu 是 Linuxulator 仿真环境,里面没有"没有显示器"------问题在两点:
DISPLAY 被丢掉:sudo chroot /compat/ubuntu /bin/bash 进的 shell 是个全新环境,DISPLAY 没有从 XFCE 桌面会话带进来。
X 授权 cookie 缺失:chroot 里 ~skywalk/.Xauthority 根本不存在,而真正的 cookie 只存在于 SDDM 的文件 /var/run/sddm/xauth_*(600,属主 sddm)。
结果 Kiro 找不到能连的 X display → 静默无显示(不是崩了,是连不上)。
关键点:X socket 本身是通的------主机 /tmp 通过 nullfs 挂进了 chroot(/tmp on /compat/ubuntu/tmp),所以 /tmp/.X11-unix/X0 在 chroot 里能看到,且主机 :0 就是 skywalk 的 XFCE 桌面(SDDM + Xorg + XFCE 都在跑)。不需要 Xvfb,也不需要 X forwarding。
实测验证(已做)
我把 SDDM 的 cookie 拷进 chroot 的 ~skywalk/.Xauthority,在 chroot 内 DISPLAY=:0 启动 Kiro,然后:
xlsclients -display :0 → 出现 fb98 kiro(说明 GUI 已连上主机 :0 的 X)
Kiro 进程齐全(main + zygote + --ozone-platform=x11 gpu-process,日志为空=零报错)
验证完我把那个测试实例杀了(它用的是临时 profile,不想留个野 IDE 在你桌面上)。
你要怎么跑(两步)
第 1 步(每次 X 重启 / 重新登录桌面后要重做,因为 cookie 会轮换)------在 FreeBSD 主机上,用有 sudo 的账户(workbuddy 或 skywalk 都行,已 NOPASSWD):
shsudo cp /var/run/sddm/xauth_* /tmp/sddm.xa
sudo cp /tmp/sddm.xa /compat/ubuntu/home/skywalk/.Xauthority
sudo chown skywalk:skywalk /compat/ubuntu/home/skywalk/.Xauthority
sudo chmod 600 /compat/ubuntu/home/skywalk/.Xauthority
第 2 步:进 chroot,设好环境变量再启动:
shsudo chroot /compat/ubuntu /bin/bash
export DISPLAY=:0
export XAUTHORITY=/home/skywalk/.Xauthority
kiro --no-sandbox
--no-sandbox 是因为在 chroot 里 Electron 的 SUID 沙箱起不来(非 root 加它也无害)。Kiro 窗口就会出现在你的 XFCE 桌面(:0)上。
想一劳永逸
第 1 步那个 cookie 拷贝可以做成脚本/alias 一键执行(SDDM 重新发 cookie 时才需要重跑)。要的话我帮你写个 kiro-chroot 包装脚本,把"拷 cookie + 进 chroot + 起 Kiro"合成一条命令。
包装脚本已写好并装到 fb98,冒烟验证通过(xlsclients -display :0 出现 fb98 kiro,26 个进程,启动日志为空,测完已杀掉测试实例并清理临时 profile)。
装到哪了
/usr/local/bin/kiro-chroot(fb98 上,755,全系统可用)。本地副本也在 kiro-chroot。
用法
在你常用账户(skywalk 或 workbuddy,都要有 sudo)下直接: sh kiro-chroot # 正常启动,窗口出现在桌面 :0
kiro-chroot --user-data-dir=/home/skywalk/.kiro # 带任意 kiro 参数也行
脚本自己会做三件事,你不用再手动拷 cookie: 1. 找 SDDM 的 xauth 文件(/var/run/sddm/xauth_*),sudo 拷进 chroot ~skywalk/.Xauthority; 2. sudo chroot /compat/ubuntu,以 skywalk 身份 exec kiro --no-sandbox,并显式带 DISPLAY=:0 + XAUTHORITY; 3. 透传你给的所有参数(用 chroot bash 的 $@ 安全展开,带空格的参数也没问题)。
几个注意点
• sudo 免密:脚本内部多次用 sudo。workbuddy 在 fb98 是 NOPASSWD;若你用 skywalk 跑且没配 NOPASSWD,会弹一次 sudo 密码。 • cookie 自动刷新:每次运行都重新拷 cookie,所以 X 重启 / 重新登录桌面后直接再跑 kiro-chroot 就行,不用记手动步骤。 • --no-sandbox 是必须的:在 chroot 里 Electron 的 SUID 沙箱起不来,不加会卡住或报错;非 root 加它也无害。 • 之前 /compat/ubuntu/tmp 里那堆上 GB 的 .org.chromium.Chromium.* 残留还在,要清的话跟我说一声。
制作桌面图标
-
启动器 :
/home/skywalk/Desktop/kiro.desktop(755,属主 skywalk),内容:plaintext
[Desktop Entry] Name=Kiro IDE Exec=/usr/local/bin/kiro-chroot Icon=/usr/local/share/pixmaps/kiro.png Terminal=false Categories=Development;IDE; StartupNotify=true
总结
kiro启动后如下:

可以看到这是在FreeBSD系统下哦!
但是kiro下AI的版本很低,比如deepseek3.2 和glm5 .我不清楚亚马逊是实在傲慢,还是真的不行....
附录
在FreeBSD主机的一键执行源码: /usr/local/bin/kiro-chroot
#!/bin/sh
#
# kiro-chroot --- 在 FreeBSD 的 Linuxulator chroot (/compat/ubuntu) 里启动 Kiro IDE,
# 并让它显示在主机 X 会话 (:0) 上。
#
# 背景:
# * Kiro 是 Electron/X11 GUI,必须连到 X display 才能显示。
# * 主机 /tmp 通过 nullfs 挂进 chroot,所以 chroot 内 /tmp/.X11-unix/X0 就是主机 X socket,
# 显示链路本身通,只需把 DISPLAY 和 X 授权 cookie 带进 chroot。
# * 真正的 X cookie 在 SDDM 文件 /var/run/sddm/xauth_*(600,属主 sddm),
# 需要 sudo 读出来拷进 chroot 内 ~skywalk/.Xauthority。
#
# 用法:kiro-chroot [kiro 的额外参数...]
# 例:kiro-chroot
# kiro-chroot --user-data-dir=/home/skywalk/.kiro
#
set -e
CHROOT=/compat/ubuntu
XUSER=skywalk
# 找到 SDDM 的 xauth 文件(主机 X 会话在跑才有)
SDDM_XA=$(ls -1 /var/run/sddm/xauth_* 2>/dev/null | head -n1)
if [ -z "$SDDM_XA" ]; then
echo "ERROR: 找不到 /var/run/sddm/xauth_*,主机 X 会话似乎没在运行(SDDM/Xorg :0)。" >&2
exit 1
fi
# 1) 把 X cookie 同步进 chroot(sudo 读 sddm 的 600 文件;X 重启/重登后 cookie 会轮换,重跑本脚本即可)
sudo cp "$SDDM_XA" /tmp/sddm.xa
sudo cp /tmp/sddm.xa "$CHROOT/home/$XUSER/.Xauthority"
sudo chown "$XUSER:$XUSER" "$CHROOT/home/$XUSER/.Xauthority"
sudo chmod 600 "$CHROOT/home/$XUSER/.Xauthority"
# 2) 进 chroot,以 $XUSER 身份启动 kiro(显式带 DISPLAY/XAUTHORITY;--no-sandbox 因在 chroot 内跑不起来)
# $@ 由外层 chroot bash 负责安全展开(保留空格/特殊字符)。
exec sudo chroot "$CHROOT" /bin/bash -c \
'exec su '"$XUSER"' -c "DISPLAY=:0 XAUTHORITY=/home/'"$XUSER"'/.Xauthority exec kiro --no-sandbox $@"' \
_ "$@"
执行这个文件,直接进入linux仿真环境,并启动kiro