跳转至内容
  • 最近帖子
  • 0 未读帖子 0
  • 板块分类
  • 服务状态
  • 跳转官网
  • 帮助文档
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠

XTerminal 反馈社区

  1. 首页
  2. 版块
  3. xterminal 更新日志
  4. v5.6.3 | 2026-04-10

v5.6.3 | 2026-04-10

已定时 已固定 已锁定 已移动 xterminal 更新日志
19 帖子 12 发布者 4.0k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • X 离线
    X 离线
    XTerminal 1
    发表于 最后由 编辑
    #9

    5.6.3 版本
    1、我开启了命令工具,希望默认选中的tab是快捷命令这个选项,或者这个默认选中的选项可以设置,对于我来说快捷输入没啥用。且弹出后希望窗口出现在右下角,而不是在左上角,我还得大幅度的移动鼠标过去。
    2、cd到某个目录立即ls一下,就会弹出“目标目录不存在,已自动切换到 /root”, 实际上这个目录是存在的,并且我也已经cd进去了那个目录。特别是在文件工作区打开的情况下更容易复现。

    1 条回复 最后回复
    0
    • Y 离线
      Y 离线
      YueZZ
      发表于 最后由 编辑
      #10

      Ubuntu 20.04.6 LTS 有 XTerminal GLIBC。
      新建ssh的时候 会有报错。

      image.png

      image.png

      XTerminal GLIBC 兼容性修复文档
      问题描述
      在 Ubuntu 20.04(GLIBC 2.31)上运行 XTerminal 5.6.0 时,出现以下错误:

      /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found
      (required by /opt/XTerminal/resources/app.asar.unpacked/node_modules/better-sqlite3/build/Release/better_sqlite3.node)
      根因:XTerminal 自带的 better_sqlite3.node 预编译二进制文件是在 GLIBC 2.33+ 的系统上编译的,与 Ubuntu 20.04 的 GLIBC 2.31 不兼容。

      环境信息
      项目 版本
      操作系统 Ubuntu 20.04 (Linux 5.15.0-139-generic)
      GLIBC 2.31
      XTerminal 5.6.0
      Electron 40.6.0 (Chrome 144, Node ABI 143)
      better-sqlite3 12.6.2
      系统 Node.js v18.20.8 (nvm)
      修复方案:本地重新编译 better-sqlite3
      由于预编译的二进制文件不兼容,在本地使用 g++-11 重新编译 better_sqlite3.node,使其链接到本地 GLIBC 2.31。

      操作步骤

      1. 安装 g++-11 编译器
        better-sqlite3 12.6.2 + Electron 40 的 V8 头文件需要完整的 C++20 支持(包括 <compare> 和 <source_location> 头文件),至少需要 GCC 11。

      为什么不能用 GCC 9 或 GCC 10?

      GCC 9:不支持 -std=c++20 标志(只有 -std=c++2a),且缺少 <compare> 头文件
      GCC 10:支持 -std=c++20,有 <compare>,但缺少 <source_location> 头文件
      GCC 11+:完整支持 C++20 所有特性 ✅
      Ubuntu 20.04 默认仓库不含 g++-11,需要从 Ubuntu Toolchain PPA 安装:

      步骤 1:添加 PPA(需要网络访问 Launchpad)

      sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test

      步骤 2:更新包列表

      sudo apt-get update

      步骤 3:安装 g++-11

      sudo apt-get install -y g++-11
      注意:如果 add-apt-repository 命令卡住(常见于公司内网环境,因为无法访问 ppa.launchpad.net), 可以 Ctrl+C 取消后直接尝试 sudo apt-get install -y g++-11。 原因:add-apt-repository 在超时前可能已经将 PPA 源写入了 /etc/apt/sources.list.d/ 并部分更新了包列表。

      如果仍然找不到包,可以手动添加源:

      echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/ubuntu-toolchain-r-test.list
      sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1E9377A2BA9EF27F
      sudo apt-get update
      sudo apt-get install -y g++-11
      验证安装:

      g++-11 --version

      输出: g++-11 (Ubuntu 11.5.0-...) 11.5.0

      1. 创建临时编译目录
        mkdir -p /tmp/rebuild-better-sqlite3
        cd /tmp/rebuild-better-sqlite3
        npm init -y

      2. 安装 better-sqlite3 源码
        cd /tmp/rebuild-better-sqlite3
        npm install better-sqlite3@12.6.2 --registry=https://registry.npmmirror.com
        注意:这一步使用系统 Node.js 编译,会有 engine 版本警告,可以忽略。

      3. 为 Electron 40.6.0 重新编译
        关键步骤:使用 node-gyp 指定 Electron 的头文件来编译,确保 ABI 匹配。

      cd /tmp/rebuild-better-sqlite3/node_modules/better-sqlite3

      CXX=g++-11 CC=gcc-11 npx node-gyp rebuild
      --release
      --target=40.6.0
      --arch=x64
      --dist-url=https://electronjs.org/headers
      编译参数说明:

      CXX=g++-11 CC=gcc-11:指定使用 GCC 11 编译器
      --target=40.6.0:指定 Electron 版本,用于下载对应的 Node.js 头文件
      --arch=x64:目标架构
      --dist-url=https://electronjs.org/headers:Electron 头文件下载地址
      编译成功标志:输出末尾显示 gyp info ok。

      1. 验证编译产物
        检查新编译的文件不依赖高版本 GLIBC:

      objdump -T /tmp/rebuild-better-sqlite3/node_modules/better-sqlite3/build/Release/better_sqlite3.node
      | grep GLIBC | awk '{print $5}' | sort -u
      预期结果:最高 GLIBC 版本应 <= 2.31(实测最高为 GLIBC_2.29)。

      1. 备份并替换原文件

      备份原文件

      sudo cp /opt/XTerminal/resources/app.asar.unpacked/node_modules/better-sqlite3/build/Release/better_sqlite3.node
      /opt/XTerminal/resources/app.asar.unpacked/node_modules/better-sqlite3/build/Release/better_sqlite3.node.bak

      替换为新编译的文件

      sudo cp /tmp/rebuild-better-sqlite3/node_modules/better-sqlite3/build/Release/better_sqlite3.node
      /opt/XTerminal/resources/app.asar.unpacked/node_modules/better-sqlite3/build/Release/better_sqlite3.node
      7. 重启 XTerminal
      killall xterminal
      sleep 1
      /opt/XTerminal/xterminal &
      GLIBC 依赖对比
      原始文件 重新编译后
      GLIBC 最高版本 2.34 ❌ 2.29 ✅
      GLIBCXX 最高版本 3.4.29 3.4.29
      文件大小 2,140,552 bytes 2,143,536 bytes
      回退方法
      如果替换后出现问题,可以恢复原始文件:

      sudo cp /opt/XTerminal/resources/app.asar.unpacked/node_modules/better-sqlite3/build/Release/better_sqlite3.node.bak
      /opt/XTerminal/resources/app.asar.unpacked/node_modules/better-sqlite3/build/Release/better_sqlite3.node
      注意事项
      XTerminal 更新后需重复操作:XTerminal 更新时会覆盖 better_sqlite3.node,需要重新执行步骤 3-7。更新后 Electron 版本和 better-sqlite3 版本可能会变,需要重新获取:

      获取新的 Electron 版本

      ELECTRON_RUN_AS_NODE=1 /opt/XTerminal/xterminal -e "console.log('Electron:', process.versions.electron)"

      获取新的 better-sqlite3 版本

      前提:已全局安装 asar 工具(npm install -g @electron/asar)

      ASAR_PATH=$(npm root -g)/@electron/asar
      node -e "const asar = require('$ASAR_PATH'); const buf = asar.extractFile('/opt/XTerminal/resources/app.asar', 'node_modules/better-sqlite3/package.json'); console.log('better-sqlite3:', JSON.parse(buf).version);"
      获取到的版本号对应使用位置:
      Electron 版本(如 40.6.0)→ 用于步骤 4 的 --target=40.6.0 参数,指定编译目标的 Node ABI
      better-sqlite3 版本(如 12.6.2)→ 用于步骤 3 的 npm install better-sqlite3@12.6.2,安装匹配的源码
      GCC 版本要求:
      GCC 9:不支持 -std=c++20 标志
      GCC 10:缺少 <source_location> 头文件
      GCC 11+:满足所有 C++20 要求 ✅
      编译缓存:Electron 头文件缓存在 ~/.cache/node-gyp/40.6.0/,首次编译需下载
      备份文件位置:/opt/XTerminal/resources/app.asar.unpacked/node_modules/better-sqlite3/build/Release/better_sqlite3.node.bak
      其他可选方案(未采用)
      方案 优缺点
      升级到 Ubuntu 22.04+ 彻底解决,但需要全面升级系统
      降级 better-sqlite3 可能与 XTerminal 不兼容
      Docker 容器运行 过于重量级
      升级 GLIBC 风险极高,可能导致系统不稳定
      文档生成日期:2026-04-07 操作环境:Ubuntu 20.04 LTS, XTerminal 5.6.0, Electron 40.6.0

      1 条回复 最后回复
      0
      • I 离线
        I 离线
        ikun
        发表于 最后由 编辑
        #11

        刚发现可以自定义复制粘贴快捷键了,这功能提了两年终于来了~ 这下舒服了,吹爆

        1 条回复 最后回复
        0
        • S 离线
          S 离线
          saver1357
          发表于 最后由 编辑
          #12

          好像还是没有导出ssh配置的功能啊

          1 条回复 最后回复
          0
          • K 离线
            K 离线
            kaiarvin
            发表于 最后由 编辑
            #13

            自定义高亮无法使用:通用终端设置的自定义高亮在设置完后颜色不会保存,会变成绿色。

            稳弟稳 1 条回复 最后回复
            0
            • L 离线
              L 离线
              lindk
              编写于 最后由 编辑
              #14

              毫米恶心啊,连接服务器后,屏幕下面中间那个 打开命令行工具 关不掉,真恶心

              1 条回复 最后回复
              0
              • L 离线
                L 离线
                lindk
                编写于 最后由 编辑
                #15

                image.png
                这个怎么关掉啊

                稳弟稳 1 条回复 最后回复
                0
                • N 离线
                  N 离线
                  nila
                  编写于 最后由 编辑
                  #16

                  5.7.17版AI助手的额度在哪看,我更新前还有7M多的额度,更新后没一会就2day全没了?

                  1 条回复 最后回复
                  0
                  • K kaiarvin

                    自定义高亮无法使用:通用终端设置的自定义高亮在设置完后颜色不会保存,会变成绿色。

                    稳弟稳 离线
                    稳弟稳 离线
                    稳弟
                    xterminal
                    编写于 最后由 编辑
                    #17

                    这个现象不对,后面排查一下。

                    1 条回复 最后回复
                    0
                    • ,稳弟稳 稳弟 取消固定了此主题
                    • 稳弟稳 离线
                      稳弟稳 离线
                      稳弟
                      xterminal
                      编写于 最后由 编辑
                      #18

                      这个后面一起优化。

                      1 条回复 最后回复
                      0
                      • L lindk

                        image.png
                        这个怎么关掉啊

                        稳弟稳 离线
                        稳弟稳 离线
                        稳弟
                        xterminal
                        编写于 最后由 编辑
                        #19

                        右上角可以直接关,标题栏右键也能关。

                        1 条回复 最后回复
                        0

                        你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

                        厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。

                        有了你的建议,这篇帖子会更精彩哦 💗

                        注册 登录
                        回复
                        • 在新帖中回复
                        登录后回复
                        • 从旧到新
                        • 从新到旧
                        • 最多赞同


                        • 登录

                        • 没有帐号? 注册

                        • 登录或注册以进行搜索。

                        0

                        在线

                        6.3k

                        用户

                        3.0k

                        主题

                        8.8k

                        帖子
                        雨云500M带宽服务器推荐🔥
                        • 第一个帖子
                          最后一个帖子
                        0
                        • 最近帖子
                        • 未读帖子 0
                        • 板块分类
                        • 服务状态
                        • 跳转官网
                        • 帮助文档