2005 Text Mode Browser Roundup
March 8th, 2005 by Erik Inge Bolso in
Editor's Note: This article has been updated since its original posting.
Browsing the Web in text mode has a long history. Initially, text mode was all there was, with the CERN Line Mode Browser (also called www). The ever-present Lynx made the jump to full-screen text mode, as opposed to line-by-line, in late 1992. Lynx continues to be maintained and extended today. Incidentally, Lynx originally was a browser for Gopher and some in-house university hypertext systems. Emacs/W3 came next, in 1993, and was written in Emacs Lisp.
In late 1998, W3M came out of Japan, and in 1999 Links was released by Czech programmer Mikulas Patocka. Both these projects have since forked to different degrees. For example, ELinks, an offshoot of Links, now is considered to be a separate project.
Considering the speed and convenience text mode browsers offer, even over SSH connection from half a continent away, text mode browsing is supremely useful. So let's take a look at the current state of text mode browsers.
Ported to almost every current system under the sun and available on most general purpose SSH-accessible systems in the world, Lynx is a mature piece of software. As such, it has accumulated well over a hundred command-line options and obscure features. It still does the basics well, including SSL these days, and it is quick compared to any graphical browser.
Lynx renders pages in color or monochrome, based on your preference. It can display pages in any of a few dozen character sets--Arabic, Hebrew and Japanese, to name a few--and can be integrated into any printing and storage regime. This is due to supporting user/administrator-defined commands on print and download requests. Lynx comes with extensive documentation, including a speech-friendly set of help files tailored for blind and visually handicapped users. Lynx also has a kiosk mode, so you can restrict the set of allowable actions and URLs.
Lynx does have a few shortcomings, however. It downloads only one file at a time and does so in the foreground, so you cannot continue browsing while the download is underway. Lynx also does not render frames, and it lays out tables strangely. Finally, Javascript links will frustrate you every time you encounter them on less-accessible Web sites.
At the time of its release, Emacs/W3 was touted as yet another reason why a user would never have to leave Emacs. It can do UTF-8 as well as Emacs can, and it understands simple CSS. Emacs/W3 has suffered bit rot since 1999, and it is hard to get up and running these days. It does not understand XHTML, so modern pages have bits and pieces of code sticking out all over the place. Currently, Emacs/W3 needs quite a bit of rework and is not recommended for use.
W3M originally was intended to be a pager, like the less pager but with HTML support. The original author felt Lynx was big and slow and wanted a quick, light replacement. Thus, W3M came into being. Over time, W3M has grown, and nowadays it has a somewhat bigger memory image than Lynx does while viewing the same page.
W3M was the first text browser to handle table rendering well, and it transforms frames to tables for convenient viewing. Coming from Japan, it has good support for exotic scripts and UTF-8. At first W3M was purely bilingual, offering good support for English and Japanese scripts, but improvements to support the broader world languages is ongoing. In addition, the browser offers the unexpected feature of being able to render images in-line on your xterm or framebuffer console. This feature is not really relevant to this comparison, but it is worth a mention. W3M also offers tabbed browsing.
W3M's shortcomings are few. W3M does not do incremental rendering. Also, you cannot do anything else while W3M is loading a page, even if you have several tabs open.
As the name suggests, Links was created as a Lynx replacement to offer saner table renderings and a smaller footprint. In these areas, Links has succeeded; Links 1.0.0pre12 has the smallest footprint of the tested browsers discussed here. On a side note, Links2 seems to be a mostly graphical fork and thus was not considered for this review.
Links does offer saner table rendering than Lynx does; Links rendering is on par with W3M's. Development is frozen, so only bug fixes are being accepted. As a result, Links is both fast and stable. It can run downloads in the background, and it does incremental rendering. Like Lynx, Links has an anonymous/kiosk mode for use on public computers.
As for drawbacks, Links does not support HTTP authentication. UTF-8 support is partial, and no support is offered for Chinese, Japanese or Korean languages (CJK), even when the page is UTF-8-encoded.
ELinks started out as a feature patch set to Links. ELinks became a fork when it became clear that no further features would be accepted into Links. As such, it inherits Links' features and flaws and adds a few of its own.
ELinks sports the most features of any text browser--good table rendering, background downloads, incremental rendering--all inherited from Links. Tabbed browsing has been added for convenience. Some CSS support is present, but little more than highlighting text seems to be honored; alignment and positioning mostly are ignored. Alone among text browsers, ELinks offers the beginnings of Javascript support as a standard feature, using Mozilla's SpiderMonkey Javascript engine. With this feature, finally some less-accessible pages can be used in text mode. ELinks' behaviour can be customized by way of Guile, Perl, Ruby and Lua scripts.
As is typical with development forks, ELinks has a large footprint compared to all the other tested browsers. It also has the most visible bugs. Due to its Links inheritance, ELinks has no support for Chinese, Japanese and Korean languages and limited support for UTF-8.
Special Magazine Offer -- 2 Free Trial Issues!
Receive 2 free trial issues of Linux Journal as well as instant online access to current and past issues. There's NO RISK and NO OBLIGATION to buy. CLICK HERE for offer
Linux Journal: delivering readers the advice and inspiration they need to get the most out of their Linux systems since 1994.
Sorry, offer available in the US only. International orders, click here.
Subscribe now!
The Latest
Featured Videos
Linux Journal Live - Oct 9, 2008
October 9th, 2008 by Shawn Powers
The October 9, 2008 edition of Linux Journal Live! Associate Editor, Shawn Powers, and Kyle Rankin, "Hack and /" columnist and author of Knoppix Hacks, Linux Multimedia Hacks, Knoppix Pocket Reference and others, discuss Linux distributions.
Linux Journal Live - Oct 2, 2008
October 3rd, 2008 by Shawn Powers
The October 2, 2008 edition of Linux Journal Live! Associate Editor, Shawn Powers, and Steven Evatt, Online Development manager for The Houston Chronicle discuss surviving disaster with Linux.
Recently Popular
From the Magazine
November 2008, #175
There aren't many numbers that put the US national debt to shame, but here's one: 1,100,000,000,000,000. What's that? That's how many floating-point operations per second the Roadrunner supercomputer at Las Alamos can perform. That's about 100 FLOPS per dollar of US debt (unfortunately, the debt is winning the second derivative race). Read the article about Roadrunner in this month's High Performance Computing issue of LJ.
Along with that, find out how to program the Cell processor and how to use CUDA with your NVIDIA GPU. Also in this issue: Mr HandS (aka Kyle Rankin) gives us a few tips on using Compiz, Chef Marcel shows you how to get blogging off your plate quicker, Mick Bauer talks about Samba security, Dan Sawyer interviews Cory Doctrow and Doc talks about how information technology can affect democracy and fix the national debt (just kidding about that last part). That and more for your reading pleasure in this month's Linux Journal.
Delicious
Digg
Reddit
Newsvine
Technorati








FireFox Features
On August 26th, 2008 Jimmy Mark (not verified) says:
Good to see this, but some time Windows get held while searching at FireFox, i also try to search CCNA 640-802 exam, but with many search after this get held.
about elinks...
On July 11th, 2006 jot (not verified) says:
in my opinion one of the killer features in elinks is 'URI rewriting'
, it's similiar to 'search box' in Firefox, but instead of search box you can type your query in url box. So you can type 'g' to open 'go to url' box then type: 'g elinks' to search for elinks in google. You can add multiple search engines like the one above. To learn more about 'URI rewriting' visit the elinks Documentation page.
eLinks and FireFox
On August 26th, 2008 Mark Styne (not verified) says:
I agree with you, but what exactly the problem we getting some time windows get held, it due to that FireFox taking much memory, i was searching 350-001 exam but some time its give error of memory full.
Accessing layout information
On June 19th, 2005 sandesh tawari (not verified) says:
I want to get the layout information (like co-ordinates of some HTML node or text) from one of these text based browsers. Its not possible to get all the layout information from the DOM of a page; instead the page has to be rendered first and then the DOM can be queried. In mozilla/IE the DOM API's allow us to get information from a rendered page. Do these browser support such an API.
Great to find someone is doin
On March 13th, 2005 grok (not verified) says:
Great to find someone is doing the work to put it all together in one place. Thanx.
Text-Browsing for the Blind
On March 26th, 2005 Marc Springer (not verified) says:
A few days ago I thoght - hey, who needs this old-fashined lynx-style browsers. In these days you could hardly browse with this kind of browser - even on a mobile-device you got better stuff in these days.
But then I learned, that quite a lot blind people use this style of browser where the characters are translated into the braile-chars.
What a pleasant coincidence
On March 12th, 2005 David Marrs (not verified) says:
I just discovered lynx a few days ago and have been increasingly using it as my browser of choice. I was using it to navigate to linuxjournal and what's the first article here that catches my eye?
It's so much easier to navigate with this than apps like Firefox, especially when reading articles on sites like this.
It does have its short comings, though, especially when it comes to layout. Well, actually I'd argue that it reveals the short comings of many websites. The BBC's site renders excellently, for example, revealing the BBC's efforts to make their site as accessible as possible. Anyway, I'll be sure to check out the alternatives that you mentioned because a more flexible text-based browser might quickly become my default.
I had no idea there was a demand for these sorts of browsers any more. It's come as a pleasant surprise. Thanks for the well timed article. :)
More reasons to use text mode
On April 24th, 2005 Brother E (not verified) says:
Besides braile users, some of us sighted people prefer using text mode. For me, the main attraction is the blazing speed. I can switch around applications using the virtual consoles and this works much faster than X. (NB. This is me. I am not trying to preach the gospel of text-mode to anyone else. Though if you want to try it ... it is adictive.) I also find it much less distracting to not have to consider which of 10,000 themes I should play with and what nifty adds are popping up on web-sites I view. (You can't make a pop-up in 80x25 ;) .) IM is also nice (using centericq).
The only thing I really miss is cut-and-paste from my browser to my editor. I am sure some enterprising person has added this, but I haven't missed it enough to spend the time to look.
Grace to all.
PS The main reason I started using text mode is that my computer is too slow. A PII 233 with 64 MB of RAM and 1G of hard drive just doesn't blaze through a modern graphical application. But for $10, it was within my budget. And, as I said above, it's addictive.
Cut and paste in text mode
On June 29th, 2005 Anonymous (not verified) says:
You want to use GPM for that -- it's a mouse server that works in text mode, on the linux virtual terminals. Select text with the left button to copy, then middle click (in the same or a different VT) to paste.
In w3m, the mouse is used
On April 24th, 2007 Anonymous (not verified) says:
In w3m, the mouse is used interactively: you can click and right-click on links even! Therefore the select/copy function is also a bit different. Just use [shift]+[left mouse button] and drag the mouse to select and everything works as wished.
This also works in eLinks.
On July 22nd, 2007 Derred (not verified) says:
This also works in eLinks. And just to add one more feather to it's cap, the elinks download manager is fast and very easy to use in my opinion
Tried em all
On March 11th, 2005 Josh Trutwin (not verified) says:
I personally think elinks is the best of the breed. Though I don't like how they changed the way the browser works with input forms, you have to press Return to begin typing in a form field, used to just be able to arrow to the field and start typing. Every time I go to google.com this trips me up. I'm sure there's a way to configure it back to the old behavior, but I'm lazy. :) Otherwise elinks is great, their multiple download support is excellent - background downloads with notifications is extremely useful.
FWIW, there's another one I've evaluated: http://netrik.sourceforge.net/ - seems interesting though I don't find it very usable right now.
retawq
On March 10th, 2005 Anonymous (not verified) says:
Has some rather nice features, and is actively maintained:
http://retawq.sourceforge.net/
links-hacked
On March 10th, 2005 Anonymous (not verified) says:
Has SSL and (some) JavaScript support as well...
Although the main-page mensions only 030709 ,
031220 work(ed) well for me, from here:
http://xray.sai.msu.ru/~karpov/links-hacked/downloads/
Few ELinks notes
On March 9th, 2005 Petr Baudis (not verified) says:
Hello, thanks for an excellent roundup. I have few tiny comments about ELinks: it supports the text-align CSS property, which does most of the alignment; it indeed does not support positioning yet, though. It also does support HTTP authentication, its JavaScript support on the contrary is still very experimental and not recommended as a stable feature (we are working on it, though). I'm not sure what did you mean by "the most visible bugs" - do you mean that you can easily see them through the Bugzilla interface? Or that there is a lot of big bugs in ELinks? In that case, we would love to hear about them. :-)
Javascript support
On March 8th, 2005 Marc Wilson (not verified) says:
Elinks is not the only text-mode browser incorporating Javascript
support. Links2 does as well. It also supports pipelining, can
download in the background, and can handle image display when needed
without X.
It's unfortunate that it's dismissed with a single line of comment.
If you read the last sentence
On March 8th, 2005 Anonymous (not verified) says:
If you read the last sentence of the first paragraph in the Links section, it explains why Links2 wasn't included: "On a side note, Links2 seems to be a mostly graphical fork and thus was not considered for this review."
if you read poster's last sentence
On March 9th, 2005 undefined says:
if you had read the poster's last paragraph/sentence you would have seen that he references the sentence you quote. or what else do you suppose he was refering to with "single line of comment"?
the original poster's point is that though link2 is a graphical browser, it should not be discounted if it has a feature-set different from the other browsers available in its text-mode. the graphical interface can be overlooked/ignored for the purpose of this article, but not the whole links2 application.
that's like writing an article on light-weight gtk-only word processors, but throwing out abiword from the comparison because it's primarily built/used as a gnome application, totally ignoring the fact (possibly out of ignorance) that it has a gtk-only/no-gnome build option.
Why no links?
On March 8th, 2005 Anonymous (not verified) says:
Why aren't there any links to these browsers' home pages in the article? If your going to post an article to the web, you should actually use the web's features.
RE: Why no links?
On March 8th, 2005 heather says:
Good point. They are there now. -- Editor
poor man's tabbed browser: screen
On March 8th, 2005 Karsten M. Self (not verified) says:
Invoking 'screen' with $SHELL set to the browser of your choice allows you to let screen handle the "tabs" of your browser (through screen's, um, screens). The downside is you've got multiple instances of the browser running and they're not "aware" of one another. The upside is multiple operations can be performed simultaneously.
I use the following invocation for w3m:
SHELL=w3m rxvt -title w3m -e screen w3m'w3m' here is actually a wrapper which opens to the local bookmarks file if no target is specified -- w3m's default behavior is to exit with an error status.
Scripts tarball.
With links2, not so poor
On March 10th, 2005 Rich (not verified) says:
screen -m -s exec links
I don't use it much myself, but there's the integration you may have wanted.
multiple concurrent instances
On March 9th, 2005 undefined says:
so i presume w3m can handle multiple instances alright. that's a useful feature.
what other clients can handle multiple instances (probably requiring locking on the ~/. directory to keep instances from mangling history & cache files)?
mozilla/firefox can only handle one instance at a time (probably due to locking difficulties with data in ~/.mozilla), which is some what of a pain when i have two x sessions currently running and don't want to close one browser instance in one x session to start using another one (one real x server, one vnc server, same computer; and yes, i know about x11vnc but it's performance is weak compared to vncserver and when the native x session is 1280x1024, but the vnc client is 1024x768, scrolling all over the screen is dizzying/painful). and i've tried xmove and it's buggy (x client crashes during transfer between x servers).
Two years ago undefined40
On February 1st, 2007 Anonymous (not verified) says:
Two years ago undefined40 wrote:
mozilla/firefox can only handle one instance at a time
Firefox actually handles multiple instances quite gracefully:
firefox -no-remote -P "Profile One"
firefox -no-remote -P "Profile Two"
What's more is that the Mouseless Browsing addon gives Firefox numbered links, thereby making it actually usable like Lynx (albeit so much slower), unlike any other (non-Lynx) text-mode browser AFAIK. I love Lynx, and I use it for perhaps 85% of my web surfing. But that number continues to decrease as more and more web developers treat JavaScript as universal. Unfortunately if you want numbered links and JavaScript support, you must use Firefox.
I don't use Lynx because it's retro; I use it because it's more efficient, faster, easier, and gives me a consistent look and feel. I find it disappointing that none of its text-mode competitors can be as useful as Firefox. Somebody please correct me.
Post new comment