Edit, Dec. 6, 2009: I’ve reuploaded a fresh set of images for this post, after the former provider suddenly decided to dump postcard-sized ads on the page. As it is however, this post is well over two years old. Some of the text may no longer correspond to the image; please let me know if it’s confusing and I’ll re-edit it. Cheers, and enjoy. 🙂
Text-only browsers are something of an oxymoron, especially nowadays. The Web is inherently graphical, even if the content is still primarily words and text. That trend is snowballing, especially with the noise that surrounds “Web 2.0” — every page has to be a double dose of Flash and AJAX, sprinkled with a liberal splash of pointless animated gifs and embedded music tracks, pop-up link previews, single-click RSS feeds and a comment form to boot.
Which is all fine and dandy. Personally, I think it’s lipstick on a pig, but that’s because I’m wise enough to recognize a lack of content for what it is — a lack of content. Flash and dash aside, you’re either offering quality information, or you’re riding the coattails of someone who is. But that’s beside the point.
One downside of the push to heavy Web pages and high browser workload is that older machines get lost in the fracas. You need a faster and stronger machine to handle all the rendering, transfer and configuration — and one of the reasons people always think they need a newer, faster computer is that the old one just can’t handle it any more. Heck, you need a faster computer just to buy a faster computer.
It’s all true. I admit it: A 400Mhz Pentium III can’t draw up Web pages in Firefox with the same snap as a Turion 64 X2. The muscle just isn’t there. But rather than blame the machine, let’s blame the workload: After all, the hardware hasn’t changed, the job has. The computer isn’t running slower, it’s just that there’s so much more to be done now.
Now daydream with me: What if you could cut through all the gimmickry, all the Flash animations, all the embedded gadgetry and doodads that don’t add anything to the content — the real content — of a Web page? What if, as an example, you could check your Gmail account without waiting for all the Java to load, redraw, align, composite and snap to?
Ah, my friends: Feast your eyes.
That’s my Gmail account in basic HTML mode, running in elinks. Time to render the page? I don’t know. It’s too fast for me to track it. When you carve out all the crap, you get lightning-fast page loading, near-instantaneous transfers and amazing responsiveness — from decade-old hardware, too. And best of all, you cut straight to the important stuff: your e-mail. This is what you’re after. Don’t get me wrong, Gmail is cool. I love it. But I’m after the message, not the mess. And a text-only browser is simply faster than a graphical one, even in HTML mode — and it does me the favor of leaving all the cruft behind.
“Oh sure,” you say. “That’s all fine and dandy, but be realistic: How much can you get done with a text-only browser?” Well, here’s the BBC online, in elinks.
The front page of digg.com.
Writing a blog post, here on WordPress.
Surfing for torrents on Mininova.
Convinced yet? Maybe this will do it for you: Here’s the system profile, as per htop.
That’s with six sites open at a time, after browsing for almost 20 minutes and accessing probably three dozen more pages. Memory and CPU usage are almost trivial on a 550Mhz machine with 192Mb. And at the same time, Swiftfox? What’s it using? About a hundred times as much.
elinks isn’t the only text-mode browser available to you. A default Ubuntu installation gives you w3m, you have lynx and links2 and a few others at your disposal. And if you can’t wean yourself off graphics, you have the option of using something like links2 with the framebuffer option, and that allows you integrated images on the worst of hardware.
elinks is definitely my favorite, though. elinks looks and feels like a traditional browser. It features tabbed browsing. Integrated mouse support (which is to say, without needing gpm). Cookies and cached pages. A menu bar and an extensive list of internal options. It can handle drop-down menus and form input. It has integrated bookmarks and support for external image viewers like feh and fbi (which I should mention can also display PDFs since it comes bundled with fbgs 😯 Don’t believe me? Try it. Open a PDF in the framebuffer on a 90Mhz Pentium machine, then write to me to apologize for ever doubting me 😀 ). Borders and boxes are usually faithful to the original document, and the colors are close to what the real pages show, in most cases.
It’s really about as close as you can get to a real, graphical browser without sacrificing the speed and responsiveness of text-mode surfing.
Now that I’ve made my case, here’s how to get it going. For my example, I’m running elinks from the framebuffer inside screen-vs. Keep that in mind because different emulators and settings will display elinks a little differently. In short, getting your elinks screens to look like mine might take a little work.
To get started, start up elinks in your favorite terminal emulator. It’s a little sparse at first (like all console programs 🙄 ), but you should see something akin to this:
I’ll admit I’m cheating a little bit there, because I have adjusted the settings already to display in color, open to a home page and display things like the LEDs in the lower right corner, and the clock.
For now, click on Cancel or hit escape if necessary, and click somewhere on the bar at the top of the screen or press ESC to activate the menu bar. From the Setup menu, click on Terminal Options so you can get your screen into a negotiable form.
The settings you see there are working for me in screen against a custom-built framebuffer, and I get a good arrangement of colors, borders and boxes. No promises, but you should get a similar appearance with those options, all things considered.
Save the options that work for you, and close that menu. Now comes the fun part. Press the “g” key. You should see the same screen as you first did — the one that prompted you for a URL. Try the Ubuntu home page, just as an example. Press page down and you’ll see the meat of the page, like I have here.
How long did it take to show that page? Pretty fast, huh? Of course, the first thing you’ll notice is that the snazzy CSS-esque menus that are ordinarily shown at the top right of the page in a graphical browser have been transformed into an indented list. It’s not ideal, but the content — the links — are right there, ready for your perusal. You don’t have to wait for your browser to draw up those snazzy CSS-esque menus now. It’s a tradeoff, but one you might be willing to make.
Here’s something else that’s fun. Press the “a” button.
Hey, lookit there. A bookmarking option. Press OK, and the bookmark is added to your list. Press “s” now.
Hey, lookit there. A bookmark manager. This place has everything! What a bargain! From here you can manage the bookmarks you’ve collected, add a few more, or rearrange them into folders and whatnot. Nest them, list them, sort them … whatever you like.
(One note at this point: Moving a bookmark is a little tricky: First press insert to highlight the bookmark you want to move, then move the cursor to its new home. Then click on Move. It took me a little while to find that one. 😉 )
Now let’s see. What fun can we get into next. … Close the bookmark manager, then press “t”.
Well isn’t that quaint, you say. Another way to open an address. Nope! 😀 Look closer: See the green bar across the bottom? You’ve opened a new tab, not just a new address. Now you have two tabs going, each with its own page. Now you’re really cruising. Give it another address, like the Ubuntu Forums, just for fun.
Open as many tabs as you think you can get away with. Close them with the “c” button. If you middle-click on a link, it will open in a new tab, which means you can moderate the forums with elinks and get much faster response times and page-to-page navigation than with Firefox or Swiftfox. And things like drop-down list boxes work like they’re supposed to.
I love the Forum Jump. It makes it easier to jail spam. 😈
So what else? Well, here’s the thing that will take the most getting used to. Go to your Gmail or e-mail account. Here’s the sign-in for mine.
Watch closely: Now click once on the Username field. Then press enter.
Now enter your user name. Don’t press return. When you’re done, navigate out of the text field with the up or down arrow, or by clicking on the Password field. Then press enter again.
Now enter your password, and press enter. elinks will ask you to confirm before it posts the data, and logs you in.
That’s the toughest thing to get used to: Click on the field to highlight it, press enter to modify it, don’t press enter unless you want to submit it. Invariably, even after using it for weeks, I want to press return repeatedly, and I end up sending off a username without a password, which of course is rejected. Sigh.
elinks has some other quirks too, many of which are worth mentioning. I sometimes get screen artifacts, but that’ll happen in almost any browser if it starts feeling funky. (There’s an option to rerender a page under the View menu.)
It’s also exceedingly careful: I would love to turn off the double-confirmation effect of clicking “Sign In,” then having to permit elinks to actually send the information. It’s like I’m working in Vista or something. “Cancel or allow?” 😀
And of course, there are some things that just aren’t worth using elinks for.
So much for surfing Google Images for lolcats with elinks. Youtube is also pretty much out of the question. And so is flickr, or or eyeOS. But you probably guessed that. And some pages just turn out kind of screwy.
That’s the front page of Launchpad, and it looks a little off-kilter. It’s still functional, just a little lopsided.
Either way, here’s a short list of some other things to look into, if you plan on using elinks for any amount of serious browsing.
- Take a good look at the extended options list under the Setup menu. There are a lot of default behaviors that I don’t care for, including the opening prompt for a URL (that’s what I have bookmarks for). But there are also some nifty tricks that you can add, like a persistent tab bar or a clock option that shows the time in the lower right corner. A nice touch.
- There’s a page display in the upper right corner that shows the vertical size of the page, and where you are in that count. This is useful if you’re skimming through a mailing list, and you want to know how much longer you have to keep reading.
- In the lower right corner are the “LED” indicators — warning flags for various page alerts or error messages. Most are trivial, but others might be worth knowing. You can find the full list under the Help menu.
- Page up and down with the page up and down keys. 🙄 Arrow keys up and down jump from link to link. Left and right keys work like forward and backward keys on a graphical browser.
- If you close the last open tab, elinks will ask you if you want to quit.
- Left-clicking around the edges of the page (and those “edges” are very liberal) will scroll the page in that direction. That’s useful to know if you’ve got a page that spreads way out to one side.
- Right-click for … a right-click menu. 🙄
- elinks likes to rely on its cached pages, and that can sometimes be confusing. If you log into a site and yet you’re still being prompted for a username and password, you’re probably just looking at a cached version. Press CTRL+R to reload the page.
- Similarly, elinks doesn’t seem to have an option to dump its cache on close, or clear its cookies. Everything is in the ~/.elinks folder though, so if you’re one of those people who likes to clean up after yourself, write yourself a little batch script to clean up those files after elinks finishes.
- If you want to highlight text on the page, hold down the SHIFT key while you drag over it. elinks otherwise will ignore your highlighting attempts.
- If you want image support within the X environment, install feh. Clicking on an image link will prompt you to open it with a command line, and if you have feh installed, elinks will sense it and offer it as an option.
- Similarly, if you’re in a console environment, install fbi and get the same graphical access with the framebuffer. Plus the PDF support I mentioned earlier … that you still don’t believe will work, do you?
- elinks has an impressive built-in download manager. If you need a download accelerator, look for axel, which runs from the command line and will reach ungodly download speeds, given the space.
- It’s worth mentioning that there’s a lite version of elinks, although I can’t imagine a machine so old and so burdened by elinks that you’d need a still-lighter version of it.
- When you’re utterly bewildered and not sure why elinks is doing what it’s doing, there is documentation available at http://elinks.cz/. Even though it downplays itself as meager, I have yet to leave there empty-handed.
- And most important, press “q” to quit.
That’s about it. Beyond that, you’re probably capable of finding the answers you need. Remember that elinks can’t do it all, but it can do most everything faster — and so long as fancy AJAX acrobatics or embedded Flash players aren’t required, it might even be able to do it better.
Next time: Death by key-combo — Oleo for fun and profit.