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

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

XTerminal 反馈社区

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

v5.6.3 | 2026-04-10

已定时 已固定 已锁定 已移动 xterminal 更新日志
11 帖子 8 发布者 1.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 稳弟稳 离线
    稳弟稳 离线
    稳弟 xterminal
    编写 最后由 编辑
    #2

    稳弟的和谐小群,用于上班摸鱼,顺便提交Bug👇🏻👇🏻👇🏻👇🏻

    qrcode_1775781955970.jpg

    1 条回复 最后回复
    0
    • L 离线
      L 离线
      lee0535
      编写 最后由 编辑
      #3

      终于修复了macOS 下 Option+方向键单词跳转失效问题。点赞!!!!

      1 条回复 最后回复
      1
      • 创 离线
        创 离线
        创之想
        编写 最后由 编辑
        #4

        @稳弟 隧道是否可以添加自动连接功能?常用的隧道每次都要手动进去点一边太麻烦了。

        1 条回复 最后回复
        0
        • 创 离线
          创 离线
          创之想
          编写 最后由 编辑
          #5

          bug: pwd指令不能让文件工作区跟随了。

          1 条回复 最后回复
          0
          • 创 离线
            创 离线
            创之想
            编写 最后由 编辑
            #6

            鼠标放在终端的http链接上会狂闪。

            1 条回复 最后回复
            0
            • J 离线
              J 离线
              junbao
              编写 最后由 编辑
              #7

              更新到最新版本后发现清晰度不行了,有一种模糊感

              1 条回复 最后回复
              0
              • X 离线
                X 离线
                xdlv
                编写 最后由 编辑
                #8

                这个版本经常卡死,特别是网络比较慢的情况下

                1 条回复 最后回复
                0
                • 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

                      • 登录

                      • 没有帐号? 注册

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

                      29

                      在线

                      5.5k

                      用户

                      2.8k

                      主题

                      8.5k

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