在FreeBSD系统的linux仿真环境下安装和使用kiro 这个亚马逊的AI agent

安装

到官网下载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.* 残留还在,要清的话跟我说一声。

制作桌面图标

  1. 启动器 :/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

相关推荐
Mikko71 小时前
Linux 磁盘满了但 du 找不到?LVM 扩容 df 不变?fstab 写错开不了机?三台真机实测磁盘排查
linux·运维·centos
ForeverYang20151 小时前
一种无需训练缺陷数据生成算法--O2MAG
人工智能·深度学习·算法
悟天特斯1 小时前
AI节能的“精准之道“:从粗放省电到分区分时的精细化调控
人工智能·物联网
蓝鲨硬科技1 小时前
向新而生,与AI俱进——2026 产业独角兽评选启动
人工智能
Madison-No71 小时前
多语言聊天大模型--测试报告
linux·git·python·selenium·jmeter·自动化·postman
鲲鹏ai2 小时前
盈启鲲鹏数字人招商政策
大数据·人工智能·python
时空节拍AI数字人2 小时前
数字文旅补贴来了,景区申报要注意什么?
大数据·人工智能·百度·3d·ai·架构·aigc
Liuqy-052 小时前
特殊进程——孤儿、僵尸、守护进程
linux·运维·服务器
Martina_03212 小时前
AI生成3D模型导入后只剩一个大网格?用6步完成微缩场景拆分与优化
人工智能·游戏·数学建模·3d·ai·自然语言处理·aigc