Lash#Cat9: A radical new Linux UI for keyboard warriors
Arcan sub-project reinvents command lines and GUIs at once
Comment Lash#Cat9 is a new type of typing-driven UI, which moves beyond terminal emulators. Cat9's power comes from its close interaction with its display server, Arcan. This picks up some of the ideas from X11 and Wayland then goes much further.
If you know your way around Unix, the word "shell" has strong associations, but to get a handle on Cat9, you will have to let them all go. Conventional "shells" are programs that run inside a terminal emulator and let you enter commands. Cat9 is not that type of shell, and that means that most of the coverage of it misses the most important things about it. Saying that, Cat9 is definitely inspired by that sort of UI.
Outside of the Unix world, "shell" is a much more general term. For example, the "Windows shell" is the whole GUI of the OS, as Wikipedia explains quite well. Cat9 isn't that kind of shell either – but combined with the Arcan display server, they have some common ground.
Cat9 is not a conventional Unix shell like, say, bash or zsh, which assume that they're running in a text-only terminal. It has slightly more in common with previous attempts to give Unix a more modern, windowing UI, such as Plan 9's rio, or before that, the Blit terminal: a smart terminal able to multiplex several concurrent terminal sessions over one serial cable, including windows and even graphics.
Cat9 is interactive, not via simple tab-completion, but with dynamic pick-lists, like an IDE suggesting functions or syntax. It isn't purely linear, like a conventional shell. Instead of foreground and background tasks, earlier commands can continue working and displaying output while the user continues working with later commands, and running commands can refer to and interact with one another.
It isn't purely text-based: it can display images on the command line, akin to
printimage from the creator of Redbean, APE and Cosmopolitan libc, and it can interact with the window manager, rather than just running in one window.
- Intel DAOS 2.2 and Red Hat Stratis 3.3 released
- OpenBSD 7.2: The other other FOSS xNix released, runs on Apple M2 Macs
- DisplayPort standards bods school USB standards bods with latest revision
- Ubuntu 22.10 is out, with an extra remix in the family: Unity
Cat9 is not like anything else in the world of modern Linux, which is a very traditional environment, firmly rooted in 1960s minicomputer design. In contrast, consider Classic MacOS, which had no command line at all, causing serious confusion to 21st century techies.
A good way to get a flavor of Cat9 are the demo videos in the release announcement. Cat9 works on top of a display server called Arcan, as part of the Durden desktop environment. It's all open source, but as Arcan's README notes, it's quite complex to build. Some of it is supplied as part of the Void Linux distro, as well as in the radical NixOS distro, so those may be good places to start. Durden is built in Lua, as described in the build instructions.
This whole stack – Arcan, Durden, Cat9, and so on – is the project of former Sony-Ericsson developer Björn Ståhl, letoram on GitHub, and as he told The Reg, it "sits at the extreme end of what a single dedicated individual can do." As he puts it:
The meat isn't actually the shell itself; it was thrown together fairly rapidly, and I added as much scaffolding as I could to encourage others to leverage the same infrastructure in order to try out their own ideas, hence the "Lash#" part of the naming. I knew I needed a shell eventually for the larger OS project, but it was written more to make sure the rest of the infrastructure was solid.
As we noted in June, despite it being a decade since version 1.0, the Wayland display server has yet to displace X.org. As an example, compare its stated security position in 2010 [PDF, section 2.3] and now.
Wayland discards core functionality from X11, such as operation over the network, and instead seems to focus on high refresh rates and banishing display artifacts such as tearing – things that here at The Reg FOSS desk we frankly don't care about. Arcan, in contrast, is very much concerned with network operations, as well as innovative new UI developments. For us, it's a far more interesting project than anything Wayland has produced in the 14 years since it began. If Cat9 can get the command-line fans enthused and involved, we'll be delighted. ®