Lynx Users Guide v2.3

# Lynx Users Guide Version 2.3

Lynx is a fully-featured World Wide Web (WWW) client for users running cursor-addressable, character-cell display devices (e.g., vt100 terminals, vt100 emulators running on PCs or Macs, or any other "curses-oriented" display). It will display hypertext markup language (HTML) hypertext documents containing links to files residing on the local system, as well as files residing on remote systems running Gopher, HTTP, FTP, WAIS, and NNTP servers. Current versions of Lynx run on UNIX and VMS. A DOS version is in development.

Lynx can be used to access information on the World Wide Web, or to build information systems intended primarily for local access. For example, Lynx has been used to build several Campus Wide Information Systems (CWIS). In addition, Lynx can be used to build systems isolated within a single LAN.

## Select a topic

- Viewing local files with Lynx
- Lynx online help
- Leaving Lynx
- Starting Lynx with a Remote File
- Starting Lynx with the the WWW_HOME environment variable.
- Navigating hypertext documents with Lynx
- Printing, Mailing, and Saving files to disk.
- Lynx searching commands
- Lynx options menu
- Comments and mailto: links
- USENET News posting
- Viewing the HTML document source and editing documents
- Reloading files and refreshing the display
- Lynx bookmarks
- Other useful commands
- The Lynx command
- Lynx development history
- Additional Information

## Viewing local files with Lynx

Lynx can be started by entering the Lynx command along with the name of a file to display. For example these commands could all be used to display an arbitrary ASCII text file.

UNIX
  `lynx myfile`
  `lynx /home/my-dir/myfile`
VMS
  `lynx dua5:[my-directory]myfile`

When executed, Lynx will clear the screen and display as much of the specified file as will fit on the screen. Pressing a down-arrow will bring up the next screen, and pressing an up-arrow will bring up the previous screen. If no file is specified at startup, a default file will be displayed. (The default is configured by the system administrator when the command is installed.)

Lynx will also display files written in the HyperText Markup Language (HTML), if the file's name ends with the characters ".html". HTML is a file format that allows users to create a file that contains (among other things) hypertext links to other files. Several files linked together may be described as a hypertext document.

For example, these commands could be used to display files containing HTML hypertext:

UNIX
  `lynx myfile.html`
  `lynx /home/my-dir/myfile.html`
VMS
  `lynx dua5:[me]myfile.html`

When Lynx displays an HTML file, it shows links as "bold face" text, except for one link, which is shown as "highlighted" text. Whether "boldface" or "highlighted" text shows up as reverse video, boldface type, or a color change, etc. depends on the display device being used (and the way in which that device has been configured). Lynx has no control over the exact presentation of links.

The one link displayed as "highlighted" text is the currently "selected" link. Lynx will display the file associated with the selected link when a right-arrow or a Return key is pressed. To select a particular link, press the up-arrow or down-arrow keys until the desired link becomes "highlighted," and then press the right-arrow or Return key to view the linked information. Information included in the HTML file tells Lynx where to find the linked file and what kind of server will provide it (i.e. HTTP, Gopher, etc.).

When a binary file is encountered Lynx will ask the user if he/she wishes to download the file or cancel. If the user selects 'D' for download, Lynx will transfer the file into a temporary location and present the user with a list of options. The only default option is "save file to disk", which is disabled if Lynx is running in anonymous mode. Any number of additional download methods may be defined in the lynx.cfg file by the system administrator. Programs like kermit, zmodem and FTP are some possible options. ToC

## Lynx online help

Online help is available while viewing any document. Press the '?' or 'H' key to see a list of help topics. See the section titled 'Navigating hypertext documents with Lynx' for information on navigating through the help files. ToC

## Leaving Lynx

To exit Lynx use the 'q' command. You will be asked whether you really want to quit. Answering 'y' will exit and 'n' will return you to the current document. Use 'Q' or CTRL-D to quit without verification. ToC

## Starting Lynx with a Remote File

If you wish to view a remote file (that is, a file residing on some computer system other than the one upon which you are running Lynx) without first viewing a local file, you must identify that file by using a Uniform Resource Locator (URL). URL's take the general form:
`PROTOCOL :// HOST / PATH / FILENAME`
where

`PROTOCOL`
  identifies the communications protocol used by the server that will provide the file. As mentioned earlier, Lynx (and any WWW client) can interact with a variety of servers, each with its own protocol.
`HOST`
  is the Internet address of the computer system on which the server is running, and
`PATH` and `FILENAME`
  identify the directory path and file of interest.

Here are some sample URL's.

HTTP (HyperText Transfer Protocol)
  `http://www.cc.ukans.edu/lynx_help/lynx_help_main.html`
Gopher
  `gopher://gopher.micro.umn.edu/11/`
FTP (File Transfer Protocol)
  `ftp://ftp2.cc.ukans.edu/pub/lynx/README`
WAIS (Wide Area Information Service protocol)
  `wais://cnidr.org/directory-of-servers`

A URL may be specified to Lynx on the command line, as in:

  `lynx http://kufacts.cc.ukans.edu/cwis/start_kufacts.html`

ToC

## Starting Lynx with the the WWW_HOME environment variable.

You may also specify a starting file for Lynx using the WWW_HOME environment variable,

UNIX

ksh
  `export WWW_HOME=http://info.cern.ch/default.html`
csh
  `setenv WWW_HOME http://info.cern.ch/default.html`

VMS
  `define "WWW_HOME" "http://info.cern.ch/default.html"`

## Navigating hypertext documents with Lynx

The process of moving within a hypertext web, selecting and displaying links is known as "navigation." With Lynx almost all navigation can be accomplished with the arrow keys and the numeric keypad.

                                           +-------+-------+-------+
                                           | TOP   |  /|\  | Page  |
                  arrow keys               | of    |   |   | UP    |
                                           | text 7|   |  8|      9|
                  +---------+              +-------+-------+-------+
                  | SELECT  |              |       |       |       |
                  | prev /|\|              | <---  |       |  ---> |
                  | link  | |              |      4|      5|      6|
        +---------+---------+---------+    +-------+-------+-------+
        |    BACK | SELECT  | DISPLAY |    | END   |   |   | Page  |
        |<-- prev | next  | | sel. -->|    | of    |   |   | DOWN  |
        |    doc. | link \|/| link    |    | text 1|  \|/ 2|      3|
        +---------+---------+---------+    +-------+-------+-------+

There are also a few other keyboard commands to aid in navigation. Some of these commands depend on the fact that Lynx keeps a list of each file you visit called the "history list". The "backspace" or "delete" key will show you the whole history list. Any of the documents shown in the list may be revisited by selecting them from the history screen. The 'm' key command will take you back to the starting document.

The 'i' key presents an index of documents. The default index is usually a document pointing to servers around the world, but the index can be changed by the system administrator or on the command line using the `-index` switch, and therefore depends on how the Lynx program you are using was configured.

If you choose a link to a server with active access authorization Lynx will automatically prompt for a username and a password. If you give the correct information, you will then be served the requested information. Lynx will automatically send your username and password to the same server if it is needed again. ToC

## Printing, Mailing, and Saving files to disk.

Documents may be printed using the 'p' command. After pressing the 'p' key a menu of Print Options will be displayed. The menu will vary according to several factors. First, some sites set up special accounts to let users run Lynx to access local information systems. Typically these accounts require no passwords and do not require users to identify themselves. As a result such accounts are called "anonymous" accounts, and their users are considered "anonymous" users. In most configurations, all Lynx users (including anonymous users) are able to mail files to themselves and print the entire file to the screen.

Additional print options are available for users who are using Lynx from their own accounts (that is, so-called "non-anonymous users"). In particular, the `"Save to a local file"` option allows you to save the document into a file on your disk space. Any number of additional print options may also be available as configured by your system administrator. ToC

## Lynx searching commands

Two commands activate searching in Lynx: "/" and "s". While viewing a normal document use the "/" command to find a word or phrase within the current document. The search type will depend on the search option setting in the options menu (see below). The search options are case sensitive and case insensitive. Some documents are designated "index documents". These documents can be searched to retrieve additional information from an index server. The "s" key allows searching of index documents. ToC

## Lynx options menu

The Lynx Options Menu may be accessed by pressing the 'o' key. The current Lynx Options Menu contains the following configurable options.

                          Options Menu

         E)ditor                    : emacs
         D)ISPLAY variable          : aixtest.cc.ukans.edu:0.0
         B)ookmark file             : home_page
         F)TP sort criteria         : By Filename
         P)ersonal mail address     : montulli@ukanaix.cc.ukans.edu
         S)earching type            : CASE INSENSITIVE
         C)haracter set             : ISO Latin 1
         V)I keys                   : OFF
         e(M)acs keys               : OFF
         K)eypad as arrows
              or Numbered links     : Numbers act as arrows
         U)ser mode                 : Advanced
         L)ocal execution links     : Always off

An option can be changed by entering the capital letter of the option you want to change (i.e. 'E' for Editor). For fields where text must be entered, simply enter the text by typing on the keyboard. The Backspace and Delete keys can be used to correct mistakes, and CTRL-U can be used to erase the whole line. When you are done entering a change press the Return key to get back to the `Command?` prompt.

For fields where you must choose from a list of choices, press any key to toggle the choices and press the Return key to finish the change.

When you are done changing options use the 'r' command to return to Lynx or the '>' command to save the options to a `.lynxrc` file and return to Lynx.

The following table describes the options available on the Options Menu:

Editor
  The editor to be invoked when editing browsable files, and sending mail or comments. The full pathname of the editor command should be specified when possible.
DISPLAY variable
  This option is only available on UNIX systems and is only relevant to X Window users. The DISPLAY variable is picked up automatically from the environment if it has been previously set.
Bookmark file
  This is the filename and location of your personal bookmark file. The bookmark file allows frequently travelled links to be stored in a personal easy to access file. Using the 'a' command (see below) you may save any link into your bookmark file. If the path specified does not begin with a slash then the path will reference your home directory.
FTP sort criteria
  This option allows you to specify how files will be sorted within FTP listings. The current options include "`By Filename`", "`By Size`", "`By Type`", and "`By Date`".
Personal mail address
  This mail address will be used to help you send files to yourself and will be included as the From: address in any mail or comments that you send. It will also be sent as the From: field in all HTTP get requests.
Searching type
  Searching type has two possible values: CASE INSENSITIVE (default) and CASE SENSITIVE. The searching type effects inter-document searches only, and determines whether searches for words within documents will be done in a case-sensitive or case-insensitive manner.
VI keys
  If set to ON then the lowercase h,j,k, and l keys will be mapped to left, down, up, and right arrow, respectively.
Emacs keys
  If set to ON then the CTRL-P, CTRL-N, CTRL-F, and CTRL-B keys will be mapped to up, down, right, and left arro arrow arroww, respectively.
Keypad as arrows or numbered links
  This option gives the choice between navigating with the arrow keys or having every link numbered so that the links may be selected by numbers as well as using the arrow keys.
User Mode
  There are three possible choices: Novice, Intermediate, and Advanced.
  Novice
    In Novice mode two lines of help are displayed at the bottom of the screen.
  Intermediate
    Intermediate mode turns off the help lines.
  Advanced
    Advanced mode displays the URL of the currently selected link at the bottom of the screen.
Local execution scripts or links
  Local execution can be activated by the system administrator. If it has not been activated you will not see this option in the options menu. When a local execution script is encountered Lynx checks the users options to see whether the script can be executed. Users have the following options:
  Always off
    Local execution scripts will never be executed
  For Local files only
    Local execution scripts will only be executed if the script to be executed resides on the local machine, and is referenced by a URL that begins with "file://localhost"
  Always on
    All local exection scripts will be executed
  If the users options permit the script to be executed Lynx will spawn a shell and run the script. If the script cannot be executed Lynx will show the script within the Lynx window and inform the user that the script is not allowed to be executed and will ask the user to check his/her options. ToC

## Comments and mailto: links

At any time while viewing documents within Lynx, you may use the 'c' command to send a mail message to the owner of the current document if the author of the document has specified ownership. If no ownership is specified then comments are disabled. Certain links called "mailto:" links will also allow you to send mail to other people. Using the mail features within Lynx is straightforward.

Once you have decided to send a comment or have selected a "mailto:" link a new screen will appear showing you who you are sending the message to. Lynx will ask for your name, your e-mail address, and the subject of the message. If you have filled in the "personal mail address" field in the Options Menu, your e-mail address will be filled in automatically. After entering the above information, if you have an editor defined in the Options Menu and you are not an anonymous user then your specified editor will be spawned for you so that you can enter your message. If you do not have an editor defined or you are an anonymous user, a simple line mode input scheme will allow you to enter your message.

To finish sending the message, exit your spawned editor or, if you are using the simple line mode input scheme, type a "." (period) on a line by itself. You will be asked a final time whether to send the message. If you press 'y' then the message will be sent, if you press 'n' the message will be deleted. ToC

## USENET News posting

While reading news articles with Lynx you should see a link that says "Reply to user@host" and a link that says "Reply to newsgroup(s)"

Reply to user@host
  user@host will actually appear as the mail address of the person who posted the news article. Selecting the link will allow you to send a message to the person who wrote the message you are currently viewing. You will be given the option of including the original message in your reply.
Reply to newsgroup(s)
  Selecting this link will allow you to post back to the newsgroup that you are currently reading and any newsgroups that the message may be cross-posted to. You will be given the option of including the original message in your reply. Once you have typed in your message the inews program will be called to post your message to your news host. ToC

## Viewing the HTML document source and editing documents

When viewing HTML documents it is possible to view the unrendered (i.e., the original HTML) source of the document by pressing the '\' (backslash) key. The document will be reloaded from the server or disk and displayed on the screen unrendered. When viewing unrendered documents you may print them as any normal document.

Selecting the "Print to a local file" option from the Print Menu, makes it possible to save the source of the document to disk so that you may have a local copy of the document.

NOTE: When saving an HTML document it is important to name the document with a ".html" extension, if you want to read it with Lynx again later.

Lynx can allow users to edit documents that reside on the local system. To enable editing, documents must be referenced using a "file:" URL or by specifying a plain filename on the command line as in the following two examples:

  `lynx file://localhost/FULL/PATH/FILENAME`
  `lynx path/filename.html`

In addition, the user must also specify an editor in the Options Menu so that Lynx knows which editor to use. If the file is specified correctly and an editor is defined, then you may edit documents by using the 'e' command. When the 'e' command is entered your specified editor is spawned to edit the file. After changes are completed, exit your editor and you will return to Lynx. Lynx will reload and render the file so that changes can be immediately examined. ToC

## Reloading files and refreshing the display

The CTRL-R command will reload and rerender the file that you are currently viewing. CTRL-L or CTRL-W will refresh or wipe the screen to remove or correct any errors that may be caused by operating system or other messages. ToC

## Lynx bookmarks

It is often useful to place a bookmark to aid in returning quickly to a document. To use the bookmark feature you must first use the Options Menu to specify a bookmark filename.

To save a bookmark to the document you wish to place in the bookmark file press the 'a' key and you will be asked

  `Save D)ocument or L)ink to bookmark file or C)ancel? (d,l,c):`

Answer 'd' to save a link to the document you are currently viewing or 'l' to save the link that is currently selected on the page. Selecting 'c' will cancel without saveing anything to your bookmark file.

Use the 'v' command to view the list of bookmarks you have saved. While viewing the bookmark list you may select a bookmark as you would any other link. ToC

## Other useful commands

!
  When '!' is pressed your default shell will be spawned. When you quit or exit the shell you will return to Lynx. (Usually 'exit' under UNIX and 'logout' under VMS) This command is usually disabled for anonymous users.
g
  The 'g' command allows any URL to be viewed. Pressing the 'g' command will bring up a prompt asking for a URL. Type in the URL that you wish to view.
=
  The '=' command shows information about the current document and the currently selected link if there is one. The number of lines in the file, URL, title, owner, and type are shown.
z
  Lynx supports completely interruptable I/O processes. Press the 'z' key at any time during a connect or transfer process and the process will be halted. If any data was transferred before the interrupt, it will be displayed. ToC

## The Lynx command

The basic syntax of the Lynx command can be represented as one of the following:

  `lynx [options]`
  `lynx [options] pathname`
  `lynx [options] URL`

where

`pathname`
  is the name of an ASCII text file or an HTML file that enters a hypertext network.
  - If no file is specified, Lynx will use a default starting file and base directory determined during installation.
  - If a specified file is local (i.e., not a URL) Lynx displays that file and uses the directory in which that file resides as the base directory.
  - If a URL is specified, the file will be retrieved, and only the server base directory will be relevant to further accesses.
`options`
  can be selected from the following list, where items in all-caps indicate that a substitution must be made.
  `-anonymous`
    used to specify the anonymous account
  `-case`
    enable case-sensitive string searching
  `-cache=NUMBER`
    set the `NUMBER` of documents cached in memory. The default is 10.
  `-cfg=FILENAME`
    specifies a Lynx configuration file other than the default lynx.cfg.
  `-display=DISPLAY`
    set the display variable for X rexeced programs
  `-dump`
    dumps the formatted output of the default document or one specified on the command line to standard out. Under UNIX this can be used in the following way: lynx -dump http://info.cern.ch/default.html
  `-editor=EDITOR`
    enable edit mode using the specified `EDITOR` (vi, ed, emacs, etc.)
  `-emacskeys`
    enable emacs-like key movement
  `-exec`
    enable local program execution
  `-locexec`
    enable local program execution from local files only
  `-noexec`
    disable local program execution (default)
  `-help`
    print this Lynx command syntax usage message
  `-index=URL`
    set the default index file to the specified `URL`
  `-noprint`
    disable print functions
  `-print`
    enable print functions (default)
  `-restrictions`
    allows a list of services to be disabled selectively and takes the following form: "lynx -restrictions=[default], [all], [inside_telnet], [outside_telnet], [shell], [editor], [bookmark], [option_save], [print], [file_url], [download], [exec]"
    all
      restricts all options.
    bookmark
      disallow changing the location of the bookmark file.
    default
      same as command line option -anonymous. Disables default services for anonymous users. Currently set to all restricted except for: inside_telnet, outside_telnet, and goto. Defaults are setable within userdefs.h.
    download
      disallow saving binary files to disk in the download menu.
    editor
      disallow editing.
    exec
      disable execution scripts.
    file_url
      disallow using G)oto to go to file: URL's.
    goto
      disable the 'g' (goto) command.
    inside_telnet
      disallow telnets for people coming from inside your domain.
    options_save
      disallow saving options in .lynxrc.
    outside_telnet
      disallow telnets for people coming from outside your domain.
    print
      disallow most print options.
    shell
      disallow shell escapes.
  `-show cursor`
    If enabled the cursor will not be hidden in the right hand corner but will instead be positioned at the start of the currently selected link. show cursor is the default for systems without FANCY_CURSES capabilities, and the default configuration can be changed in userdefs.h.
  `-source`
    works the same as dump but outputs HTML source instead of formatted text.
  `-telnet`
    disable recognition of embedded telnet commands completely.
  `-term=TERM`
    tell Lynx what terminal type to assume its talking to. (This may be useful for remote execution, when, for example, Lynx connects to a remote TCP/IP port that starts a script that, in turn, starts another Lynx process.)
  `-trace`
    turns on WWW trace mode
  `-vikeys`
    enable vi-like key movement
  `-version`
    print version information

No options are required, nor is a starting file required. White space may be substituted for any equal sign (=) appearing in the option list above. ToC

## Lynx development history

Lynx grew out of efforts to build a campus-wide information system at The University of Kansas. The earliest versions of Lynx provided a user-friendly, distributed hypertext interface for users connected to multiuser (UN*X and VMS) systems via curses-oriented display devices. A custom hypertext format was developed to support hypertext links to local files and files on remote Gopher servers. Using Gopher servers for distributed file service allowed information providers to publish information from a wide variety of platforms (including UN*X, VMS, VM/CMS and Macintosh). In addition, Lynx became the most user-friendly Gopher client, although that was only an ancillary capability.

This distributed approach let providers retain complete control over their information, but it made communication between users and providers somewhat more difficult. Following the lead of Neal Erdwien, of Kansas State University, the Lynx hypertext format was extended to include links for including ownership information with each file. This information made it possible for users running Lynx clients to send comments and suggestions via e-mail to the providers.

This early version of Lynx was also augmented to support hypertext links to programs running on remote systems. It included the ability to open a Telnet connection, as well as the ability to start programs via rexec, inetd, or by direct socket connects. These capabilities were included to allow users to access databases or custom program interfaces.

A subsequent version of Lynx incorporated the World Wide Web libraries to allow access to the full list of WWW servers, along with the option to build hypertext documents in HTML, rather than the native Lynx format. HTML has become far more widely used, and the native format is being phased out. With the addition of the WWW libraries, Lynx became a fully-featured WWW client, limited only by the display capabilites offered in the curses environment.

At The University of Kansas, Lynx is used in several different ways to give users access to the campus wide information system. First, it is run on several local clients from a script named "kufacts" that points to the starting file located on a local server. Second, it runs whenever a user logs into an account called "kufacts" on a system named kufacts.cc.ukans.edu. Users without a local account may use this system to explore the KU CWIS and experiment with Lynx.

Lynx was designed by Lou Montulli, Charles Rezac and Michael Grobe of Academic Computing Services at The University of Kansas. Lynx was implemented by Lou Montulli and is now maintained by Garrett Arch Blythe.

Lynx has incorporated code from a variety of sources along the way. The earliest versions of Lynx included code from Earl Fogel of Computing Services at the University of Saskatchewan, who implemented HYPERREZ in the UN*X environment. Those versions also incorporated libraries from the UN*X Gopher clients developed at the University of Minnesota, and the later versions of Lynx rely on the WWW client library code developed by Tim Berners-Lee (and others) and the WWW community.

Lynx is presently available via anonymous FTP from ftp2.cc.ukans.edu. ToC

## Additional Information

For a tutorial introduction to HTML see: http://www.ncsa.uiuc.edu/demoweb/html-primer.html.
For a quick reference guide to HTML see: http://kuhttp.cc.ukans.edu/lynx_help/HTML_quick.html

For reference information on HTML see: http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html

ToC