It's 2024 and I'm posting this from a text console.
It started as a stupid project cause I was bored. How much can you actually do without a windowing environment?
After finding out how to post to lemmy from a TTY, I realized that I can do most things I do daily using text.
Browsing the web in links, which opens all sorts of files in the corresponding programs if configured correctly.
Opening images in fbi, PDFs in fbpdf, listening to music in cmus, watching movies in mplayer, using e-mail in alpine, creating documents in vim and latex, ...
The only thing that still requires a GUI is image editing and a few websites I need that don't work without JavaScript.
And it's actually really nice...more focused, without loading times, animations, popups, ads, or other distractions, and everything is scriptable.
Launching it using the raw framebuffer means it blocks the screen until you close it, and there's no means to do anything else except switching to another TTY, is that it?
Surprisingly, a lot. And usually they're the more informative and less commercial ones.
Most websites that only show a "please enable Javascript" banner I just leave again. Very few I do need, for those I have a key combo that starts a window manager with maximized Firefox on another TTY.
Websites from alternative networks such as Onion, Freenet, I2P and GNUnet, where speed and privacy are a must-have. Onion webchats, for example, uses neverending-loading with iframes/HTML frames (and another frame/iframe with a standard HTML form), so to not depend on JS.
At the surface web (clearnet), however, it's harder to find. Even the remaining old sites, from blogosphere and personal tilde websites (those whose URL contained a tilde "~" followed by an username) have some degree of JS.
Even the remaining old sites, from blogosphere and personal tilde websites (those whose URL contained a tilde "~" followed by an username) have some degree of JS.
Although those websites usually work totally fine without js
I doubt it. They make a hell of a noise and print at a rate of characters per second not pages per second. The ribbons suffered from similar issues as cassette tapes (the other ribbons that we had to deal with). The ribbon would dry out if not used for a few days and you'd waste paper and a lot of time.
DM printers were ideal in the guise of "line printers" - the big old IBM jobbies that munched through A3 landscape fan fold at ridiculous speeds. Home printers like the Epson FX80 or RX80 were at least affordable. I still remember the manual of our RX80 congratulating us on buying it and exhorting me to hug the printer on unpacking it. I suspect the Japanese to English translation might not have been the best.
We had to get a Centronics interface board stuffed into our C64 and get it working (sacrifice a chicken on a waxing gibbous moon night, etc)
It worked better on my 80286 box, some years later. I had to set it up in each application - Harvard Graphics, Word Perfect, Super Calc.
In around 1991 I was able to buy a 80486 based beastie, thanks to gift from granddad. In around 1993 I was given a HP LJ 4P so I could print out proofs for a Plymouth (Devon) tourist tat thing.
Nowadays I have a fairly elderly HPE MFP five toner humming away at home. Its on a VLAN that doesn't get to see the internet. It just works. I won't be "upgrading" it for the foreseeable future.
My Epson RX80's ribbon is somewhere in landfill. The Commodore 64 however is all good and now sports a USB interface with more storage than the poor thing can possibly ever use. The Quickshot II joystick still works too.
1984ish was when the C64 was bought by my dad, from the NAAFI in Rheindahlen (West Germany, as was).
Picture the scene:
Me and brother fly home from UK to probably Dusseldorf at the end of the winter term. Its December in the mid '80s. Every now and then, Russia sends a Tupolev Bear or Badger to chug along overhead. The US sends a YR-71 over the USSR at multiples of the speed of sound. The Cold War was quite unpleasant to live through. Its quite chilly, snow tyres on the car, chains in the boot. The autobahn has the usual psychotic bunch of lane two and three drivers. Lane one generally runs at around 90mph (yes, even back in the '80s)
We get to home at the time (we move every two years or so - it is the way of things). Dad shows off the new gadget. He plugs the power lead into the video port.
Some weeks after we have gone back to school for the spring term, the C64 is returned from the menders. We get to use it in the Easter hols. It travelled to the UK and back to DE several times and also to Cyprus (WSBA). The QS II took a serious battering thanks to Daley Thompson's decathalon.
I got it re-capped in 2019, which was all that needed doing. They were rather well made ...
I may get hate for this, but... I do this a fair bit because I prefer TUIs for a lot of stuff, and also end up doing a lot of things in emacs because I usually have it open anyway...
I tried w3m, lynx, links and elinks, which all failed cause they don't support JavaScript, which is necessary to log in.
Then I tried Browsh and Carbonyl, which failed cause they both don't accept mouse clicks in a TTY and offer no keyboard navigation.
Then I tried Neonmodem Overdrive, a CLI fediverse browser, which I just couldn't get to show any posts.
In the end, @[email protected] gave me the hint that some instances have alternative "old-reddit-like" frontends that allow logging in without JavaScript.
And my home instance with old.feddit.org is one of them. So now I'm using links, cause it's the most user-friendly text browser IMO.
That’s actually a good point. I’m a TUI guy as much as the next one but I normally use full screen terminal and tmux instead of larping the 90s.
Deeply respect the hustle - I was also X-free in the early 00s - but I wonder what is the advantage of going raw tty instead of full screen terminal in a wm
How much can you actually do without a windowing environment? [...] Opening images in fbi, PDFs in fbpdf, listening to music in cmus, watching movies in mplayer
Maybe not an "environment" but it sounds like you're at least using a window manager. The PDFs and videos, not to mention web browser, are gonna be hard to pull off from a raw shell. [Hard but not that hard, apparently!]
But that's a detail. Otherwise I share your enthusiasm, I've been doing things this way for a while. Basically: tiling window manager + TUI file manager + scripts which do precisely what I want, if possible in the terminal, if necessary by launching a GUI app. In practice the GUI apps are Firefox, mapping app, and messaging apps.
The general discovery I made was this: for the small price of foregoing pretty colors and buttons and chrome, you can get a computer to do exactly what you want it to do much quicker. Assuming a willingness to learn a bit of shell scripting, of course.
For example: I have a button which runs a script with getmail that pulls in my email and then deploys ripmime and weasyprint to convert it to datestamped PDF files, which it dumps with any attachments directly into an inbox folder. In other words, I have made ranger into my email client and I never need to "download" anything, it's already there.
And those PDFs I can then manipulate with a bunch of shell scripts that use standard utilities, i.e. to split them, merge them, shrink them, clean them of metadata, even make them look like they come from photocopied paper (dumb bank!). All the stupid shit I once did with 10 manipulations hunting thru menus with a pointer in a fiddly app and always forgetting how it was done. Now I just select the file in the terminal, hit a button and it's done, I don't even see the PDF.
Of course, it's not for everyone, but this is the promise of free computing.
No, I'm not using a window manager, X nor Wayland.
Images, PDFs and video can be rendered on the framebuffer, which has been the standard output for Linux TTY's for a while now.
For multitasking, I use tmux, which works a lot like a tiling window manager, but for the text console.
The general discovery I made was this: for the small price of foregoing pretty colors and buttons and chrome, you can get a computer to do exactly what you want it to do much quicker. Assuming a willingness to learn a bit of shell scripting, of course.
I find the emphasis people put on speed interesting, because by far the slowest part of any interaction I have with my computer is caused by me just figuring out what I'm doing next. When I'm functioning at top speed not needing to click around, or say, having the perfect keyboard shortcut, would save me only fractions of a second.
Actually.. to add to this I think the cognitive load of visually navigating is much lower than typing specific things it. I think this is why I find I'd prefer to click around my bookmarks or files to find something than just pull up a "Find" dialog and type something reasonable in.
Fair point about raw speed. I never found the keyboard-vs-mouse speed debate very interesting either.
But cognitive load is a double-edged sword. Sure, the first time you attempt a task, the abstraction of a GUI is really helpful. There's nothing to remember, you just point and click around and eventually the task is done. But when you have a task with 7 steps which you have to do every 2 weeks, then the GUI becomes a PITA in my experience. GUIs are all but impossible to script, and so you're gonna need a good memory if you want to get it done quickly and accurately. This is where CLI scripting becomes genuinely useful. Personally I have quite a few such tasks.
I'd love to be able to ditch the gui entirely, I've found working from a TTY really helps me focus on the actual work I'm supposed to be doing
Unfortunately the one impossible hurdle is the web browser. Have kinda got around the need for it mostly with an llm cli for basic questions but will always find myself needing to fire up a window manager just to get a browser eventually
Also doesn't help that I'm primarily a web developer
cage is a minimalist Wayland compositor that only shows a single application in fullscreen. When you close the app, it drops you back to your console.
It's compatible with programs that need X11 through XWayland, and it has practically no loading times.
cage -ds firefox would open Firefox in fullscreen.
Option -d hides client-side decorations and -s allows you to switch from Wayland to another TTY using Ctrl+Alt+F[1-6]
I put aliases for the programs I use in my .bashrc so I can just type FF[Enter] and a second later I have Firefox open.
I remember using Reddit years ago on Links. New Reddit was borderline unusable, old Reddit worked... okayish. How is Default web UI Lemmy on Links? Is there a nice TUI client that I guess you would use more regularly?
The default Lemmy UI doesn't work on Links, it won't let you log in without JavaScript.
I use the alternative UI old.feddit.org (old.lemmy.world, old.sdf.org and probably others also exist).
And that works really well.
Tried it. Didn't show any posts or comments no matter what I tried. I sent my logs to the dev, they released a new version, still didn't work. So I gave up.
I did. It doesn't accept mouse clicks from gpm, and it doesn't offer keyboard navigation. Both issues are long-standing bugs that also affect the Chrome version, Carbonyl.