Howto: Use elinks like a pro

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.

Downloading the NanowaR album from Jamendo (which you must listen to, if you have any appreciation for metal — and any sense of humor — at all).

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.

42 thoughts on “Howto: Use elinks like a pro

  1. Luke

    Unfortunately, neither Bloglines nor Google Reader display correctly in elinks. Even the mobile version of Bloglines seems wonky. ๐Ÿ˜ฆ

    Reply
  2. K.Mandla Post author

    Yeah, it’s unfortunate, but some things just aren’t going to show up right, no matter what. I sometimes run elinks next to Swiftfox, so if I hit a page that elinks can’t render faithfully, I can jump over to Swiftfox and see what I’m supposed to be seeing. That happens a lot when I moderate, since people sometime post code lists or snapshots that I can’t get at. It’s worth the effort for me, anyway.

    Reply
  3. Luke

    Yes, it’s not really the fault of elinks – it’s bloglines and Google Reader design. AJAX stuff is nice, but it makes the web less usable.

    Also, I’m wondering how does all this AJAX stuff work with screen readers for the blind.

    Reply
  4. PartisanEntity

    Hello K.Mandla ๐Ÿ˜‰

    I have never heard of elinks before but it sounds and looks great. I do not have a slow machine, but like you I am of the opinion that many sites have too much bling that servers not point.

    Looking forward to trying out elinks later on today.

    p.s. I like your site, lots of interesting articles to read and keep me from working.

    Reply
  5. PartisanEntity

    It’s a great little tool, the pages are loading extremely fast, and on sites where the graphics are not important elinks is more than enough. Plus, it’s a little geeky and that’s always cool ๐Ÿ™‚

    Reply
  6. Petr Baudis

    If you want enter in forms not to submit the form, turn off document.browse.forms.auto_sumbit. Coincidentally, the option right below that (confirm_submit) turns of the confirmation when sending the form. ๐Ÿ˜‰

    Reply
  7. Petr Baudis

    (By the way, the time to render some larger CSS-heavy pages is actually unfortunately ridicilously high in ELinks, but that’s entirely my fault because the code is so unoptimized and I should really finally get it fixed one of these times…)

    Reply
  8. Pingback: alhaffar.com

  9. K.Mandla Post author

    Thanks Petr! The more I use it the more options I find. It will be nice not to confirm form submissions now. Cheers! ๐Ÿ˜€

    Reply
  10. Travis

    I’m conducting an experiment in text-mode browsing right now using
    a combination of Lynx/ELinks. I actually discovered this blog post with
    Lynx and am using it to write this comment. I thought I’d point out that
    youtube-dl in combination with mplayer could be used to workaround the
    YouTube issue.

    While various things on the web are clearly out of the question for a
    text browser, a majority of it is not. When coupled with proper helper
    applications, it seems more feasible than one might expect.

    Reply
  11. Travis

    Wow, just thought I’d point out that my previous comment has a bunch of unnecessary newlines due to my own error in respect to how Lynx texarea fields work. Unless there’s an option in Lynx to wrap inputted text, it might be best to spawn an external editor for this stuff (^Xe does the trick).

    Reply
  12. laddiebuck

    The issues you mention are fortunately configurable. You can configure a text field to start being edited immediately. Rerendering is a Ctrl-L away (not just under the View menu). I don’t know whether you use the mouse, but link numbering can also be switched on…
    The whole program is very, very configurable for key shortcuts, so if you find some action you do often difficult to access, just map it to a key combination. ๐Ÿ™‚

    Reply
  13. Tim

    Elinks is great. There’s a couple other keys to point out that are very useful.

    Ctrl-l will redraw the screen. Useful for web pages that are screwed up and leave traces behind.

    With 16 colors enabled, you can toggle a couple different color schemes with Shift-5.

    For a quick google search, press ‘g’ to open Got to Url dialog, then enter g followed by your search term, like ‘g elinks’. There are other default searches too; imdb, dpkg, wiki, etc. They are list in the Setup->Options Manager->Protocols->URI rewriting->Dumb or Smart Prefixes. You can also add you own.

    You can also set a homepage for elinks in your ~/.elinks/elinks.conf to avoid being asked what url to go to.

    set ui.sessions.homepage = “http://www.slashdot.com”

    Reply
  14. Pingback: OpenRoom » Blog Archive » Elinks: la pace dei sensi

  15. gil

    A great article, spot on. This really should be the front page of the elinks site! A perfect introduction. I’ve regained my enthusiasm for elinks having had it drained out me by navigating the official website.

    Reply
  16. J. Bromley

    Hey there,
    I’m reading this post from elinks. There’s one thing wrong: I can’t see your image links on xs.to! I can navigate to xs.to via your links, but there there seems to be no way to open the image in feh. This is a good article, nonetheless.

    I like elinks, but have one problem. I use SuperGenPass (http://supergenpass.com/) to manage site passwords, and I cannot seem to get it working with elinks. I can load the page, but it seems that the ECMAScript doesn’t run correctly. If anyone know if a good password management method for elinks akin to SuperGenPass, I’d love to hear it.

    Regards.

    Reply
  17. Tom

    I have been playing around with elinks for a couple of weeks and really like it. One of the problems with browsing the internet these days is the issue of user security, i.e., the information sites like google keep on everything you do. Can anyone suggest how to do some of the following things that increase security and anonymity? For e.g.:
    > Stop header information being forwarded
    > Accept cookies for session only
    > Limiting javascript
    > Setting elinks to connect via privoxy and tor

    Any suggestions would be great. Thanks

    Reply
    1. Landmine

      There is a way to set the cookie to “expire” at the end of the session, if that is what you
      are looking for.

      ‘O’ key for options manager – cookies – Maximum age – 0

      CLI forever!

      Reply
  18. Glen

    I really like the idea of using the console for the browser, but most webpages weren’t really formatted for console. Google just does not look right!

    So, a nice little hack I found is to use elinks in conjunction with the web to mobile phone converter http://phonifier.com/, this cleans a lot of stuff up, especially google.

    there’s also goosh.org, but that doesn’t seem to work with elinks ๐Ÿ˜ฆ

    Reply
  19. Jake

    I’m on a 466 Celeron. It isn’t my main machine, but pages load just as quick in Midori as in Firefox. Another good lightweight choice is Kazehakase, which still uses Gecko.

    Reply
  20. Pingback: More fun X-based stuff « Motho ke motho ka botho

  21. Aubrey

    I’ve been using ELinks for the past 6+ years or so (before that, I used links). I’m completely with you on “trendy” webpages being “lipstick on a pig”. I want to read, not watch technicolour!

    Anyways, there two little hints on elinks usage that I’d like to share:

    1. It’s possible to disable page-defined colours entirely and let elinks makre some up for you. This is what I like: all my pages have a black background and an assortment of pleasantly-coloured text. (These colours are user-settable.)

    2. When typing in a form (such as this one), hitting Ctrl-T lets you edit the text in your favourite editor. Much easier to use!

    Cheers!

    – Aubrey

    Reply
  22. Mats Rauhala

    Does anyone have problem with rendering? It doesn’t properly clear the screen when scrolling, and I have to ctrl-l after every few lines.

    Reply
  23. carolinason

    right-click, RIGHT-CLICK, the point is to NOT use a mouse. so how do I move around this thing without a MOUSE!!

    Reply
  24. Sara

    Thank you so much for suggesting the PDF reader; would you believe it, I found a forum post from perhaps from two years ago, of a person asking for one, and no one had a good answer for him. fbgs is a lifesaver for me; a necessity if I’m to do any serious work in the console (for schoolwork). I’m taking my notes with WordGrinder, browing the web with elinks, organizing my files with clex; what wonderful suggestion of yours will I benefit from next? ๐Ÿ™‚

    Reply
  25. Sara

    Carolinason, perhaps you need the gpm daemon? Provides excellent mouse support in the console, and it works with elinks.

    Reply
  26. Anonymous

    @carolinason, “Page Up” and “Page Down” are mentioned in the article. Insert and Delete move up and down a line, and Home/End move to top/bottom of page.

    Reply
  27. roland

    I just use elinks for a couple of days. In ubuntu 9.04 i got it from the repo. I just wonder wheter i can actually save the web pages in elinks? I got no clue from elinks manual (usr/share/doc/elinks-doc). Thx

    Reply
  28. Gokul

    Can we save the logins to login to a site(eg:gmail) using elinks?

    If you share your knowledge, it is greatly appreciated.

    ๐Ÿ™‚

    Thanks in advance

    Reply
  29. S Willie

    Using ubuntu, and none of the avaiable text browser work for me: links, links2, elinks, lynx. Not one of them submitted the form I on the test page I browsed to test…

    Reply
    1. mulenmar

      After you submit the form, try hitting Ctrl+R to refresh the page — in elinks, as stated above, the preference seems to be to use cached pages. You may well have submitted the form, but elinks is still displaying the pre-submission version. ๐Ÿ˜‰

      Reply
  30. awhan

    i would love to use elinks but there is a major problem with it … i m behind a proxy authenticated internet access system … while wget and w3m work with the environment variable http_proxy elinks simply refuses to work …

    the following lines

    set protocol.http.proxy.host = ” ”
    set protocol.http.proxy.user = “”
    set protocol.http.proxy.passwd = “”

    in the elinks.conf file do the trick but i really really wish it would start respecting the environment variables

    Reply
  31. zoev9

    is there anyway to render the “post new topic” part of wordpress in a more elinks-friendly enviorment? (something similar to gmail’s basic HTML or Mobile modes).

    Reply
  32. tsrd

    I think elinks uses HTTP_PROXY, FTP_PROXY, and HTTPS_PROXY. unlike other browsers that use http_proxy. Its listed in man elinks.

    Reply
  33. Pingback: Steve Jobs, quit stealing my ideas « Motho ke motho ka botho

  34. cthulhu

    I just switched to elinks, and I love it! K.Mandla, have you read:

    Watching Youtube videos in Elinks


    He finished it of by passing the ball you:
    “And so you can watch your favourite Youtube (or Google Video, or Vimeo, or โ€ฆ) clips without having to rely on Flash, or even X. Now K.Mandla can finally watch his favourite slug races on the framebuffer! :twisted:”

    By the way, my favorite keys in elinks:
    “Ins”, “Del”, “.”

    Reply
  35. Stephen

    Very interesting. I’m looking for a console browser as I’ll be spending a lot of time on a box without X.
    However, my elinks looks pretty boring compared to this. Would you mind sharing your elinks.conf?

    Reply
  36. PeterStJ

    I am also using elinks, however there is something very annoying about it that I do not know how to fix. It somes like this: when I open a post / article in this blog once it loads completely I am sent to the text area for reply intead at the top of the document. This is very frustrating, I have to press Home button to go up there! When I go back and forth again it does not happen (I guess something gets cached?). Do you happen to know how I can fix this behaviour, i.e. NOT focusing the textarea on load?

    Thanks

    Reply
  37. Pingback: elinks ่‰ฏใใ‚ˆใ‚“ใงใฟใ‚‹ในใ— « urltome

Leave a reply to awhan Cancel reply