Lynx

The web browser, not the cat. See example.

.
       dF                                                      (
      dF                                                        \
     dF   Yb  dF  dbdHb  7p dF                               ,`  \.
    dF     YbdF  dF  dF  .dF'                                .\  | \
   dFdFdF   XF  dF  dF  oF'Tb       Built for Speed         \   `)  )
           dF                                            _,\`.` `\` |\
          dF       _.._                    _.- - -.   _-=       \     \
              _.-'^    `\""\           ,-''        `\"     ,'          |,)
            ,'           \  \        /'             |\    -       ,   . /_
          -'            / \. )""""""/        ._     |     /           .-''
        -'   ,_ _._    /    \ \_|_|_|    L-287 \   /..\    ,      _   `='\
       -`_,-==-._  `=./      \       \         | ,==__==.   ,    , `._. \ \
      .-'        `-,  \      |        )\._...,y'[ _,__._ ]    ,/    _/   %/
     /     _.._     \  \     ;_ _ _ -'    .-.   |==|O0|=+|        /.\;,._/
    [   .^|\/\/|>,   `, \.  / / | \ ) \  ( O )  #==|00|==#      |   `,_./
   [   ___l_\/_|__====""|  /",@#####@._) o\:_==-#==|00|==#    \
  i   .`\ |,"".____ ___.| 0|_|!|!|!|!]  / _.._  "|=|v0==#|   |
  [   [-<\( () ) o_.____|/0|-|i|i|i|i]() / ..   \ #=||=#|   |
  |   ` /_l`._'___/      |   `@#####@'_ | [()]\ :o  ||  o;=-.
  `V   \/_|_/\,| \`""";"  \    ..... (_) \ ''  \ \,'^^`.     `=o._
   t    \ |/\/\|;/    F   \____.__,  ._   ^==^  =|[:();]__        =-._.__.
    \.    '"=="`    ./          \  \   `\._____  \`.__,'-----          \  \
      \,          ,/          \  )  )          |  -=[][][][][,   ,      )  )
        `=.____,=' ____________|/_|/______________oooooooo____\___.___|/_|/
                               '  '                                   '  '

But it is a very sturdy, fast, and dependable program.
So `Lynx' is a good name for it, as you can see here.


Content [?]


Some stuff about Lynx

Lynx was probably the first web browser, is still actively developed, and is still the fastest [one-pass rendering has its disadvantages, but being slow is not one of them]. In fact it was browsing hyperlinked documents before anyone was writing HTML [1], and querying gopher servers before the HTTP protocol became popular. Much of its user interface is hypertext; even the options screen is an internally generated HTML form.

I began using Lynx, actually MacLynx, in the late 1990s. That and a shell account with my ISP were the first experiences I had with Unix-like systems [or applications built for them].

This was great. Not loading images was of course much faster over dialup, while its lack of distractions, and generally stripped-down approach to the web were also a nice change. The screen flicker might have been annoying for some, but to me that just made it a little more edgy. It was a first beta, and buggy as hell, but predictably buggy; I quickly learned how not to crash it. This was also a nice change from Netscape, which seemed to freak-out entirely at random, and occasionally took the system down with it.

Compare riding a motorcycle with driving a station wagon [one of my favourite comparisons at the time, and probably what inspired the ASCII art, above]... MacLynx would go wherever you want, fast, including through a brick wall if you're not careful.

Of course, so would a huge, gas-guzzling, station wagon, with bad brakes...

Anyway, it was a lot of fun.

Unfortunately, said ISP later got too big, too fast, and started having trouble keeping up with the increased demand for bandwidth. Customer service quickly lost its charm, tech support was soon neither technical nor very supportive, and basically, the whole outfit turned to s**t in a hurry. Having since tried Telus and Primus, I'd have to say that's pretty typical of large ISPs.

Meanwhile, MacLynx had only reached the initial beta release stage, when it was abandoned by its author. In fact it had been abandoned before I'd ever seen it. Still, I have fond memories of that beast.

It was much later that I got my grubby little paws on a PC, installed Linux [after a couple of frustrating months trying to get my head around Windows], and found that Lynx is actually a lot more at home there. :-) It's even a quite capable file manager for the console. [Note to Konqueror fans; the idea of a file manager with built-in web browser -- or in this case, a web browser with built-in file management capabilities -- is nothing new. Konqueror does a good job of it though, so no offense.]

But I will say one nice thing about Windows; Frederic L. W. Meunier's Win32 Lynx build has a lot of nice features enabled, which later kind of spoiled me on the Debian package. That's why I build it from source now. Also, the `Command Prompt' [CMD.EXE] would let you select a rectangular block of text rather than line-by-line. I'm still looking for a terminal emulator that will do that.

Sorry, that was two things.

Claudio Santambrogio's installer was also a good starting point.

Damn. That's three. Nevermind.


[1]
Originally used `filename.lynx' not `filename.html' -- different format, no longer supported. HTML was developed independantly, and adopted quickly.

Scriptie thingies

I've written a couple little utilities for Lynx, and one that uses it.

Standard Disclaimer applies to all scripts and script output, although I do hope they'll be useful to you. The GNU General Public License applies to most scripts, except for the ridiculously simple ones. Those I've decided to just put in the public domain.

html_cfg.sh
Converts lynx.cfg to lynx_cfg.html , which Lynx can still parse for configuration items at startup. The script adds named anchors, an index and so on, making it [hopefully] a little easier to navigate.
 
There are two versions, both referenced from the same page. One generates a separate index file, and splits lynx.cfg into files by category, while the other just dumps everything including the index into one big file.
 
cfg_update.sh
The comments in the script itself are pretty descriptive, so I'll just repeat some of them here;
 
This script was written to address a minor pet peeve of mine, with relation to updating Lynx. The install-cfg.sh script [part of the Lynx sources] will preserve your old settings by appending them to the new lynx.cfg. This is good, but then they're out of context. It could also cause problems for some, because the last occurrence of a given setting will take precedence, so if you change something in the body of the file, another, conflicting item appended to the end may still override it.
 
This script [tries to] interleave your old settings with the relevant comments in the new file. `Orphaned' settings are still appended to the end, if it can't find a proper context for them.
 
Here's an example of its input and output; an old lynx.cfg, a new lynx.cfg, and the updated lynx.cfg, with old settings preserved.
 
lsd.sh
List directories, using Lynx.
 
Here's the thing; 50webs' ToS disallows unlinked or `hidden' files or directories on one's site. This is a reasonable request, but whenever I change something, it seems there's a few loose ends and leftover parts kicking around [I have the same problem with bikes, btw].
 
The simple answer to that would be to allow directory browsing, but their FTP servers disallow the CHMOD command, so that's out; guess you're stuck with 403 errors... So I decided to generate a few directory listings of my own.
 
Correction: Looks like someone turned on directory read permissions, but I like these better. Thanks anyway. :-)
 

Oh, and here's a couple of little things, too minor to deserve their own pages although they might come in handy; an image viewer script and external editor script, meant to work with or without the GUI. These two are released into the public domain.

~/.lynx/sh/edit

Can be defined as Lynx's external editor.

If you prefer a graphical text editor, but want a console-based fallback just in case, here's a little script for that. It only uses the graphical one if you've got an X display to run it in.

#!/bin/sh

if [ "$DISPLAY" = "" ]
then
	nano $@
	#  Or vi, vim, emacs, or whatever you like.
else
	mousepad $@
	#  Or leafpad, gedit, kate...
fi

#  End

~/.lynx/sh/view

Same as above.

There are these things called captchas, perhaps you've heard of them? If you're stuck in the console and need to log in somewhere [especially a users' forum, to ask how you can fix the problem], this might help.

#!/bin/sh

if [ "$DISPLAY" = "" ]
then
	cacaview $@
	#  Render images as ASCII art on the console.
	#  aview is another image-as-text rendering
	#  program.
else
	xli $@ > /dev/null &
	#  Or whatever image viewer you like.
fi

#  End

Up to Main Index