Linux コンソール (TTY) 用 GPU アクセラレーション対応ターミナルエミュレータ — X11/Wayland 不要
ドキュメント · インストール · 設定 · English
- GPU レンダリング — DRM/KMS 上の OpenGL ES でシャープ&スムーズな描画
- Sixel & Kitty グラフィックス — ターミナル上で直接画像を表示
- 内蔵ペイン分割 & タブ — tmux 不要、グラフィックスパススルー問題なし
- 日本語入力 — D-Bus 経由の fcitx5 統合、ベアコンソールで動作
AI コーディングツール(Claude Code、Codex、Gemini CLI など)の登場により、開発ワークフローは大きく変わりました。VSCode を開く機会は減り、ターミナルで過ごす時間が増えています。
ふと気づくと、X11/Wayland 上で動かしているのはターミナルエミュレータだけ — それなら、デスクトップ環境ごと省略できるのでは?
bcon はその答えです。Ghostty や Alacritty のようなモダンなターミナル体験を、Linux コンソール上で直接実現します。GPU アクセラレーション、True Color、Sixel/Kitty グラフィックス、日本語入力 — X11 なしで。
bcon は画面分割とタブを内蔵しています — 基本的なマルチプレクシングに tmux や screen は不要です。ターミナルマルチプレクサは Kitty graphics protocol のパススルーを壊すことが多く、bcon の画像表示機能が活かせなくなるため、内蔵分割が重要です。
楽しい CLI ライフを。
| 実 TTY | GPU アクセラレーション | Kitty graphics | IME | 画面分割 | |
|---|---|---|---|---|---|
| bcon | Yes | Yes | Yes | Yes | 内蔵 |
| kitty / alacritty / ghostty | No (X11/Wayland 必須) | Yes | ツールによる | デスクトップ IME | ツールによる |
| tmux / screen | Yes | No | パススルー制約あり | N/A | Yes |
bcon1h_small.mp4
bcon2h_small.mp4
- GPU レンダリング: DRM/KMS + EGL + GBM 経由の OpenGL ES
- シャープなテキスト: ピクセルアライン済みグリフレンダリング
- True Color: 24bit フルカラーサポート
- リガチャ: フォントリガチャ対応 (リガチャフォントが必要 — 推奨フォント参照)
- 絵文字: カラー絵文字レンダリング (Noto Color Emoji)
- Powerline: ピクセル精度の Powerline/Nerd Font グリフ
- HiDPI スケーリング: 設定可能な表示倍率 (1.0x - 2.0x)
- HDR 検出: EDID から HDR 対応を自動検出
- Sixel グラフィックス: ターミナル内画像表示
- Kitty グラフィックスプロトコル: 高速画像転送
- スクロールバック: 設定可能なバッファ (デフォルト: 10,000 行)
- マウスサポート: 選択、ホイールスクロール、ボタンイベント (X10/SGR/URXVT/SGR-Pixels)
- OSC 52 クリップボード: エスケープシーケンスでクリップボード操作
- ブラケットペースト: セキュアなペーストモード
- カラーアンダーライン: SGR 58/59 対応 — 5 種のスタイル (単線/二重線/波線/点線/破線) + カラー指定
- 同期出力: Mode 2026 — 高速更新アプリのちらつき防止
- OSC 4/10/11/12: パレット、前景色、背景色、カーソル色の動的変更
- 通知: OSC 9 (iTerm2) / OSC 99 (Kitty) 通知プロトコル — トーストオーバーレイ+プログレスバー
- キーボード: evdev + xkbcommon による完全キーボードサポート
- Kitty キーボードプロトコル: モダンエディタ向けプログレッシブキーボードプロトコル (CSI u)
- 日本語入力: D-Bus 経由の fcitx5 統合
- IME 自動無効化: vim/emacs などで自動的に IME を無効化
- キーリピート: 設定可能な遅延/レート
- ペイン分割: 二分木レイアウトによる水平・垂直分割
- ペインナビゲーション: 矢印キーまたは hjkl (vim プリセット) でフォーカス移動
- ペインリサイズ: キーボードショートカットで分割比を調整
- ペインズーム: アクティブペインをフルスクリーンに拡大/復元
- タブ: 複数タブ、タブバー表示
- 自動クローズ: 終了したペインは自動的に閉じる
- マウスフォーカス: クリックでペインフォーカス切替
- コピーモード: Vim ライクなキーボードナビゲーション
- テキスト検索: スクロールバック内インクリメンタル検索 (Ctrl+Shift+F)
- スクリーンショット: PNG で保存 (PrintScreen または Ctrl+Shift+S)
- フォント拡大縮小: 実行時フォントサイズ変更 (Ctrl+Plus/Minus)
- 通知パネル: 通知履歴の閲覧 (Ctrl+Shift+N)、ミュート切替 (Ctrl+Shift+M)
- モニターホットプラグ: モニター接続/切断を自動検知・切替
- 外部モニター優先: HDMI/DP 接続時に自動切り替え (ラップトップ向け)
- ビジュアルベル: ベル文字で画面フラッシュ
- URL 検出: Ctrl+クリックで URL をコピー
日本語環境(CJK フォント + fcitx5 IME)が必要な場合は 日本語環境セットアップ を参照してください。
# 1. インストール
curl -fsSL https://sanohiro.github.io/bcon/install.sh | sudo sh
sudo apt install bcon
# 2. (任意) Nerd Font をインストール (yazi, lsd 等のアイコン表示用)
# 詳細: docs/configuration.md#nerd-fonts-icons
# 3. 設定生成 & サービス有効化
sudo bcon --init-config=system,vim,jp # または: system,emacs,jp / system,jp
sudo systemctl disable getty@tty2
sudo systemctl enable --now bcon@tty2
# 4. bcon に切り替え: Ctrl+Alt+F2| ドキュメント | 内容 |
|---|---|
| インストールガイド | apt、日本語環境、ログインセッション、ソースビルド、rootless |
| 設定リファレンス | 設定ファイル詳細、プリセット、フォント、Nerd Fonts |
| キーバインド | キーバインド一覧 (Default / Vim / Emacs) + コピーモード |
- DRM/KMS サポートのある Linux (Debian/Ubuntu 推奨)
- OpenGL ES 3.0+ 対応 GPU
- マルチシート (DRM リース): 非対応。bcon は GPU を排他的に使用します。
- マルチモニタ: 現在は1つのモニタにのみ出力。
MIT
インスピレーション:
