GhosttyのWASM版VTパーサーを使った、xterm.js互換APIのブラウザー向けターミナルエミュレーター。
xtermjs/xterm.js
ブラウザー上でWebアプリに高機能なターミナルを埋め込めるフロントエンドコンポーネント。VS CodeやHyperでも使われています。
- スター
- 21,287
- フォーク
- 2,021
- 未解決の Issue
- 322
- 最終コミット
- 9 日前
これは何?
Xterm.jsは、Webアプリケーション内でユーザーに完全なターミナルを表示するためのフロントエンドコンポーネントです。VS Codeやそのフォーク、Tabby、Hyperなどのプロジェクトで使われています。npmから@xterm/xtermとしてインストールでき、コアライブラリに依存関係はありません。
Xterm.jsは単体で動作するターミナルアプリでもシェルでもありません。出力を描画してキーボード入力を転送し、通常はnode-ptyなどの擬似端末APIを介してプロセスに接続します。bash、vim、tmuxなどのターミナルプログラムに対応し、cursesベースのアプリやマウスイベントも扱えます。CJK文字、絵文字、IMEに対応しており、オプションでGPUアクセラレーションを利用するWebGLレンダラーも使えます。
コンテナに合わせたサイズ調整、検索、Webリンクの検出、画像表示、クリップボードアクセス、合字、シリアライズ用の公式アドオンが用意されています。ヘッドレス版の@xterm/headlessはNode.jsで動作し、描画せずにターミナルの状態を追跡します。
主な機能
- 01bash、vim、tmuxなどの一般的なターミナルアプリに対応し、マウスイベントも扱えます。
- 02CJK文字、絵文字、IMEに対応しています。
- 03オプションでGPUアクセラレーション対応のWebGLレンダラーを利用できます。
- 04コアライブラリに依存関係がなく、npmパッケージとして提供されています。
- 05検索、Webリンク、サイズ調整、画像表示などに対応する公式アドオンが用意されています。
ユースケース
- オンラインIDEやクラウド開発環境にWebベースのターミナルを追加する。
- WebSocket経由で接続するブラウザーSSHクライアントやリモートシェルクライアントを構築する。
- ダッシュボードでターミナル表示を使い、コンテナやビルドのログをリアルタイムに表示する。
- Node.jsでヘッドレスターミナルを動かし、セッション状態を保存・復元する。
クイックスタート
- 1
npmからモジュールをインストールする
npm install --save @xterm/xterm - 2
コードでTerminalをインポートする
import { Terminal } from '@xterm/xterm'; - 3
ターミナルを作成し、要素上で開いて書き込む
- 4
ページにxterm.cssスタイルシートを読み込む
使う前に知っておきたいこと
- これはブラウザー向けのフロントエンドコンポーネントであり、単体で動作するターミナルアプリケーションではありません。
- bashなどのコマンドを実行するには、node-ptyなどのバックエンドプロセスに接続する必要があります。
トピック
よくある質問
- xterm.js とは?
- ブラウザー上でWebアプリに高機能なターミナルを埋め込めるフロントエンドコンポーネント。VS CodeやHyperでも使われています。 Xterm.jsは、Webアプリケーション内でユーザーに完全なターミナルを表示するためのフロントエンドコンポーネントです。VS Codeやそのフォーク、Tabby、Hyperなどのプロジェクトで使われています。npmから@xterm/xtermとしてインストールでき、コアライブラリに依存関係はありません。
- xterm.js は無料で使えますか?ライセンスは?
- xterm.js は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- xterm.js は今もメンテナンスされていますか?
- 活発にメンテナンス中。xterm.js の最終コミットは 2026年10月13日 です。
- xterm.js は何に使えますか?
- オンラインIDEやクラウド開発環境にWebベースのターミナルを追加する。 WebSocket経由で接続するブラウザーSSHクライアントやリモートシェルクライアントを構築する。 ダッシュボードでターミナル表示を使い、コンテナやビルドのログをリアルタイムに表示する。 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
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
PTY経由でREPL、デバッガー、TUIアプリなどの対話型ターミナルプログラムをAIエージェントから操作できるCLI。
タブとUnicodeに対応したモダンなWindows Terminalアプリと、従来のWindowsコンソールホスト(conhost.exe)のソースコードを提供します。
Pythonのループ、イテラブル、コマンドラインのパイプに使える、高速で拡張性の高いプログレスバー。
GPUやプロセスごとの状態を表示するNVIDIA GPU向け対話型ターミナルモニター。CLIでのデバイス選択とPython APIも備える。