Repolode
xtermjs

xtermjs/xterm.js

一个用于浏览器的前端终端组件,让网页应用可以嵌入功能完整的终端。

Star
21,287
Fork
2,021
未关闭 Issue
322
最近提交
9天前

这是什么?

Xterm.js 是一个前端组件,可以让网页应用在浏览器中向用户提供功能完整的终端。VS Code 及其衍生版本、Tabby、Hyper 等项目都在使用它。核心库通过 npm 以 @xterm/xterm 安装,没有额外依赖。

它本身不是可以直接使用的终端程序,也不是 shell。它负责渲染输出并转发键盘输入,通常通过 node-pty 等伪终端接口与后端进程相连。bash、vim、tmux 等终端程序以及基于 curses 的应用都能正常运行,并支持鼠标事件。同时支持中日韩字符、emoji 和输入法,可选启用基于 WebGL 的 GPU 加速渲染器。

项目提供了一组官方插件,涵盖自适应容器尺寸、搜索、网页链接识别、图片显示、剪贴板访问、连字和序列化等功能。另有 @xterm/headless 无界面版本,可在 Node.js 中跟踪终端状态。

核心功能

  • 01可运行 bash、vim、tmux 等终端程序,并支持鼠标事件。
  • 02支持中日韩字符、emoji 和输入法。
  • 03可选的 WebGL GPU 加速渲染器。
  • 04核心库无依赖,以 npm 包形式发布。
  • 05提供搜索、网页链接、自适应尺寸、图片显示等官方插件。

适用场景

  • 为在线 IDE 或云端开发环境添加网页终端。
  • 基于 websocket 构建浏览器端 SSH 或远程 shell 客户端。
  • 在管理后台中以终端渲染方式展示容器或构建日志。
  • 在 Node.js 中运行无界面终端,用于保存和恢复会话状态。

快速上手

  1. 1

    从 npm 安装模块

    npm install --save @xterm/xterm
  2. 2

    在代码中导入 Terminal

    import { Terminal } from '@xterm/xterm';
  3. 3

    创建终端、挂载到元素上并写入内容

  4. 4

    在页面中引入 xterm.css 样式表

使用前须知

  • 它是浏览器端前端组件,而不是可直接下载使用的独立终端应用。
  • 需要连接到 node-pty 等后端伪终端才能运行 bash 等命令。

标签

常见问题

xterm.js 是什么?
一个用于浏览器的前端终端组件,让网页应用可以嵌入功能完整的终端。 Xterm.js 是一个前端组件,可以让网页应用在浏览器中向用户提供功能完整的终端。VS Code 及其衍生版本、Tabby、Hyper 等项目都在使用它。核心库通过 npm 以 @xterm/xterm 安装,没有额外依赖。
xterm.js 可以免费使用吗?用的什么许可证?
xterm.js 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
xterm.js 还在维护吗?
活跃维护中。xterm.js 最近一次提交是在 2026年10月13日。
xterm.js 适合用来做什么?
为在线 IDE 或云端开发环境添加网页终端。 基于 websocket 构建浏览器端 SSH 或远程 shell 客户端。 在管理后台中以终端渲染方式展示容器或构建日志。 在 Node.js 中运行无界面终端,用于保存和恢复会话状态。
xterm.js 怎么安装和运行?
从 npm 安装模块: npm install --save @xterm/xterm 在代码中导入 Terminal: import { Terminal } from '@xterm/xterm'; 创建终端、挂载到元素上并写入内容 在页面中引入 xterm.css 样式表
在哪里获取 xterm.js?
源代码和安装说明在 GitHub 上:https://github.com/xtermjs/xterm.js

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目