[KongchangAI]
· 2 min read· 1,135 words

Tmux as an Operating System: One Developer's Vision for the Ideal Terminal UI

Tmux as an Operating System: One Developer's Vision for the Ideal Terminal UI

A developer proposes Tmux as the OS core UI, reflecting engineers' desire for keyboard-first, scriptable desktop workflows.

Developer Mat Duggan's blog post proposing Tmux as the core OS interaction layer sparked heated discussion on Hacker News. Tmux's session persistence, split-pane management, and full keyboard operation already give it the makings of a window manager. However, the idea faces three key challenges: fragmented terminal image protocols weaken multimedia support; the steep learning curve limits broad usability; and the existing app ecosystem is almost entirely GUI-based, making migration costly. The post's real value lies not in a deployable engineering plan, but in using an extreme premise to prompt reflection — do modern desktops truly serve power users' efficiency needs? Among engineers already building personal workflows around i3, Sway, and Neovim, that question has long had a quiet answer.

An Age-Old Question Revisited: What Does the Ideal OS Interface Look Like?

Developer Mat Duggan sparked a lively debate with his blog post What Does My Dream OS UI Look Like?, putting forward a bold and controversial proposition — making Tmux the core interaction layer of an operating system. The post earned 187 upvotes and 115 comments on Hacker News, igniting a rich discussion about terminals, window management, and the philosophy of OS design.

For engineers who spend most of their working lives on the command line, the drag-and-click world of graphical desktops can feel inefficient and disjointed. Duggan's core argument is straightforward: if the vast majority of your work happens inside a terminal anyway, why not push the terminal multiplexer to its logical extreme and let it take on the responsibilities of an OS-level UI?

rss source: Make Tmux the OS

Why Tmux?

The Natural Advantages of a Terminal Multiplexer

Tmux is a classic terminal multiplexing tool that lets users create multiple sessions, windows, and panes within a single terminal window, with built-in session persistence — processes keep running in the background even after you disconnect. These capabilities already give it the bones of a window manager.

Duggan's vision builds directly on this foundation: since Tmux already handles split screens, context switching, and persistence entirely through keyboard input, it's not that far from a complete desktop interaction layer. Compared to the complex compositor and rendering pipelines of graphical desktop environments, a text-driven interface offers clear advantages in resource consumption, scriptability, and reproducibility.

Tmux's session persistence relies on a client-server architecture: the tmux server runs as a background daemon, while terminal emulators connect to it as "clients." This means that closing a terminal window or losing an SSH connection leaves all processes and working state fully intact — ready to resume seamlessly on reconnect. This is especially valuable in remote development, long-running compilation jobs, or unreliable network conditions, and it's what fundamentally distinguishes Tmux from ordinary terminal tabs. Similar tools include the older GNU Screen and the more recent Zellij — the latter gaining traction among newer users thanks to its WebAssembly plugin system and modern defaults. Yet Tmux remains the de facto standard in the space, backed by years of community ecosystem development and an exceptionally high degree of customizability.

A Keyboard-First Workflow

Another pillar of the ideal terminal UI is keyboard primacy. A mouse is indispensable for precise clicking and graphical editing, but for high-frequency tasks like writing code, managing files, and administering systems, constantly switching between keyboard and mouse breaks your flow. Tmux's entirely shortcut-driven interaction model is a perfect fit for users who demand peak efficiency.

The Real-World Challenges of Treating the Terminal as an OS

The vision is compelling, but elevating Tmux to OS-level UI status runs into some serious practical obstacles — which is exactly what dominated the Hacker News comment thread.

The most immediate problem is multimedia and graphical content. Browsing the web, viewing images, watching video, doing graphic design — these are all scenarios that a purely text-based interface struggles to handle. Some terminals now support image protocols (such as Sixel or Kitty's graphics protocol), but the ecosystem is far from mature and compatibility is inconsistent.

Then there's the question of accessibility. A terminal-driven workflow is deeply hostile to non-technical users, with a steep learning curve. An "operating system" that only serves engineers comfortable with the command line is less a general-purpose system interface and more a highly customized personal environment.

Finally, there's the fragmented application ecosystem. The overwhelming majority of modern software is designed for graphical interfaces. Forcing it into a terminal environment means either rewriting it or relying on various bridging solutions — neither of which makes engineering sense.

The evolution of terminal image rendering protocols is important context for understanding this challenge. Sixel is a bitmap transfer protocol originally developed by DEC in the 1980s, later revived by terminals like mlterm and iTerm2. The Kitty graphics protocol was designed in 2019 by the author of the kitty terminal emulator, supporting modern formats like PNG and JPEG and leveraging shared memory for better performance. iTerm2's inline image protocol has also been adopted by several other terminals. Despite this activity, the protocols remain mutually incompatible, and mainstream terminals like GNOME Terminal and Windows Terminal still offer incomplete support — causing image-dependent applications (such as the preview feature in the Ranger file manager) to behave inconsistently across environments. This fragmentation is the technical root cause of why a "pure-terminal OS" can't convincingly handle multimedia scenarios.

The Real Desire Behind the Discussion

Strip away the slightly extreme framing of "make Tmux the OS," and what Duggan is really expressing is dissatisfaction with the current paradigm of operating system interaction. Modern desktop systems continue to pile on visual polish, yet this doesn't necessarily translate into greater efficiency for power users. Instead, legions of keyboard-oriented developers are already assembling their own highly personalized, keyboard-driven environments piece by piece — tiling window managers like i3 and Sway, terminal multiplexers, and tools like Neovim.

Seen from this angle, the value of the article isn't in literally proposing that Tmux replace an entire operating system. It's in raising a question worth sitting with: could OS interfaces be more text-driven, more scriptable, and more respectful of keyboard-first workflows? This is precisely why it struck such a chord — and stirred so much debate — across the technical community.

Tiling window managers are essential context for understanding this broader movement. Unlike traditional desktop environments where windows float and overlap freely, tiling managers automatically partition screen real estate among open windows with no overlap, making them a natural fit for keyboard navigation. i3 is the most popular X11 tiling manager, known for its minimal configuration and active community. Sway is its spiritual successor for the Wayland compositor protocol, with an API highly compatible with i3. The more radical Hyprland adds visual enhancements like animations and rounded corners, attracting a younger audience with an eye for aesthetics. Together with Tmux and Neovim, these tools form what's often called the "DIY desktop" ecosystem — where users invest significant effort sharing dotfiles on GitHub and version-controlling their entire working environment, reflecting an intense drive for reproducibility and complete personal control.

Conclusion

"Make Tmux the OS" is better understood as a thought experiment than a practical engineering blueprint. It touches on something deep in how developers think about efficiency, control, and minimalism. Whether or not you buy the extreme version of this idea, it's a useful prompt to step back and examine the operating system interfaces we interact with every day — and to ask whether those designs we take for granted are actually optimal. For engineers who live in the terminal, the answer may already be written into the muscle memory of their daily keystrokes.

#Tmux#terminal multiplexer#keyboard-first workflow#tiling window manager#developer productivity#terminal UI#i3#Neovim#OS interface design#dotfiles
Share:

Related articles