A while ago as an experiment I set up a new system and decided to see just how much I could get done without installing a graphical environment. Most of my work happens in Neovim and there are plenty of applications that will do things like play video directly to a framebuffer so it should be pretty straightforward right? Turns out not really. Neovim will run in a kernel VT, but it’ll be … messy. The kernel virtual terminal is only designed to be good enough to use to install a desktop manager or repair your configuration. It’s not meant to be used full time. It only supports 16 colors which breaks just about every color scheme out there. It also only supports specially converted pixel fonts, meaning your choices of font size are somewhat restricted, ligatures are a complete no go, you can pretty much forget about nerdfonts (unless you wanna do a lot of work) and the only way to change fonts or font sizes is to use the setfont command which only works if run directly in the terminal as opposed to inside e.g. tmux.
I just kinda used my phone for that. Like I said, not a good experience. Elinks and Links2 are marginally better, and I remember a while ago there was a project that would run Firefox in headless mode and cram its output into a terminal (wish I could remember what it was called), but you’re not really gonna get a browser in a terminal no matter what you do
Found it again after a bit of googling. It’s called Browsh. Haven’t played with it yet (will report back when I do) but from the demo on that github page it seems to work pretty well.
UPDATE: I’ve tried it out and hooooly craaaaaap this is good. If I didn’t know this was running in a terminal I would never have guessed. I would’ve just assumed it was a novelty browser meant to evoke that style. Smooth scrolling works astonishingly well as does video playback.
Lol, I’m already up and running. It’s pretty good, and I can actually use my mouse with it in bash. Protip, it seems very important to use the right window size. It’s good enough to do a lot of normal browsing, but openstreetmap understandably had broken controls. The only local issue is that I can’t see what I’m entering into the URL bar.
It’s also designed to run distributed, so you can use shitty bandwidth between a rendering machine and the display machine. I should try fitting it into a radio channel or phone connection or something, haha. I also wonder if it could be adapted to work with Tor Browser.
You can use fbterm if you want to use TTF fonts. It even works with nerdfonts, although the rendering is not quite right. It does support 256 colors, although the way it implements colors makes it a pain to use.
Any good terminal emulator has them. Personally I use Konsole, but I’d be remiss if I didn’t mention Neovide which supports them as well. It’s a bit like a terminal emulator that can only run Neovim and has some Neovim-specific settings and integration (e.g. change window opacity with a Vim command, animated scrolling, plus that funky little animated cursor effect you can see on the website), and as a bonus it supports Windows and MacOS if you’re a heathen
If you only use the CLI, you don’t need X or Wayland.
A while ago as an experiment I set up a new system and decided to see just how much I could get done without installing a graphical environment. Most of my work happens in Neovim and there are plenty of applications that will do things like play video directly to a framebuffer so it should be pretty straightforward right? Turns out not really. Neovim will run in a kernel VT, but it’ll be … messy. The kernel virtual terminal is only designed to be good enough to use to install a desktop manager or repair your configuration. It’s not meant to be used full time. It only supports 16 colors which breaks just about every color scheme out there. It also only supports specially converted pixel fonts, meaning your choices of font size are somewhat restricted, ligatures are a complete no go, you can pretty much forget about nerdfonts (unless you wanna do a lot of work) and the only way to change fonts or font sizes is to use the setfont command which only works if run directly in the terminal as opposed to inside e.g. tmux.
It’s usable in a pinch, but I do not recommend.
Did you do much browsing? Lynx is a thing, but it can’t do JavaScript.
Come to think of it, is there a CLI Lemmy client?
https://github.com/LunaticHacker/lemmy-terminal-viewer
Nice! I knew it had to be a thing.
I just kinda used my phone for that. Like I said, not a good experience. Elinks and Links2 are marginally better, and I remember a while ago there was a project that would run Firefox in headless mode and cram its output into a terminal (wish I could remember what it was called), but you’re not really gonna get a browser in a terminal no matter what you do
I’m absolutely fascinated if somebody can point me to that.
How well did it render most sites, compared to the other CLI browsers?
Found it again after a bit of googling. It’s called Browsh. Haven’t played with it yet (will report back when I do) but from the demo on that github page it seems to work pretty well.
UPDATE: I’ve tried it out and hooooly craaaaaap this is good. If I didn’t know this was running in a terminal I would never have guessed. I would’ve just assumed it was a novelty browser meant to evoke that style. Smooth scrolling works astonishingly well as does video playback.
Lol, I’m already up and running. It’s pretty good, and I can actually use my mouse with it in bash. Protip, it seems very important to use the right window size. It’s good enough to do a lot of normal browsing, but openstreetmap understandably had broken controls. The only local issue is that I can’t see what I’m entering into the URL bar.
It’s also designed to run distributed, so you can use shitty bandwidth between a rendering machine and the display machine. I should try fitting it into a radio channel or phone connection or something, haha. I also wonder if it could be adapted to work with Tor Browser.
You can use fbterm if you want to use TTF fonts. It even works with nerdfonts, although the rendering is not quite right. It does support 256 colors, although the way it implements colors makes it a pain to use.
TIL of fbterm. I’ll def check it out when I get a chance.
How did you get ligatures working with neovim?
Any good terminal emulator has them. Personally I use Konsole, but I’d be remiss if I didn’t mention Neovide which supports them as well. It’s a bit like a terminal emulator that can only run Neovim and has some Neovim-specific settings and integration (e.g. change window opacity with a Vim command, animated scrolling, plus that funky little animated cursor effect you can see on the website), and as a bonus it supports Windows and MacOS
if you’re a heathenAbsolute chad.
(Mandatory disclaimer that I actually think the anti-GUI jerk goes too far)