2005 Text Mode Browser Roundup

 in
While everyone else praises Firefox's speed and rendering features, some still prefer to do their browsing in text mode.

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.

Lynx

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.

Emacs/W3

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

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.

Links

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.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Browser Roundup

UK's picture

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.
Nigel UK
Fylde Computer Repairs

www.airyeezykicks.com

Anonymous's picture

so i presume w3m can handle multiple instances alright. that's a useful feature

Long lives textmode

update's picture

Emacs/W3 new homepage is
http://www.gnu.org/software/w3/

thank you for this article

text module

Anonymous's picture

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.

about elinks...

jot's picture

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.

Accessing layout information

sandesh tawari's picture

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

grok's picture

Great to find someone is doing the work to put it all together in one place. Thanx.

Text-Browsing for the Blind

Marc Springer's picture

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

David Marrs's picture

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

Brother E's picture

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

Anonymous's picture

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

Anonymous's picture

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.

Derred's picture

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

Josh Trutwin's picture

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

Anonymous's picture

Has some rather nice features, and is actively maintained:
http://retawq.sourceforge.net/

links-hacked

Anonymous's picture

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

Petr Baudis's picture

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

Marc Wilson's picture

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

Anonymous's picture

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

undefined's picture

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?

Anonymous's picture

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?

heather's picture

Good point. They are there now. -- Editor

poor man's tabbed browser: screen

Karsten M. Self's picture

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

Rich's picture

screen -m -s exec links

I don't use it much myself, but there's the integration you may have wanted.

multiple concurrent instances

undefined's picture

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

Anonymous's picture

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.

lynx??

Anonymous's picture

i tried Lynx BUT when i scroll with arrow keys, but each time i hit the arrow key it selects the next link, and scroll past the text.

i adjusted through the options to 'add' a scroll bar, but i cant work it properly, so as, i can read the text

i am running lynx on Vista, how easy is it to hook up my printer?

cheers

Ben

another comment to emphasis

Anonymous's picture

another comment to emphasis my argument

i want to read the text when using Lynxs,

because when i use the arrow key,
it skips the text, therefore i cannot read the text,

cheers

Ben

freeridertheory@hotmail.com

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix