HACKER Q&A
📣 coreyp_1

Is There a TUI Shell?


I know that there are many programs that use a TUI (like vim, htop, etc), but I'm thinking of a shell itself that is a TUI. As in, I log into a server and instantly have a TUI running.

(Context: I love the command line, and don't plan to abandon it, but others may find a TUI easier to transition to on the path to CLI superiority. I couldn't find one, so I decided to appeal to the wisdom of the masses to identify a potential solution.)


  👤 turtleyacht Accepted Answer ✓
Booting Slackware 15 .iso from VirtualBox brought me to a TUI shell, although "shell" in this case is "menu-driven with only the available options," so more of a running program, out of which exiting brought one to a CLI shell as root.

TUI to me also means "arbitrary coordinate rendering," i.e. something completely distinguishable to a command-line prompt (and line-editing). So one expects modal dialogs and popups, menus / menu navigation, and essentially "windows of experience."

TUI also may mean "cannot easily pipe things," because we have (x, y) positions instead of one cursor location receiving all inputs. The idea of improvised composability may be absent.

It would be neat to see an "expect for TUIs." I wonder how it would standardize the idea of "textual graphics" across a variety of different TUI tools.


👤 thesuperbigfrog
Norton Commander and all of its clones and successors (Midnight Commander, Total Commander, etc: https://en.wikipedia.org/wiki/Norton_Commander#Norton_Comman...) are the closest that I am aware of.

A similar line of shell-like TUIs would be X-Tree Gold (http://vtda.org/docs/computing/XTree/XTreeGold20UsersGuide.p...) and any of its clones.

Vim has Netrw: https://vonheikemen.github.io/devlog/tools/using-netrw-vim-b...

Emacs has Dired mode: https://www.emacswiki.org/emacs/DiredMode


👤 svlasov
The closest I can think of: https://github.com/netxs-group/vtm

👤 schemescape
What kind of features did you have in mind?

If it’s just a list of windows and the time of day, that’s possible in a terminal multiplexer like GNU Screen, although setting it up is unintuitive.

Some people treat Emacs as it’s own operating system in the terminal.


👤 simonblack
You mean like ssh? Or are you thinking along the lines of a curses-based "Text Desktop"?

I often use ssh between machines. "Works for Me".