Lynx Users Guide Version 2.3-FM

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) 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 Beta version for DOS is also available.

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 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.
lynx myfile
lynx /home/my-dir/myfile
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:

lynx myfile.html
lynx /home/my-dir/myfile.html
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:


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.
is the Internet address of the computer system on which the server is running, and
identify the directory path and file of interest.
Here are some sample URL's.
HTTP (HyperText Transfer Protocol)
FTP (File Transfer Protocol)
WAIS (Wide Area Information Service protocol)
A URL may be specified to Lynx on the command line, as in:

Starting Lynx with the the WWW_HOME environment variable.

You may also specify a starting file for Lynx using the WWW_HOME environment variable,
export WWW_HOME=
setenv WWW_HOME
define "WWW_HOME" ""

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 unless you specified the -homepage=URL option at the command line.

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          :
     B)ookmark file             : home_page
     F)TP sort criteria         : By Filename
     P)ersonal mail address     :
     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
     l(I)st directory style	: Mixed style
     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:

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.
List directory style
Applies to Directory Editing. Files and directories can be presented in the following ways:
Mixed style
Files and directories are listed together in alphabetical order.
Directories first
Files and directories are separated into two alphabetical lists. Directories are listed first.
Files first
Files and directories are separated into two alphabetical lists. Files are listed first.
User Mode
There are three possible choices: Novice, Intermediate, and Advanced.
In Novice mode two lines of help are displayed at the bottom of the screen.
Intermediate mode turns off the help lines.
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 "//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

Lynx and HTML Forms

This section describes the Lynx Forms Interface. HTML gives document providers the ability to create on-line forms which may be filled out when the document is viewed. When a form is submitted the information on the form can be used to search a database or complete a survey.

An HTML Form provides for the use of buttons or to perform an action (such as submit), checkboxes and radio buttons to select options from a list, and fields for entering text.

Buttons are displayed in the same way that Lynx displays links in a document. To "push" the button press the RIGHT ARROW or RETURN key.

Checkboxes and Radio buttons
Checkboxes and radio buttons are displayed as parenthesis: (). When a box is checked or a button selected, an asterisk appears within the parenthesis: (*). To check a box or select a radio button press the RIGHT ARROW or RETURN key.

Selection Fields
Selection fields are displayed as brackets with the default option displayed between them: [default__]. To select an option press theRIGHT ARROW or RETURN key. A box with a border of asterisks will appear with the list of possible options listed within the box. Use the UP ARROW and DOWN ARROW keys to move the cursor between options and the RIGHT ARROW or RETURN key to select an option.

Text Entry Fields
Text entry fields are displayed as a row of underscores the length of the entry field: _______. You may enter text directly by typing at the keyboard. Use the BACKSPACE key to correct errors. If you input more text than the field can hold your input will be truncated. If you fill a text field the cursor will not move off the field but remain at the last field position.
You can move around the form using the standard Lynx navigation keys. UP ARROW and DOWN ARROW keys respectively select the previous or next field, box, or button. The TAB key selects the next field, box, or button.

NOTE:If you have a text input field selected you will not have access to any of the Lynx keystroke commands. Select a button or box when you want to use Lynx keystrokes.

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 "" URL or by specifying a plain filename on the command line as in the following two examples:

lynx //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

Jump Command

A feature similar to the Lynx bookmarks is the jump command. The jump command allows you to enter a shortcut name to access a URL. If the jump feature is active, typing 'j' will produce a prompt where you may enter the shortcut name. Type '?' at the jump prompt for a list of shortcut names available.

Note to System Administrators: Read the "lynx.cfg" file on how to set up the jump command for your system and how to define shortcut names. ToC

Directory Editing

A new feature in lynx is DIRED support. When a local directory is accessed using a URL of the form //localhost/path/, a new set of commands is available. With DIRED support you can create, edit, delete, copy, and move files on your local system. The commands available in DIRED mode are
Type 'c' to create a new file. New file will be empty.
Type 'd' to download selection using one of the options defined by your system administrator.
Type 'e' to spawn the editor defined in options menu and load selected file for editing.
F)ull Menu
Type 'f' to show full menu of options available for selection. Menu may vary according to type of file selected and compression facilities available.
Type 'm' to modify the name or location of file. Then type 'n' to rename the file or 'l' to move the file to a different location.
Type 'r' to remove the selected file or directory.
Type 't' to tag highlighted file. Further operations will be performed on tagged files instead of highlighted ones.
Type 'u' to upload a file to the present directory. Upload methods are defined by your system administrator.

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.
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.
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] startup_file
is the file that Lynx will load at start-up.
can be selected from the following list, where items in all-caps indicate that a substitution must be made.
used to specify the anonymous account.
enable case-sensitive string searching.
set the NUMBER of documents cached in memory. The default is 10.
specifies a Lynx configuration file other than the default lynx.cfg.
set the display variable for X rexeced programs.
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
enable edit mode using the specified EDITOR. (vi, ed, emacs, etc.)
enable emacs-like key movement.
forces the first document to be interpreted as HTML.
disable ftp access.
print this Lynx command syntax usage message.
set the default index file to the specified URL
disable print functions.
disable the retrieval status messages.
enable print functions. (default)
allows a list of services to be disabled selectively and takes the following form: "lynx -restrictions=[option][,option][,option]..." This list is printed if no options are specified.
restricts all options.
disallow changing the location of the bookmark file.
same as command line option -anonymous. Disables default services for anonymous users. Currently set to all restricted except for: inside_telnet, outside_telnet, inside_news, inside_ftp, outside_ftp, inside_rlogin, outside_rlogin, jump, mail and goto. Defaults are setable within userdefs.h.
disallow saving binary files to disk in the download menu.
disallow downloaders in the download menu.
disallow editing.
disable execution scripts.
disallow the user from changing the local execution option.
disallow using G)oto to go to URL's.
disable the 'g' (goto) command.
disallow ftps for people coming from inside your domain.
disallow USENET news posting for people coming from inside you domain.
disallow rlogins for people coming from inside your domain.
disallow telnets for people coming from inside your domain.
disable the 'j' (jump) command.
disable mailing feature.
disable USENET News posting.
disallow saving options in .lynxrc.
disallow ftps for people coming from outside your domain.
disallow USENET news posting for people coming from outside you domain.
disallow rlogins for people coming from outside your domain.
disallow telnets for people coming from outside your domain.
disallow most print options.
disallow shell escapes.
disable recognition of rlogin commands.
-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.
works the same as dump but outputs HTML source instead of formatted text.
disable recognition of telnet commands.
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.)
turns on WWW trace mode.
enable vi-like key movement.
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 has been 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 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 maintained by Garrett Arch Blythe. Now Jeff Porter, Craig Lavender and Ravikumar Kolli maintain Lynx. Special thanks goes to Foteos Macrides for his enthusiasm that has kept Lynx development going during the disruptive staff changes at the University of Kansas.

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 Doslynx is also available from


Additional Information

For a tutorial introduction to HTML see:
For a quick reference guide to HTML see:

For reference information on HTML see:

Craig Lavender
Garrett Blythe
Lou Montulli
Michael Grobe
Stephen Ware
Academic Computing Services
The University of Kansas
Lawrence, Kansas 66045