Lynx: Why I Still Use This “Ancient” Web Browser
Lynx is a text-based web browser that’s been going since 1992 and still looks much the same as it did all those years ago.
When I say text-based, I mean exactly that. Lynx doesn’t load images, multimedia content, javascript or CSS. Instead, it only shows plain text in the terminal.
To me, these limitations are its most intriguing feature.
For starters, Lynx loads HTML blazingly fast since it doesn’t have much else to worry about. The lack of multimedia also means no scrolling past massive header images, dealing with ads, clicking through cookie consent forms, or exposing your eyes to all the contrasting typography and color choices that come with modern web browsing. It also works with the Gopher net, which pretty much ensures it’s always part of my “tech stack.”
Using Lynx
Lynx is available on pretty much every operating system. If you’re
using Linux or another Unix-like system, you can download Lynx with the
command: sudo apt install lynx (or whatever package
management tool you use). If you’re using a system like Windows, you’ll
need to download it from the Lynx
website.
To run lynx, open a terminal and type lynx followed by a desired URL.
For example, to get to my website, you’d type
lynx https://quinnmaclay.com
Using Lynx like this is a bit cumbersome. After all, the time it takes to type a URL would negate the speed benefit of using a text-based browser. But that’s where a little bash scripting magic comes in.
For example, I use a home-made script which, once configured, allows
me to access various search engine results with a simple ?
followed by my search query. With this, I can find the answers I’m
looking for in a flash with no AI nonsense or other junk getting in the
way.
Here’s a simplified version of that script that uses DuckDuckGo to search the web:
#!/bin/bash
exec lynx “https://lite.duckduckgo.com/lite?kd=-1&kp=-1&q=$*"
To make this work on a Unix-like system, you’d need to make it executable with:
chmod +x yourscript.sh
Then add alias ?=’yourscript.sh’ to your .bashrc and quick text-based searching is yours.
Once you’re online with Lynx, moving about is pretty simple. The up
and down arrow keys move you between pages and links. Right follows a
link, and the left key takes you back. Meanwhile, o will
open the options, and k will show you a full list of
keymaps.
Configuring Lynx
You can make some configurations regarding how Lynx works in the options menu. However, for most changes, you’ll need to edit the lynx.cfg (usually located somewhere like /etc/lynx/lynx.cfg) This document is a massive config file and too big to cover fully here.
However, here’s a few personal alterations I’d recommend looking into:
- MAKE_LINKS_FOR_ALL_IMAGES: — setting this to TRUE turns the alt-text of images into links, allowing you to download images with an external program.
- SET_COOKIES: — by default, Lynx will ask you if you want to accept or reject cookies every time you access a web page that uses them. Setting FALSE rejects cookies by default. You’ll also want to set PERSISTANT_COOKIES to FALSE as well.
- STARTFILE — this sets your Lynx homepage. I have mine set to my website.
- DEFAULT_USER_MODE — While Lynx’s help menu is useful for beginners, it get annoying and takes up a lot of screen-space once you know your way around. Setting this option to ADVANCED will remove it.
Final Thoughts
There are limits on what you can do with Lynx. For instance, it’s pretty much useless on any site that requires scripting to function. Also, many CSS-heavy web pages will look like trash in a terminal environment. Others won’t work at all.
Despite this, I find that Lynx still serves as a useful research tool, cutting time off browsing when quick answers are what you’re after. It also offers plenty of useful functionality for command-line power users and those using limited hardware. Beyond that, it’s a fun piece of retrocomputing software. After all, who doesn’t want to browse the internet like it’s 1992?