Maybe it's because I started my computing journey in the DOS days, but I'm not scared of the Linux Terminal. There are plenty of tricks for making a text-based interface render images, and I can watch YouTube in a Terminal window or control my growing Proxmox empire.

Even on Windows, I still find myself using the Terminal Emulator more than most, using it to update my apps, fix Windows issues, and handle files. The rest of my time is mostly spent in web browser tabs, and those are kind of like Terminal windows. I've often wondered if I could handle my entire workflow from the Terminal and never have to leave the command line, so I decided to give it a go and see how much of my work week could be handled without leaving the bounds of that glowing representation of an old PC Terminal.

I'd love to say that I managed the entire week, but the CMS we use here at XDA would not let me log in from the Terminal, saying that I hadn't entered anything into the login boxes (I had). Still, I'm genuinely impressed by how much of my work I can do without modern things like GUIs, and I'll still be using some of these TUI apps long after this experiment is over.

I needed to find some replacements

My workflow isn't complex, thankfully

Trying to work entirely from the Terminal turned out to be more complicated than I thought, but before I got to that stage, I needed to figure out what in my workflow was essential. I don't really use that many different apps throughout the week, except for whatever I'm installing to research and explore, and I knew some of the things I use already had TUI alternatives.

But first, some ground rules. I wanted to stick strictly to TUI apps, so anything that opened a non-Terminal window was out. If it needed to pass data to a GUI, that was out too. I could get passwords for accounts from my iPhone password manager, but I had to type it into the Terminal (unless I could find an alternative TUI option). And finally, this was supposed to be fun. If things didn't go to plan, I'd move on to the next tool or category and see if I had better luck there.

My weekly workflow is short and sweet, and 99% of it is done in a web browser or various Electron apps:

  • Web browser: for research and entering assignments into the CMS
  • Email: to avoid, mostly but I'd probably have to reply to some of them
  • Word processor: for writing and sketching out new ideas
  • Chat apps: mostly Slack for work but also Discord
  • YouTube: I'm not surviving a week without entertainment
  • Image editing: mostly for resizing images, so didn't need anything powerful
  • Anything else: depending on projects, I'd need to find ways to use and show the tools I was researching

I was confident I'd be able to find an alternative Terminal app for all of these, but slightly apprehensive about which ones would give me the most trouble. Our modern internet is not designed to be viewed in anything but a modern browser, and that could turn out to be a problem.

Things went... ...better than expected

I managed to adjust to the new paradigm fairly quickly — with some issues

On my search to replace the apps I used daily, I was surprised how many TUI apps are essentially abandoned, with the last substantive updates a decade ago in some cases. That made me think about the state of open source software development in general, where a few dedicated maintainers keep individual packages alive, so we all benefit. There has to be a better way to ensure those aren't just passion projects and they get proper, sustainable funding.

But I digress, those questions won't get solved easily, or by any one individual.

I found a selection of web browsers for TUI use, but the one that rendered the modern web the best was browsh. I say "best" but really it was "least worst" and JavaScript made things a little dicey. None of the Terminal browsers could let me log into the CMS to upload work, so I had to cheat and use a standard browser for that.

Email was another sore point, because while there are many IMAP-enabled clients that would work, Google removed the app passwords that used to make third party clients be able to connect to its servers, and now you have to use the OAuth method. Okay, I guess I'll handle those with my phone.

I couldn't find a Slack alternative, another essential for work, but there is a Discord option, endcord, which would let me happily converse with my friends through a TUI. It does break Discord's ToS, however, so I didn't use it that often in fear of getting my account terminated.

At least I wasn't left without entertainment, as Spotify and YouTube have TUI options. And I could manage my home lab through another TUI. That left me wondering existential things like "if I open a web browser from a Proxmox guest VM while I'm managing it from a TUI, is that still a Terminal app?" The answer I came up with wasn't very reassuring, so I left it alone and decided that some things needed a GUI to work.

I'm not sure if I'll use the Terminal for everything, but I do love it

My week trying to use the Terminal for everything has taught me a few things about modern computing. We take for granted how easy it is to use apps and services with OAuth or other identity management tools. Many Terminal apps come from a more innocent era of the internet, and those days of using only a password and account name in plaintext are gone. Email has always been a problem, but with Google sunsetting app passwords, the only way to use IMAP for Gmail is with the "Log in with Google" integration, and that's not going to show up in TUI apps any time soon.

But above all else, it's surprising how many things I could do without a graphical interface or a mouse in many cases. I liked not having to constantly switch between windows, and the lack of desktop notifications was a blessing. I think I'm going to find ways to minimize the cognitive overload that operating system desktop environments cause me, though I'm not sure what those will be yet.