The article has it backwards: GUIs are the third way of using Linux. TUIs are the 2nd way. I mean, stuff like pico, nano, vi, Emacs - these are all TUIs.
Perhaps it's because I grew up on DOS that I think that way, but one of the reasons I switched from Windows to Linux decades ago was to use TUIs.
All the TUI stuff you can leave running in tmux and then have a consistent workspace remotely accessible from your PC or phone is indeed really nice. IRC, mail, torrents, notetaking, etc.
As far as I remember, when I wrote my email reader/writer in C, ncurses was not even a thing, so I made my own windows and dialogs in text mode with VT-something codes or something like that. That was not on Linux, but on DOS at the time, but anyway. I did not wait for graphical stuff to be common.
I used my software for months to read and write mails, interact in mailing lists, newsgroups, etc.
Funny thing is when a sysop sent me a mail once: basically, he said to me that one of the machines he had the responsibility of back then warned him about a non-conform header. He asked me the name of the email software I was using to report the bug to the author. I thanked him for my first report ever, for his diligency, etc. and of course, I fixed it promptly ;)
I stick to CLI's and TUI's and use zellij as my window manager. This way the configs and muscle memory I develop on my work macbook are transferrable to the linux box I use for personal projects, and visa versa.
It seemed a bit limiting at first, but after adapting to it I feel like it was the right move. GUI's represent a sort of explosion in the set of valid states for software to be in, and I find that software which opts out of trying to support that explosion tends to work better, likely because the maintainer just has less to worry about.
You can make the keybinds workbfor you and out of the box the user experience is awesome and fast. Mouse just works, its not an afterthought, sobdoes copy paste, etc.
> What we've never seen is a unifying system that treated the TUI itself as the primary user experience.
Do things like https://en.wikipedia.org/wiki/DESQview from way-back-when not count? I've seen more modern systems trying to do similar though they rarely offer enough beyond tmux+byubo, tough state plans to, so don't get much traction and drop into being unmaintained before getting to the point of being stable.
I was hoping the third way would be somehow related to a type of hands-free neuralink so I can code at the speed of thought with my eyes closed laying in bed. Someday the tech will exist but, by then I'm not sure coding will be a thing to do anymore. I'll probably still do it anyway though.
I'd settle for a first class terminal+file manager combo setup, like where both are respected equally. Dolphin can kind of do it one way, geany the other?
I'm exploring aspects of these "other ways". I've been pushing Kitty terminal graphics compositing and then layering libraries over that. I've also been working on remoting Golang programs over the network as well as compiling them to WASM and embedding that in browsers. This WebGPU browser shader is an example of that mashed together [1]. Same code for native and browser.
Shout out to TUIOS [2] that is in the article; author has a lot of neat libraries and his `sip` protocol is the basis of that remoting work.
another comment on a different HN thread pointed out a similar issue. Now I'm wondering if backdrop-filter can be used correctly at all or should just be avoided entirely
What do you mean by "pretty bad"? I'm on Zen (Firefox based) and the scrolling seems to work fine. But maybe it's getting resource constrained on some hardware.
It wasn't slowness. It was text-rendering glitches that another commenter said were due to CSS. Since I commented, the font looks visibly different and the issues are no longer present.
I don't see any suspicious JS on the page, so I suspect it's a styling issue triggering some inefficiency in Firefox. There are animations and text-shadows.
which, wierdly enough I am useing, and the site scrolls just fine,my browswr has NO java script, No Dom storage, no images/video displayed
though there are a few websites that have some kind of alternate way to display images in short video loops that auto play
everybody lately is talking about TUIs. what do these people mean?
(I trace my adult involvement with computers back to (a) terminals and (b) where you didn't know if your terminal and terminal driver would support ANSI cursor positioning (stty raw!) so I feel equipped to understand what people are talking about, I just don't know.)
is emacs a tui? is midnight commander a tui? vi? I assume the cli is not a tui? are we not even talking about terminals?
The article has it backwards: GUIs are the third way of using Linux. TUIs are the 2nd way. I mean, stuff like pico, nano, vi, Emacs - these are all TUIs.
Perhaps it's because I grew up on DOS that I think that way, but one of the reasons I switched from Windows to Linux decades ago was to use TUIs.
All the TUI stuff you can leave running in tmux and then have a consistent workspace remotely accessible from your PC or phone is indeed really nice. IRC, mail, torrents, notetaking, etc.
As far as I remember, when I wrote my email reader/writer in C, ncurses was not even a thing, so I made my own windows and dialogs in text mode with VT-something codes or something like that. That was not on Linux, but on DOS at the time, but anyway. I did not wait for graphical stuff to be common.
I used my software for months to read and write mails, interact in mailing lists, newsgroups, etc.
Funny thing is when a sysop sent me a mail once: basically, he said to me that one of the machines he had the responsibility of back then warned him about a non-conform header. He asked me the name of the email software I was using to report the bug to the author. I thanked him for my first report ever, for his diligency, etc. and of course, I fixed it promptly ;)
I stick to CLI's and TUI's and use zellij as my window manager. This way the configs and muscle memory I develop on my work macbook are transferrable to the linux box I use for personal projects, and visa versa.
It seemed a bit limiting at first, but after adapting to it I feel like it was the right move. GUI's represent a sort of explosion in the set of valid states for software to be in, and I find that software which opts out of trying to support that explosion tends to work better, likely because the maintainer just has less to worry about.
Try herdr. I ama tmux then zellij switcher and love it once you minimize the ai crap
Any particular reason to try herdr?
You can make the keybinds workbfor you and out of the box the user experience is awesome and fast. Mouse just works, its not an afterthought, sobdoes copy paste, etc.
Really great remote ssh support. As of recently you can have ssh workspaces and local workspaces in the same nav structure.
It also supports building arbitrary custom UI plugins that can either run in a pane or background.
I prefer its hotkey setup over zellij. Only thing I prefer about zellij are the kdl layouts.
Yes ironically its AI selling points are not at all helpful for me. Just a solid multiplexer.
Emacs text interface, Emacs GUI interface, and ... sorry what's the third one? :-)
When I read:
> What we've never seen is a unifying system that treated the TUI itself as the primary user experience.
I immediately thought 'this person has never heard of Emacs'. And my heart ached with pity.
The only one that matters, Emacs in evil mode.
Emacs Window management via exwm.
ghostty running ssh w/ emacsclient connected to emacs daemon running ghostel
why would one use the madness of adhoc tuis instead of emacs, I'll never know.
Emacs in ed mode, but you list them in the opposite order from the article.
> What we've never seen is a unifying system that treated the TUI itself as the primary user experience.
Do things like https://en.wikipedia.org/wiki/DESQview from way-back-when not count? I've seen more modern systems trying to do similar though they rarely offer enough beyond tmux+byubo, tough state plans to, so don't get much traction and drop into being unmaintained before getting to the point of being stable.
Like the days of Norton Commander
Or Z-19 terminals... green screen, 80 char lines of text. Lightning fast 1200 baud modem!! Those were the days :-)
Other ways I often use:
- Using a web browser to connect to a web app running in a Linux VM. I write all my custom tools that way.
- Using VS Code to connect remotely, using ssh
I was hoping the third way would be somehow related to a type of hands-free neuralink so I can code at the speed of thought with my eyes closed laying in bed. Someday the tech will exist but, by then I'm not sure coding will be a thing to do anymore. I'll probably still do it anyway though.
What a ridiculous article. TUI is GUI with fixed cells, that's it.
Not a new idea, but a REALLY GOOD ONE.
I'd settle for a first class terminal+file manager combo setup, like where both are respected equally. Dolphin can kind of do it one way, geany the other?
Yazi plus bash in a split terminal?
I'm exploring aspects of these "other ways". I've been pushing Kitty terminal graphics compositing and then layering libraries over that. I've also been working on remoting Golang programs over the network as well as compiling them to WASM and embedding that in browsers. This WebGPU browser shader is an example of that mashed together [1]. Same code for native and browser.
Shout out to TUIOS [2] that is in the article; author has a lot of neat libraries and his `sip` protocol is the basis of that remoting work.
[1] https://nimblemarkets.github.io/ntcharts/demos/shaders/
[2] https://github.com/Gaurav-Gosain/tuios
Early Reuters and Bloomberg terminals had a text-centric aesthetic.
AFAIK on a PC, when booted into text-only mode, you are still using a bit-mapped framebuffer. From my experiments you can mix graphics and text.
PC is the weird exception in having a character mode at all for compatibility reasons. every other platform does the character mapping in software.
Only in the modern day. Up through the SVGA days, cards supported true character-mapped text modes.
Clearly never used MVS. These kids nowadays...
> What gives you the benefit of a visual interface, without the bloat that comes with Wayland or X11?
fbdev?
Well, if we count claude as tui.
Ah yes, website talks about "the bloat of x11 and Wayland", and doesn't even scroll correctly on Firefox mobile likely due to some JavaScript fuckery.
Practice what you preach. And practice first.
Not JavaScript in this case, just CSS bloat (backdrop-filter).
another comment on a different HN thread pointed out a similar issue. Now I'm wondering if backdrop-filter can be used correctly at all or should just be avoided entirely
Scrolling is pretty bad on Firefox desktop as well. So bad that I didn't want to finish the article.
Why do people do this?
What do you mean by "pretty bad"? I'm on Zen (Firefox based) and the scrolling seems to work fine. But maybe it's getting resource constrained on some hardware.
There were text-rendering issues when scrolling. Another commenter pointed out that it was actually a CSS thing. It was migraine-inducing.
It appears that they changed the CSS or font or something, because it appears fixed and the font looks different. I'll give it a read.
Weird. I can't reproduce the slowness you guys experience with fennec nor ironfox.
It wasn't slowness. It was text-rendering glitches that another commenter said were due to CSS. Since I commented, the font looks visibly different and the issues are no longer present.
Kudos to them for fixing it.
They only tested in Chrome.
I don't see any suspicious JS on the page, so I suspect it's a styling issue triggering some inefficiency in Firefox. There are animations and text-shadows.
I guess the site scrolls smoothly in a TUI browser?
which, wierdly enough I am useing, and the site scrolls just fine,my browswr has NO java script, No Dom storage, no images/video displayed though there are a few websites that have some kind of alternate way to display images in short video loops that auto play
edit:videos are mp4's
Isn’t that what resolution aware ttys and screen accomplish?
If you were poor in 1993 and could only afford Unix shell-account, all this was very necessary. Nowadays little bit esoteric.
Albeit. I was using tmux on termux, until somebody pointed out you can get new terminal screens by swiping from right (corr. from left).
Looking at tuios, using a mouse in a TUI completely defeats its purpose, for me personally.
I'm making a winamp clone in the tui. Using a mouse in that scenario makes perfect sense. Using a phone touch screen - even more.
We are reaching the point where a terminal tui is a viable and even sensible alternative for certain apps.
everybody lately is talking about TUIs. what do these people mean?
(I trace my adult involvement with computers back to (a) terminals and (b) where you didn't know if your terminal and terminal driver would support ANSI cursor positioning (stty raw!) so I feel equipped to understand what people are talking about, I just don't know.)
is emacs a tui? is midnight commander a tui? vi? I assume the cli is not a tui? are we not even talking about terminals?