"GUI isn't an option." — Anonymous
Lately, I've been developing almost entirely with AI coding agents — Claude Code, Codex, Gemini CLI. Writing code, generating docs, running tests, managing GitHub and AWS, even searching the web — all from the terminal.
Then it hit me:
Wait... am I ever actually touching a GUI anymore? 🤪
That led to another thought:
Do I even need a window system (X11/Wayland) to live as a developer?
I know, I know — sounds crazy. But hear me out.
If tools like Claude Code and Ghostty exist... why can't I have that experience directly on the Linux console?
The problem is, the standard Linux TTY is pretty rough:
- Text rendering is ugly
- No true color or text decorations
- No emoji, Nerd Fonts, or ligatures
- No Kitty/Sixel graphics protocol
- No clipboard support
- No CJK input (IME)
Old tools like fbterm and kon existed, but nothing modern. Nothing that felt like Ghostty.
So I built it.

bcon running on Ubuntu Server — Claude Code on the left, yazi top-right, Neovim bottom-right
This is bcon — a GPU-accelerated terminal emulator that runs directly on the Linux console. No X11. No Wayland. Just TTY.
It supports tiling and tabs, so it feels like a tiling window manager — but running entirely in TTY.
Screenshot is from Ubuntu Server (no X/Wayland) running inside Parallels Desktop

Japanese IME input working on bcon via fcitx5
Japanese input works too 🐤
For setup details, check the repository. One practical tip: rather than replacing your main TTY, I recommend running bcon on tty2 only. Switch to it with Ctrl+Alt+F2, and return to your normal console with Ctrl+Alt+F1. Safe and easy to recover from.
Linux traditionally has 6 virtual consoles (tty1–tty6). X Window historically used tty7; modern Ubuntu+GDM typically uses tty1/2.
This is Part 1 of my series "Living on the Linux Console" — next up: a full headless browser for TTY.
Top comments (0)