home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / doc / HOWTO / Emacspeak-HOWTO < prev    next >
Text File  |  1999-06-06  |  75KB  |  2,113 lines

  1.   The Linux Emacspeak HOWTO
  2.   Jim Van Zandt, jrv@vanzandt.mv.com
  3.   v.1.6, 10 April 1999
  4.  
  5.   This document describes how a blind user can use Linux with a speech
  6.   synthesizer to replace the video display.  It describes how to get
  7.   Linux running on your own PC, and how to set it up for speech output.
  8.   It suggests how to learn about Unix.
  9.   ______________________________________________________________________
  10.  
  11.   Table of Contents
  12.  
  13.  
  14.   1. Introduction
  15.  
  16.   2. Stage 1. DOS with speech
  17.  
  18.      2.1 Getting Linux on CDROM
  19.      2.2 Getting Linux by FTP
  20.      2.3 Linux Documentation
  21.  
  22.   3. Stage 2. Terminal to remote UNIX system
  23.  
  24.      3.1 Learning Unix
  25.      3.2 Learning Emacs
  26.  
  27.   4. Stage 3. Terminal to local Linux system
  28.  
  29.      4.1 Installing Linux
  30.      4.2 Learning Unix System Administration
  31.  
  32.   5. Stage 4. Emacspeak under Linux
  33.  
  34.      5.1 Emacspeak Introduction - Speech Enabled Normal Commands
  35.      5.2 Emacspeak Introduction - New Commands
  36.      5.3 Emacspeak Introduction - Using the Help System
  37.  
  38.   6. Footnotes and References
  39.  
  40.      6.1 JAWS
  41.      6.2 TELIX
  42.      6.3 COMMO
  43.      6.4 SimTel
  44.      6.5 InfoMagic
  45.      6.6 Walnut Creek
  46.      6.7 Red Hat
  47.      6.8 Craftwork
  48.      6.9 Yggdrasil
  49.      6.10 Emacs for DOS
  50.      6.11 GNU Mirror Sites
  51.      6.12 Emacspeak with Earlier Slackware Releases
  52.  
  53.   7. Frequently Asked Questions (FAQ)
  54.  
  55.      7.1 Why does it say "space" after each character?
  56.      7.2 Why the high pitched tone from a DECtalk?
  57.      7.3 Why the "No library autorevert in search path" message?
  58.      7.4 How do I change Emacspeak defaults?
  59.      7.5 What if an error message is not spoken?
  60.      7.6 The terminal emulator is the most problematic portion of Emacspeak.
  61.      7.7 In a term buffer, the first half screen is not spoken
  62.      7.8 Term mode gets flaky after a long session.
  63.  
  64.   8. Legalese
  65.  
  66.  
  67.   ______________________________________________________________________
  68.  
  69.   1.  Introduction
  70.  
  71.   Emacspeak is an Emacs subsystem that allows the user to get feedback
  72.   using synthesized speech.
  73.  
  74.   Screen reading programs allow a visually impaired user to get feedback
  75.   using synthesized speech. Such programs have been commercially
  76.   available for well over a decade. Most of them run on PC's under DOS,
  77.   and there are now a few screen-readers for the Windows platform.
  78.   However, screen-readers for the UNIX environment have been conspicuous
  79.   in their absence.
  80.  
  81.   This means that most visually impaired computer users face the
  82.   additional handicap of being DOS-impaired :-)
  83.  
  84.   Emacspeak is an emacs subsystem that provides basic speech access.
  85.   Emacspeak will always have the shortcoming that it will only work
  86.   under Emacs.  This said, there is very little that cannot be done
  87.   inside Emacs, so it's not a real shortcoming:-) Within Emacs, you can
  88.   open a "shell window" where you can run commands and examine their
  89.   output, even output which has scrolled out of the window.  Emacs
  90.   provides special modes for running certain commands.  For example, it
  91.   can parse error messages printed by a compiler and open a separate
  92.   edit window with the cursor at the point of the error.  It can also
  93.   run a debugger and keep a separate edit window open at the point in
  94.   the source code corresponding to the program counter.
  95.  
  96.   Emacspeak does have a significant advantage: since it runs inside
  97.   Emacs, a structure-sensitive, fully customizable editor, Emacspeak
  98.   often has more context-specific information about what it is speaking
  99.   than its commercial counterparts.  In this sense, Emacspeak is not a
  100.   "screenreader", it is a subsystem that produces speech output.  A
  101.   traditional screen-reader speaks the content of the screen, leaving it
  102.   to the user to interpret the visually laid-out information.
  103.   Emacspeak, on the other hand, treats speech as a first-class output
  104.   mode; it speaks the information in a manner that is easy to comprehend
  105.   when listening.
  106.  
  107.   This initial version provides a basic speech subsystem for Emacs;
  108.   using Emacs' power and flexibility, it has proven straightforward to
  109.   add modules that customize how things are spoken, e.g. depending on
  110.   the major/minor mode of a given buffer.  Note that the basic speech
  111.   functionality provided by Emacspeak is sufficient to use most Emacs
  112.   packages effectively; adding package-specific customizations makes the
  113.   interaction much smoother.  This is because package-specific
  114.   extensions can take advantage of the current context.
  115.  
  116.   Emacspeak will only work with emacs.  However, emacs can be used to
  117.   run any program that has a command-line interface (ls, cd, rm,
  118.   adduser, etc.).  In general use M-x shell to run such programs.
  119.  
  120.   You can even run those like less or lynx which use escape sequences to
  121.   control the appearance of the screen.  The key to this is term mode,
  122.   which you get with the emacs command M-x term.
  123.  
  124.   Let me insert here some explanation, because the word "terminal" is
  125.   used in several senses.  The original terminal was of course an
  126.   electromechanical device that translated keystrokes into character
  127.   codes and received the same codes and printed the characters.
  128.   Eventually these were replaced by entirely electronic "dumb terminals"
  129.   which also implemented escape sequences to clear the screen, move the
  130.   cursor, etc.  Unix adapted to these by introducing an abstract notion
  131.   of a "terminal" with very general capabilities.  A program like a text
  132.   editor issues generic commands, which are translated into the commands
  133.   suitable for your terminal.  The choice of translation is controlled
  134.   by the variable "TERM" in the environment.  One common value for this
  135.   variable is "vt100", since many terminals implement the same commands
  136.   as the DEC VT100.  The Emacs command `M-x term' starts a virtual
  137.   terminal with its own set of cursor commands.  It notifies the
  138.   operating system of this by setting the environment variable "TERM" to
  139.   the value "eterm" (which is why it is sometimes called eterm mode).
  140.  
  141.   Note that this Unix "terminal" is concerned only with escape commands
  142.   for the display.  Let me just mention a couple of other kinds of
  143.   "terminal" to distinguish them from the Unix concept: For DOS, there
  144.   are "terminal emulators" like COMMO and TELIX that simulate a
  145.   terminal, and can be used to connect to a remote computer via a serial
  146.   port (and usually a modem).  That is, they accept keystrokes and send
  147.   the character codes out a serial port, and receive character codes
  148.   from the serial port and display them.  Unix has similar programs,
  149.   such as minicom and seyon.  Both DOS and Unix have another program
  150.   called "telnet" which can establish a similar connection to a separate
  151.   computer using the Internet (that is, a TCP/IP connection rather than
  152.   a serial connection).  The program "kermit" is available for both DOS
  153.   and Unix, and can establish either kind of connection.  However, none
  154.   of these should be confused with the eterm mode of emacs.  There is
  155.   nothing about eterm mode that implies a connection to a remote
  156.   computer.
  157.  
  158.   Note that in most cases there is an emacs mode that works better than
  159.   the separate program in an eterm buffer.  That is, instead of "less",
  160.   just open a buffer on the file.  Instead of "lynx", use w3.  Instead
  161.   of "man", use `M-x man', and type the name of the program in the
  162.   minibuffer.
  163.  
  164.   Remember, though: ordinary command-line oriented programs are best run
  165.   in shell mode, which starts with the command `M-x shell'.
  166.  
  167.   Emacs is a large program, but it does not all have to be in RAM,
  168.   because Linux has virtual memory.  You can designate a swap partition,
  169.   so that programs (or parts of programs) can be swapped out when they
  170.   are not being used.  You can comfortably run emacs with 8 MB of ram
  171.   plus 8 MB of swap space.
  172.  
  173.   This document is limited to the following:
  174.  
  175.  
  176.   ╖  Linux (not Free BSD)
  177.  
  178.   ╖  The Slackware distribution (not Red Hat, Debian, etc.)
  179.  
  180.   ╖  Speech output only (not Braille - see the Access HOWTO)
  181.  
  182.   ╖  DECtalk (Dectalk Express and MultiVoice), DoubleTalk, LiteTalk,
  183.      Braille 'n Speak, Type 'n Speak, Braille Lite, Apollo, and Accent
  184.      synthesizers (--not the SmarTalk, a sound card, etc.)
  185.  
  186.   ╖  Use of Emacs, with T. V. Raman's Emacspeak package, to drive the
  187.      synthesizer.
  188.  
  189.   The use of adaptive technology with Linux, and in particular, using
  190.   adaptive technology to make Linux accessible to those who could not
  191.   use it otherwise, is covered in the Linux Access HOWTO.
  192.  
  193.   If you would like to help extend this document to cover one or more of
  194.   the other alternatives, or point me to a discussion somewhere else,
  195.   please contact me.
  196.  
  197.   The most recent version of this document should be available in
  198.   several formats at  <ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/> and
  199.   its mirrors (see below).  The plain text version should be available
  200.   at  <ftp://leb.net/pub/blinux/doc/>.
  201.  
  202.   Emacspeak was written by T. V. Raman raman@adobe.com.  Emacspeak has a
  203.   Web page at
  204.   <http://www.cs.cornell.edu/Info/People/raman/emacspeak/emacspeak.html>.
  205.  
  206.   Emacspeak supports several speech synthesizers.  The software required
  207.   depends on which you have.
  208.  
  209.   If you have a DECtalk Express or MultiVoice, you need the basic
  210.   Emacspeak package, tcl (an interpreter), and tclx (extensions for
  211.   tcl).  You can get the source package for Emacspeak from the Emacspeak
  212.   web page, or a binary package in one of the popular distributions of
  213.   Linux (Slackware, Red Hat, or Debian).  I build each of these
  214.   packages.  Since I normally run Debian, the Debian package will be
  215.   available a little sooner than the others.  At this writing, the most
  216.   recent release of Emacspeak is version 7.0.  Here are some URLs:
  217.  
  218.        <http://leb.net/pub/blinux/emacspeak/cornell.mirror>
  219.        <ftp://leb.net/pub/blinux/emacspeak/blinux/emacspeak-6.0-2.i386.rpm>
  220.  
  221.  
  222.   Note: there are European mirrors of the blinux site which you should
  223.   use if they closer:
  224.  
  225.        <ftp://ftp.uni-muenster.de/share/public6/>
  226.        <ftp://ftp.gwdg.de/pub/linux/misc/blinux/>
  227.  
  228.  
  229.   For the internal DECtalk PC, you also need a kernel driver which is
  230.   available from <ftp://leb.net/pub/blinux/dectalk_pc-0.91.tgz>
  231.  
  232.   Extract it with the command: `tar xfz dectalk_pc-0.91.tgz' and then
  233.   follow the installation instructions found in the README file.  This
  234.   driver apparently works with both the original DECTALK-pc and the new
  235.   DECTALK-PC II.
  236.  
  237.   For the external DoubleTalk, LiteTalk, Accent, or Apollo synthesizers,
  238.   or for the Braille 'n Speak, Type 'n Speak, or Braille Lite devices in
  239.   "speech box" mode, you need the Emacspeak package and a separate
  240.   "speech server" which comes in the emacspeak-ss package:
  241.  
  242.        <ftp://leb.net/pub/blinux/emacspeak/blinux/emacspeak-ss-0.5.tar.gz>
  243.  
  244.  
  245.   The DoubleTalk and LiteTalk are also supported by a separate speech
  246.   server which has been packaged for Red Hat and Debian systems:
  247.  
  248.        <http://www.mv.com/ipusers/vanzandt/emacspeak-dt-tcl-1.2.tar.gz>
  249.        <ftp://leb.net/pub/blinux/emacspeak/blinux/emacspeak-
  250.        dt-1.2-1.i386.rpm> <http://www.mv.com/ipusers/vanzandt/emacspeak-
  251.        dt_0.27-1_i386.deb> <http://www.mv.com/ipusers/vanzandt/emacspeak-dt-
  252.        tcl_1.2-1_all.deb>
  253.  
  254.  
  255.   For the internal DoubleTalk, you need three pieces of software: the
  256.   basic Emacspeak package, the emacspeak-ss or emacspeak-dt package, and
  257.   a device driver.  Here are some URLs for the device driver:
  258.  
  259.        <ftp://leb.net/pub/blinux/emacspeak/blinux/dtlk-1.12.tar.gz>
  260.        <http://www.mv.com/ipusers/vanzandt/dtlk-1.12.tar.gz>
  261.        <http://www.mv.com/ipusers/vanzandt/dtlk_1.12-1_i386.deb>
  262.  
  263.  
  264.  
  265.   There is a server for the Braille 'n Speak, Braille Lite, and Type 'n
  266.   Speak devices used in "speech box" mode:
  267.  
  268.        <ftp://leb.net/pub/blinux/emacspeak/blinux/emacspeak-bs-
  269.        tcl-1.2.tar.gz> <ftp://leb.net/pub/blinux/emacspeak/blinux/emacspeak-
  270.        bs-tcl_1.2-1_all.deb> <ftp://leb.net/pub/blinux/emacspeak/blinux/emac¡
  271.        speak-bs-1.2-1.i386.rpm>
  272.  
  273.  
  274.   Once again, the emacspeak-ss server handles all the synthesizers other
  275.   than the DECtalk.  You should use that one if you don't mind building
  276.   and installing a source package.
  277.  
  278.   Computer hardware, Unix user commands, Unix system administration,
  279.   Emacs, and Emacspeak are each substantial subjects.  Attempting to
  280.   learn all of them at once is likely to lead to frustration.  Instead,
  281.   I suggest that the new user go through a sequence of stages, learning
  282.   about only one system at a time.
  283.  
  284.  
  285.   2.  Stage 1. DOS with speech
  286.  
  287.   Most blind computer users have speech synthesizers with a screen
  288.   reader program like JAWS [``JAWS''].  (References in this format refer
  289.   to entries in the "Footnotes and References" section below.)  Using
  290.   this setup, install and become familiar with some terminal emulator
  291.   like Telix [``TELIX''] or Commo [``COMMO''], which are available from
  292.   the SimTel archive [``SimTel''] among others.
  293.  
  294.  
  295.   2.1.  Getting Linux on CDROM
  296.  
  297.   If you have or can borrow a CDROM drive, I recommend you get one of
  298.   the many good distributions of Linux on that medium.  The instructions
  299.   below are for the Slackware distribution.  I am most familiar with
  300.   disks from InfoMagic [``InfoMagic''].  Another source is Walnut Creek
  301.   [``Walnut Creek''] (where the whole idea of inexpensive CDROMs full of
  302.   programs from Internet archives got its start).  Distributions other
  303.   than Slackware are available from Red Hat [``Red Hat''], Craftwork
  304.   [``Craftwork''], and Yggdrasil [``Yggdrasil''].  As a rule, these
  305.   CDROMs use the "ISO 9660" format, which can be read under DOS.  (They
  306.   also use the "Rock Ridge extensions" which add extra files in each
  307.   directory.  Linux uses the extra information to give you long
  308.   filenames, both upper and lower case characters in filenames, and file
  309.   permissions.)
  310.  
  311.  
  312.   2.2.  Getting Linux by FTP
  313.  
  314.   Another way to get Linux and its documentation is by FTP over the
  315.   Internet.  The home site for the Slackware distribution is Walnut
  316.   Creek [``Walnut Creek''].  It is also carried by sunsite and many of
  317.   it mirror sites.  Here is a partial list:
  318.  
  319.  
  320.   ╖  USA (home site)  <ftp://ftp.cdrom.com/pub/linux/slackware>
  321.  
  322.   ╖  UK/Europe
  323.      <ftp://src.doc.ic.ac.uk/public/Mirrors/ftp.cdrom.com/pub/linux/slackware-3.1>
  324.  
  325.   ╖  Japan  <ftp://ftp.cs.titech.ac.jp/pub/os/linux/slackware>
  326.  
  327.   ╖  Taiwan  <ftp://NCTUCCCA.edu.tw/OS/Linux/Slackware>
  328.  
  329.   ╖  Hong Kong  <ftp://ftp.cs.cuhk.hk/pub/slackware>
  330.  
  331.   ╖  USA  <ftp://metalab.unc.edu/pub/Linux/distributions/slackware>
  332.  
  333.   ╖  USA
  334.      <ftp://uiarchive.cso.uiuc.edu/pub/systems/linux/sunsite/distributions/slackware>
  335.  
  336.   More sites are listed in the INFO-SHEET:
  337.  
  338.        <http://metalab.unc.edu/pub/Linux/welcome.html> <ftp://meta¡
  339.        lab.unc.edu/pub/Linux/docs/HOWTO/INFO-SHEET>
  340.        <ftp://uiarchive.cso.uiuc.edu/pub/systems/linux/sun¡
  341.        site/docs/HOWTO/INFO-SHEET>
  342.  
  343.  
  344.  
  345.   2.3.  Linux Documentation
  346.  
  347.   Read the Linux documentation.  I will quote here the file names and
  348.   locations on the first disk of InfoMagic's December 1996 "Developer's
  349.   Resource" set of six CDROMs, as seen under DOS.  Other CDROM sets
  350.   should have similar information, though perhaps differently arranged.
  351.   The Slackware distribution is on disk 2 of the set.  Matt Welsh's step
  352.   by step guide to installing Slackware is in
  353.   \doc\install-\install-.002.  (This is a 245 page book!)
  354.  
  355.   More general information is in the Linux "Frequently Asked Questions"
  356.   list in \docs\linux.faq\linux-fa.asc.  Longer descriptions are in
  357.   "HOWTO" documents (of which this is one).  They are found in \docs.
  358.   Note particularly \docs\hardware, which lists which kinds of hardware
  359.   are supported by Linux, \docs\meta-faq, which points to sources of
  360.   information (that is, a more extensive version of this paragraph), and
  361.   \help\index, which is a list of the HOWTO documents with short
  362.   descriptions.  The Linux installation HOWTO, \docs\installation, is
  363.   another (much shorter, somewhat older) version of Matt Welsh's
  364.   installation instructions.
  365.  
  366.   One note on reading the documentation.  You may run into files with
  367.   ASCII highlighting, where character-backspace-character stands for
  368.   "bold", and underscore-backspace-character stands for "italics".  One
  369.   way to handle this is to use the less program, which displays these
  370.   sequences in alternate colors.  A DOS screenreader can, for example,
  371.   search for such highlighted text.  A DOS version of less can be
  372.   obtained by FTP from the SimTel archive [``SimTel''].  Within the
  373.   SimTel collection, look for directory msdos/textutil.  For example,
  374.   try  <ftp://ftp.coast.net/pub/SimTel/msdos/textutil>.
  375.  
  376.   I will suggest four alternatives for learning Emacs commands (see
  377.   section [``Learning Emacs'']).  The first option is to install Emacs
  378.   under DOS and learn it while using the DOS screen reader.  Where to
  379.   get Emacs for DOS is a "frequently asked question" [``Emacs for
  380.   DOS''].
  381.  
  382.   The source code for Emacs (about 10 MB) can be gotten from
  383.   <ftp://prep.ai.mit.edu/pub/gnu/> (look for emacs-19.34b.tar.gz or
  384.   similar), or from one of many mirrors of the GNU collection [``Gnu
  385.   Mirrors''].
  386.  
  387.  
  388.   3.  Stage 2. Terminal to remote UNIX system
  389.  
  390.  
  391.  
  392.   Arrange for what is called a "shell account" on some Unix system.
  393.   Most Internet Service Providers (ISPs) can provide this service.  Use
  394.   the terminal emulator program and a modem to dial in.  Learn the basic
  395.   Unix commands.  If the system has Emacs installed, or you can persuade
  396.   the system administrator to install it, this is your second chance to
  397.   learn it.  It is probably best to learn it at this point, because
  398.   administering a Unix system (the next stage) will call for you to edit
  399.   files.  Therefore, I include here my suggestions for learning both
  400.   Unix and Emacs.
  401.  
  402.  
  403.   3.1.  Learning Unix
  404.  
  405.   When you arrange for a shell account, or set up a new account on your
  406.   own machine, you will have to decide on a username and a password.
  407.   Your username will also be used in your email address, so try to find
  408.   something short and memorable.  Your password is important, and should
  409.   be hard to guess.  That usually means at least six characters,
  410.   including at least one non-alphanumeric character.
  411.  
  412.   When a Unix system is ready for you to log in, it normally displays a
  413.   prompt ending with "login:".  At this point you should type in your
  414.   username.  It will then prompt you for your password, and will turn
  415.   off command echoing while you type it in.
  416.  
  417.   The command to finish a terminal session is logout.
  418.  
  419.   To learn about a command, use the man command to display its manual
  420.   page.  For example, learn more about the cp command by typing man cp.
  421.   Of course, this helps only if you know or can guess the command name.
  422.   However, each man page has a line near the beginning with the command
  423.   name and a short description of what the command does.  You can search
  424.   a database of these lines using the command apropos.  Thus, typing
  425.   apropos working will list lines that include the word "working".
  426.   Here's what that command prints here:
  427.  
  428.  
  429.        cd (n)               - Change working directory
  430.        pwd (n)              - Return the current working directory
  431.        Cwd (3pm)            - get pathname of current working directory
  432.        chdir (2)            - change working directory
  433.        fchdir (2)           - change working directory
  434.        get_current_dir_name (3) - Get current working directory
  435.        getcwd (3)           - Get current working directory
  436.        getwd (3)            - Get current working directory
  437.        pwd (1)              - print name of current/working directory
  438.        rcsclean (1)         - clean up working files
  439.  
  440.  
  441.  
  442.  
  443.   The numbers in parentheses are sections of the manual.  User commands
  444.   are in section 1.  Functions called from within programs are in sec¡
  445.   tions 2 and 3.  Commands used mostly by the system administrator are
  446.   in section 8.  You can find out more about the on-line manual with the
  447.   command man man.
  448.  
  449.   Under Unix, commands normally accept options starting with a minus
  450.   sign rather than the forward slash used under DOS.  In a path,
  451.   directory names are separated by forward slashes rather than backward
  452.   slashes.  Both operating systems have a "standard input", by default
  453.   the keyboard, and a "standard output", by default the display screen.
  454.   You can redirect the standard input using "<", and redirect the output
  455.   using ">".  You can use the output from one command as the input of
  456.   another by separating the two commands with "|".  This is called the
  457.   "pipe" symbol.
  458.  
  459.   The program that interprets your command is a "shell".  Under DOS,
  460.   COMMAND.COM is the shell.  Most Unix shells are descendents of either
  461.   the Bourne shell sh or the C shell csh.  The shell most commonly used
  462.   with Linux is the "Bourne again shell", or bash.
  463.   If a program gets "stuck", here is a sequence of keystrokes to try:
  464.  
  465.  
  466.   ╖  Control-Q.  You may have sent a control-S, which halts all output,
  467.      without realizing it.  The control-Q will restart it.
  468.  
  469.   ╖  Control-D, which signals "end of file" under Unix (similar to
  470.      control-Z under DOS), in case the program expects input which you
  471.      are not prepared to supply.
  472.  
  473.   ╖  Control-C is an interrupt, which may halt the program.
  474.  
  475.   ╖  Control-Z puts the program in the background.  At this point you
  476.      may simply log out, although you will be warned about the
  477.      background process and will have to repeat the logout command.  You
  478.      can instead kill the process, as follows: Run ps with no arguments.
  479.      It will list a header line, then one line for each of your
  480.      processes.  The first item on each line is the process id number,
  481.      or PID.  The command used to start the process (or at least the
  482.      beginning of it) appears at the end of the line.  If the PID were
  483.      117, you would kill the process with the command kill -9 117.
  484.  
  485.   ╖  If running Linux from the console, alt-2, or some other alt-number
  486.      combination, will switch to a different virtual console.  You can
  487.      log in there just as if you had sat down to a different terminal.
  488.  
  489.   ╖  If your machine is connected to a network, you can log in from
  490.      another machine.
  491.  
  492.   ╖  Control-alt-del should reboot the computer nondestructively.
  493.  
  494.   ╖  As a last resort, you can hit "reset" or cycle the power.  This
  495.      will leave the filesystems in an invalid state, since some buffers
  496.      will not have been written to disk.  The kernel will discover this
  497.      while booting, and will take time to check and repair the
  498.      filesystems.  Actual data loss is unlikely unless you had something
  499.      else going on at the time.
  500.  
  501.   Guido Gonzato Guido@ibogfs.cineca.it has written an excellent guide to
  502.   Linux for (former) DOS users, the DOS2Linux mini-HOWTO.  You can
  503.   probably find it where you found this document, or else at
  504.   <ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/mini/>.
  505.  
  506.   You can find general Unix information, including manual pages for
  507.   several systems at <http://www.cis.ohio-
  508.   state.edu/hypertext/man_pages.html>
  509.  
  510.   There is a tutorial entitled "Beginning Unix and the C Shell" at
  511.   <http://www.eng.hawaii.edu:80/Courses/C.unix/page-03.html>.
  512.  
  513.   You can get general help from  <http://www.nova.edu/Inter-
  514.   Links/UNIXhelp/TOP_.html> or <http://www.eecs.nwu.edu/unix.html>
  515.  
  516.   You can find a list of books on UNIX at
  517.   <http://www.eskimo.com/~cher/eskimospace/booklist.html>.
  518.  
  519.  
  520.   3.2.  Learning Emacs
  521.  
  522.   When you start Emacs, you will normally list on the command line one
  523.   or more files which you will be editing.  To edit a file named
  524.   "foobar" with Emacs, you would enter the command emacs foobar.  If you
  525.   enter the command emacs with no arguments, GNU Emacs will print out an
  526.   introduction which includes the first five commands you need to learn,
  527.   approximately as follows:
  528.  
  529.      Type C-h for help;   (`C-' means use CTRL key.)
  530.      Type C-x u to undo changes.
  531.      Type C-h t for a tutorial on using Emacs.
  532.      Type C-h i to enter Info, which you can use to read GNU documentation.
  533.      To kill the Emacs job, type C-x C-c.
  534.  
  535.  
  536.  
  537.   Note the way Emacs documentation refers to key combinations.  C-h
  538.   means hold the control key down while typing "h".  You will also run
  539.   into key combinations like M-v, which is pronounced "meta v".  The
  540.   tutorial suggests holding down the key labeled "edit" or "meta" then
  541.   typing "v".  I have never run across a keyboard with those keys, so I
  542.   always use the escape key instead: typing "Esc" then "v" (two separate
  543.   keystrokes).  After using Emacs for a long time, I discovered that
  544.   under Linux, the left "Alt" key works like a "meta" key.  You may want
  545.   to use this.  On the other hand, some of these key combinations may
  546.   conflict with your screen reader or communications program under DOS.
  547.   Using the escape key is more reliable.
  548.  
  549.   Three of the above commands start with C-h, which may be treated as a
  550.   backspace by your communications program.  In that case, you may
  551.   access the help command using the long form M-x help.  Conversely, you
  552.   may find that pressing the backspace key starts the help command.
  553.   This issue is treated in the Emacs FAQ, which is available within
  554.   Emacs using C-h F or M-x help F.  Look for the question "Why does the
  555.   `Backspace' key invoke help?".  In the mean time, you can end the help
  556.   session with the command C-g.  (This is the keyboard-quit command,
  557.   which cancels any prefix keys you have typed.)
  558.  
  559.   You may also find that C-s and C-q are unavailable because they are
  560.   used for flow control (XON and XOFF).  You should look at the question
  561.   "How do I handle C-s and C-q being used for flow control?" in the FAQ.
  562.   For the particular command C-x C-s (save buffer), you may substitute
  563.   the command C-x s (save-some-buffers).  The former command saves the
  564.   current buffer, while the latter asks the user about each of the
  565.   modified buffers.
  566.  
  567.   Note in particular the command "C-h t" to start the Emacs tutorial.
  568.   That is one the first things you will want to try.  I will only make a
  569.   couple of comments on the tutorial.  To move the cursor, it gives the
  570.   four commands C-f, C-b, C-p, and C-n (for forward, back, previous
  571.   line, and next line).  These commands always work.  However, with a
  572.   properly installed Emacs, the regular arrow keys should also work.
  573.   Try them out and use them if you are more comfortable with them.
  574.   Similarly, you may be able to use home, end, page down, and page up
  575.   keys in place of the standard commands C-a, C-e, C-v, and M-v.
  576.   Finally, all Emacspeak commands begin with C-e.  Once you start using
  577.   Emacspeak, you will have to type it twice to get the end of line
  578.   function.  (The "End" key should be unaffected by Emacspeak.)
  579.  
  580.  
  581.  
  582.  
  583.   4.  Stage 3. Terminal to local Linux system
  584.  
  585.  
  586.   This arrangement again requires a DOS machine with a speech
  587.   synthesizer and a terminal emulator program.  However, instead of
  588.   dialing up a remote computer, it is used as a terminal to a local
  589.   computer running Linux.  To get to this point, you need to install
  590.   Linux on a machine.  You may be able to prevail on a knowledgeable
  591.   friend to help you with this.  However, it is also possible to install
  592.   it yourself with speech feedback for almost the whole procedure.
  593.  
  594.  
  595.   4.1.  Installing Linux
  596.  
  597.  
  598.   First, some background.  Even the simplest Unix system requires a
  599.   program called the kernel and a root file system.  The kernel has all
  600.   the device drivers and resource management functions.  One normally
  601.   thinks of a "file system" as residing on a hard disk or floppy disk,
  602.   but during an installation it is usually in ram.  Linux is normally
  603.   installed by writing a kernel image to a floppy disk, called the "boot
  604.   floppy", configuring it to reserve a section of RAM for a ramdisk,
  605.   then filling that ramdisk with data from a second floppy disk, called
  606.   the "root floppy".  As soon as both floppies have been read in, the
  607.   user can log in as "root" and complete the installation.  The sighted
  608.   user logs in on the "system console", that is, the computer's own
  609.   keyboard and video display.  However, remember that Unix has been a
  610.   multiprocessing operating system from the very beginning.  Even this
  611.   very primitive Unix system, running out of a small ramdisk, also
  612.   supports logins from a terminal connected to a serial port.  This is
  613.   what a blind user can use.
  614.  
  615.   To connect the two computers, you can use a "null modem", a serial
  616.   cable that connects ground to ground, and transmit on each end to
  617.   receive on the other.  The cable that comes with the DOS application
  618.   LapLink will work fine.  It is particularly handy, in fact, because it
  619.   has both a 9 pin and a 25 pin connector on each end.  If you want to
  620.   check a cable or have one made, here are the required connections:
  621.  
  622.   For two 9 pin connectors, connect pin 2 (receive data) to pin 3, pin 3
  623.   (transmit data) to pin 2, and pin 5 (signal ground) to pin 5.
  624.  
  625.   For two 25 pin connectors, connect pin 2 (receive data) to pin 3, pin
  626.   3 (transmit data) to pin 2, and pin 7 (signal ground) to pin 7.
  627.  
  628.   For a 9 pin connector (first) to a 25 pin connector (second), connect
  629.   pin 2 (receive data) to pin 2 (transmit data), pin 3 (transmit data)
  630.   to pin 3 (receive data), and pin 5 (signal ground) to pin 7 (signal
  631.   ground).
  632.  
  633.   You may have noted that I have included no connections for the
  634.   "handshaking" signals.  During login, the serial port is handled by
  635.   the program agetty.  Recent versions of this program accept a -L
  636.   switch which tells it not to expect modem control signals.  The
  637.   version in Slackware 3.0 does, but the one on the 3.0 (and earlier)
  638.   installation root disks does not.  However, Pat Volkerding has assured
  639.   me that the root disks in the next release of Slackware will have the
  640.   updated version of agetty.  It is also possible to use the earlier
  641.   root disks [``Emacspeak with Earlier Slackware Releases''].
  642.  
  643.   Consult the documentation on your CDROM, or downloaded from an FTP
  644.   site, and choose a boot disk with the proper kernel features for your
  645.   hardware (IDE or SCSI, CDROM driver, etc.).  I have the InfoMagic
  646.   September 1996 "Developer's Resource" set of six CDROMs.  Slackware
  647.   3.1 is on disk 1 of that set, mostly in the two directories slackwar
  648.   and slakware.  (Note the difference in spelling.  You will access them
  649.   in alphabetical order: first slackwar, then slakware.)
  650.  
  651.   Documentation on the boot floppies is in \bootdsks.144\which.one.  A
  652.   copy of the DOS program for writing boot images to a floppy,
  653.   rawrite.exe, is in the same directory.  Assuming the CDROM is the M
  654.   drive under DOS, one might use these commands to write to a floppy
  655.   disk in the A drive:
  656.  
  657.  
  658.  
  659.  
  660.  
  661.           C>m:
  662.           M>cd \bootdsks.144
  663.           M>rawrite scsinet.s a:
  664.  
  665.  
  666.  
  667.  
  668.   Similarly, to write the "text" root disk:
  669.  
  670.  
  671.  
  672.                C>m:
  673.                M>cd \rootdsks
  674.                M>rawrite text.gz a:
  675.  
  676.  
  677.  
  678.  
  679.   If you install from floppies, you should also copy the Emacspeak
  680.   package onto a floppy with a command like this:
  681.  
  682.  
  683.  
  684.                C>copy m:\contrib\emacspea.tgz a:
  685.  
  686.  
  687.  
  688.  
  689.   For the actual installation, proceed as follows: Use the null modem to
  690.   connect the computer running DOS and equipped with speech output
  691.   (which I will call the "DOS machine") to the computer into which you
  692.   want to install Linux (the "Linux machine").
  693.  
  694.   Boot the DOS machine, and start your terminal emulation program.  Set
  695.   it up for 9600 baud, no parity, eight data bits, 1 stop bit.
  696.  
  697.   On the Linux machine, insert the "boot" disk and boot (power up, cntl-
  698.   alt-del, or hit the reset switch).  It should read the disk for five
  699.   seconds or so, beep, and stop with the following text:
  700.  
  701.   (Note: in the following, the large blocks of text quoted from the
  702.   installation disks are preceded by "-- begin quote" and followed by
  703.   "-- end quote".  To skip to the end of a quote, you may search for two
  704.   dashes starting in the first column.  I have word wrapped some
  705.   sections to limit the line lengths.)
  706.  
  707.  
  708.   -- begin quote
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.   Welcome to the Slackware96 Linux (v. 3.1.0) bootkernel disk!
  728.  
  729.   If you have any extra parameters to pass to the kernel, enter them at
  730.   the prompt below after one of the valid configuration names (ramdisk,
  731.   mount, drive2)
  732.  
  733.   Here are some examples (and more can be found in the BOOTING file):
  734.  
  735.     ramdisk hd=cyl,hds,secs    (Where "cyl", "hds", and "secs" are the
  736.                                number of cylinders, sectors, and heads
  737.                                on the drive.  Most machines won't need
  738.                                this.)
  739.  
  740.   In a pinch, you can boot your system with a command like:
  741.     mount root=/dev/hda1
  742.  
  743.   On machines with low memory, you can use mount root=/dev/fd1 or mount
  744.   root=/dev/fd0 to install without a ramdisk.  See LOWMEM.TXT for
  745.   details.
  746.  
  747.   If you would rather load the root/install disk from your second
  748.   floppy drive: drive2 (or even this: ramdisk root=/dev/fd1)
  749.  
  750.   DON'T SWITCH ANY DISKS YET!  This prompt is just for entering extra
  751.   parameters.  If you don't need to enter any parameters, hit ENTER to
  752.   continue.
  753.  
  754.   boot:
  755.  
  756.  
  757.  
  758.  
  759.   -- end quote
  760.  
  761.  
  762.  
  763.   I have almost always been able to just hit "enter" at this point.
  764.  
  765.   After your entry, the Linux machine should read the floppy for another
  766.   twenty seconds or so, then boot the kernel.  The first thing it prints
  767.   is "Loading ramdisk...", which is somewhat misleading.  In this case,
  768.   "ramdisk" is actually the name of the kernel configuration.
  769.  
  770.   Each device driver in the kernel displays a line or two.  The
  771.   particular disk I'm using (the "bare.i" bootdisk) displays more than
  772.   one screen's worth.  It is possible to type shift-page up to scroll
  773.   the text back.  On my machine, the boot messages are as follows:
  774.  
  775.  
  776.   -- begin quote
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.   Loading ramdisk.....
  794.   Uncompressing Linux...done.
  795.   Now booting the kernel
  796.   Console: colour VGA+ 80x25, 1 virtual console (max 63)
  797.   Calibrating delay loop.. ok - 35.94 BogoMIPS
  798.   Memory: 23028k/24768k available (688k kernel code, 384k reserved,
  799.    668k data)
  800.   Swansea University Computer Society NET3.035 for Linux 2.0
  801.   NET3: Unix domain sockets 0.12 for Linux NET3.035.
  802.   Swansea University Computer Society TCP/IP for NET3.034
  803.   IP Protocols: ICMP, UDP, TCP
  804.   VFS: Diskquotas version dquot_5.6.0 initialized
  805.   Checking 386/387 coupling... Ok, fpu using exception 16 error reporting.
  806.   Checking 'hlt' instruction... Ok.
  807.   Linux version 2.0.0 (root@darkstar) (gcc version 2.7.2) #1 Mon Jun 10
  808.   21:11:56 CDT 1996
  809.   Serial driver version 4.13 with no serial options enabled
  810.   tty00 at 0x03f8 (irq = 4) is a 16550A
  811.   PS/2 auxiliary pointing device detected -- driver installed.
  812.   Ramdisk driver initialized : 16 ramdisks of 49152K size
  813.   hda: IBM-DBOA-2720, 689MB w/64KB Cache, LBA, CHS=700/32/63
  814.   ide0: at 0x1f0-0x1f7,0x3f6 on irq 14
  815.   Floppy drive(s): fd0 is 1.44M
  816.   Started kswapd v 1.4.2.2
  817.   FDC 0 is a 8272A
  818.   Partition check:
  819.     hda: hda1 hda2 hda3
  820.   VFS: Insert root floppy disk to be loaded into ramdisk and press ENTER
  821.  
  822.  
  823.  
  824.  
  825.   -- end quote
  826.  
  827.  
  828.  
  829.   Some messages will of course be different on a machine with different
  830.   hardware.  Now, insert the "text" rootdisk and press ENTER.  After it
  831.   is read, the following is displayed on the console:
  832.  
  833.  
  834.   -- begin quote
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.   RAMDISK: Compressed image found at block 0
  860.   JAVA Binary support v1.01 for Linux 1.3.98 (C)1996 Brian A. Lantz
  861.   VFS: Mounted root (minix filesystem).
  862.   INIT: version 2.60 booting
  863.   none on /proc type proc (rw)
  864.   INIT: Entering runlevel: 4
  865.  
  866.  
  867.   Welcome to the Slackware Linux installation disk ,version 3.1.0-text!
  868.   ### READ THE INSTRUCTIONS BELOW CAREFULLY! ###
  869.  
  870.   You will need one or more partitions of type "Linux native"
  871.   prepared. It is also recommended that you create a swap partition
  872.   (type "Linux swap") prior to installation. Most users can use the
  873.   Linux "fdisk" utility to create and tag the types of all these
  874.   partitions. OS/2 Boot Manager users, however, should create their
  875.   Linux partitions with OS/2 "fdisk", add the bootable (root) partition
  876.   to the Boot Manager menu, and then use the Linux "fdisk" to tag the
  877.   partitions as type "Linux native".
  878.  
  879.   If you have 4 megabytes or less of RAM, you MUST ACTIVATE a swap
  880.   partition before running setup. After making the partition with fdisk,
  881.   use:
  882.  
  883.   mkswap /dev/<partition> <number of blocks> ; swapon /dev/<partition>
  884.  
  885.   Once you have prepared the disk partitions for Linux, type "setup" to
  886.   begin the installation process.
  887.  
  888.   You may now login as "root".
  889.  
  890.   slackware login:
  891.  
  892.  
  893.  
  894.  
  895.   -- end quote
  896.  
  897.  
  898.  
  899.   The program that prints the login prompt is called agetty.  The
  900.   Slackware 3.1 root disks are set up to allow logins only from the
  901.   computer's own keyboard.  You will have to reconfigure it to also
  902.   allow logins from a serial port.  This requires typing four lines on
  903.   the Linux machine keyboard, with no voice feedback.  If you realize
  904.   you have made a mistake before hitting the carriage return, you can
  905.   erase it with the backspace key.  You can also discard what you have
  906.   typed on a line with control-C.  Here is what you type:
  907.  
  908.  
  909.  
  910.        root
  911.        cat >>/etc/inittab
  912.        s1:45:respawn:/sbin/agetty 9600 ttyS0
  913.        control-D
  914.        init q
  915.  
  916.  
  917.  
  918.  
  919.   I will repeat that with explanations of what is going on.
  920.  
  921.   First, type "root" and a single carriage return to log in (no password
  922.   is needed).  Next, you need to append one line to /etc/inittab.  Type
  923.   the following two lines:
  924.  
  925.        cat >>/etc/inittab
  926.        s1:45:respawn:/sbin/agetty 9600 ttyS0
  927.  
  928.  
  929.  
  930.  
  931.   Finish each line with the "enter" key.  Then type a control-D, which
  932.   signals end of file to a Unix program.  (Note: In the second line, the
  933.   next to last character is an upper case "S".  Everything else is in
  934.   lower case.)  This adds a line to the configuration file of the
  935.   program init, to instruct it to use agetty to watch for logins on the
  936.   first serial port on the Linux machine, called "COM1" under DOS, or
  937.   "/dev/ttyS0" under Linux.  To use the second port instead, change the
  938.   last item on the above line to "ttyS1".
  939.  
  940.   Then type
  941.  
  942.  
  943.  
  944.        init q
  945.  
  946.  
  947.  
  948.  
  949.   which causes init to reread /etc/inittab.  At this point the DOS
  950.   machine should display the login prompt (the third of the blocks of
  951.   text quoted above).  On the DOS machine, type root, and finish the
  952.   installation.  (The next thing you should do is create and enable a
  953.   swap partition.)
  954.  
  955.   If you don't get the Slackware installation disk prompt, try the
  956.   following:
  957.  
  958.   ╖  Type a single carriage return on the DOS machine.
  959.  
  960.   ╖  Recheck the terminal setup (9600 baud, no parity, eight data bits,
  961.      1 stop bit)
  962.  
  963.   ╖  Disconnect the null modem from the DOS machine.  In its place,
  964.      connect a modem which supports the Hayes "AT" commands.  Type AT
  965.      and a carriage return.  You should get a reply of "OK" from the
  966.      modem.
  967.  
  968.   Once you get the above prompt on the DOS machine, you may type root
  969.   and a carriage return to log in, and complete the installation like
  970.   any other user.  Of course, you must remember to include these
  971.   packages: emacs, tcl, and tclX.
  972.  
  973.   The installation script will offer to prepare a boot floppy.  You
  974.   should do this, since it is the most foolproof way to boot Linux.  You
  975.   will probably also want to install lilo (which is an abbreviation for
  976.   "Linux loader") and/or loadlin (which is an abbreviation for "load
  977.   Linux").  The installation script can install lilo.  Loadlin is a DOS
  978.   program that will let you boot from DOS to Linux.  Install it on a DOS
  979.   partition, and copy a compressed kernel file (usually named zImage) to
  980.   the same partition.  While running DOS, you may boot Linux with a
  981.   command like loadlin zimage root=/dev/hda3 ro/.  (I have assumed here
  982.   that the kernel image is in the same directory as the loadlin program.
  983.   You may find it more convenient to store kernel images in
  984.   subdirectories named for the kernel version.)
  985.  
  986.   After the Slackware setup script finishes the main installation, it
  987.   will tell you to restart by pressing cntl-alt-del.  Before doing that,
  988.   you should install emacspeak.  It can be found with the other
  989.   "contributed" software.  In the InfoMagic set, it is in
  990.   slackwar/contrib.  Assuming you are installing Linux directly from a
  991.   CDROM, the setup script will mount the CDROM under /CDROM, and you may
  992.   install emacspeak with the following command:
  993.  
  994.  
  995.  
  996.                # installpkg /CDROM/slackwar/contrib/emacspeak.tgz
  997.  
  998.  
  999.  
  1000.  
  1001.   If you install from floppies, insert the floppy you made earlier and
  1002.   type this:
  1003.  
  1004.  
  1005.                # mount -tmsdos /dev/fd0 /floppy
  1006.                # cp /floppy/emacspea.tgz /tmp/emacspeak.tgz
  1007.                # installpkg /tmp/emacspeak.tgz
  1008.  
  1009.  
  1010.  
  1011.  
  1012.   You should not install the package directly off the floppy disk,
  1013.   because the DOS filesystem will not allow the full filename, so the
  1014.   installpkg program will think the package name is "emacspea" and will
  1015.   store its records under that name.
  1016.  
  1017.   If you have a DoubleTalk or LiteTalk speech synthesizer, you should
  1018.   also install the emacspeak-dt package.
  1019.  
  1020.   Reboot the Linux machine with the new boot floppy, with the DOS
  1021.   machine still connected.  You should get a login prompt on the DOS
  1022.   machine.  Celebrate!  After getting this system working, you need to
  1023.   learn emacs (third option) and Unix system administration.
  1024.  
  1025.  
  1026.   4.2.  Learning Unix System Administration
  1027.  
  1028.  
  1029.   Mostly you will learn system administration as the need arises.  First
  1030.   adding a user (yourself), then installing programs, and so forth.  The
  1031.   exception to this is making backups, which you should learn before you
  1032.   need them.
  1033.  
  1034.   Among the many programs you will need to learn are these:
  1035.  
  1036.      adduser
  1037.         Register a new user, including creating a home directory and
  1038.         adding an entry in /etc/passwd.
  1039.  
  1040.  
  1041.      tar
  1042.         Create and unpack .tar files, which are collections of files
  1043.         (something like .zip files).  To list the contents of an
  1044.         archive, use tar -tf foobar.tar.  For a more verbose listing,
  1045.         use tar -tvf foobar.tar.  To unpack an archive, use tar -xf
  1046.         foobar.tar.
  1047.  
  1048.  
  1049.      chmod
  1050.         Change permissions of a file or directory.
  1051.  
  1052.  
  1053.      chown
  1054.         Change ownership of a file or directory.
  1055.  
  1056.  
  1057.      find
  1058.         Search directories recursively.  For example, the command find .
  1059.         -name '*alpha*' -print means: search starting in the current
  1060.         directory (.) for a file whose name contains the string "alpha"
  1061.         (-name '*alpha*'), and print its path and name (-print).  (With
  1062.         GNU find, the -print is optional.)
  1063.  
  1064.  
  1065.      du Display the amount of space occupied by files or subdirectories.
  1066.         For a file with "holes", this may be much less than the length
  1067.         of the file.
  1068.  
  1069.  
  1070.      df Display filesystem capacities, free space, and where they are
  1071.         mounted.
  1072.  
  1073.  
  1074.      mount
  1075.         Display filesystems, where they are mounted, and the mount
  1076.         flags.
  1077.  
  1078.  
  1079.      ifconfig
  1080.         Configure and check internet protocol (IP) network interfaces,
  1081.         including Ethernet cards, SLIP links, and PLIP links.
  1082.  
  1083.  
  1084.      route
  1085.         Configure and check IP network routing, after the interface is
  1086.         configured.
  1087.  
  1088.  
  1089.      ping
  1090.         Check IP network connectivity, after the interfaces and routes
  1091.         are configured.
  1092.  
  1093.  
  1094.      ftp
  1095.         Transfer files across the Internet.
  1096.  
  1097.  
  1098.   Here are some programs you may want to install:
  1099.  
  1100.      agrep
  1101.         Approximate grep searches for approximate, not exact, string
  1102.         matches (also called "fuzzy string searches").
  1103.  
  1104.  
  1105.      archie
  1106.         Search Internet archives for files.
  1107.  
  1108.  
  1109.      flip
  1110.         Convert text files between Unix and DOS formats.
  1111.  
  1112.  
  1113.      glimpse
  1114.         Fuzzy string searches in large collection of files (uses agrep).
  1115.  
  1116.  
  1117.      lynx
  1118.         Text mode web browser.
  1119.  
  1120.   Here are some Web pages related to Unix system administration:
  1121.  
  1122.  
  1123.   General information <http://www.ensta.fr/internet/unix/sys_admin/> or
  1124.   <http://www.sai.msu.su/sysadm.html>
  1125.  
  1126.   There is a Unix system administration tutorial at
  1127.   <http://www.iem.ac.ru/sysadm.html>
  1128.  
  1129.   UnixWorld Online Magazine Home Page <http://www.wcmh.com/uworld/>
  1130.  
  1131.   Internet Essentials for UNIX System Administrators Tutorial
  1132.   <http://www.greatcircle.com/tutorials/ieusa.html>
  1133.  
  1134.   Pointers to Unix goodies available on the Internet
  1135.   <http://www.ensta.fr/internet/unix/>
  1136.  
  1137.   Pointers to Unix system administration "goodies" available on the
  1138.   Internet <http://www.ensta.fr/internet/unix/sys_admin/>
  1139.  
  1140.  
  1141.   5.  Stage 4. Emacspeak under Linux
  1142.  
  1143.  
  1144.   The Slackware setup script for Emacspeak should create the needed
  1145.   environment variables and install a script emacspeak that starts emacs
  1146.   with emacspeak.  This is your fourth option for learning Emacs.  This
  1147.   is the first time you will be able to actually use Emacspeak.  A short
  1148.   tutorial appears below.  Within Emacs, you may type C-h C-e to get a
  1149.   list of the commands.  To search for a command, use C-h a.  To get an
  1150.   explanation for a key sequence, use C-h k.  There is also an info file
  1151.   which is part of the Emacspeak distribution.  Within emacs, you may
  1152.   type C-h i to open the directory to the info pages.  Search for the
  1153.   emacspeak menu item by typing C-s emacspeak, then two carriage returns
  1154.   (one to terminate the search, and a second one to go to the info page.
  1155.   If you have the standalone info program installed, you can consult the
  1156.   info file with the command info Emacspeak.
  1157.  
  1158.  
  1159.   5.1.  Emacspeak Introduction - Speech Enabled Normal Commands
  1160.  
  1161.   All of the normal Emacs movement commands will speak the relevant
  1162.   information after moving.  Here are some of the cursor movement
  1163.   functions that have  been speech enabled.  Note that this list only
  1164.   enumerates a few of these speech enabled commands; the purpose of
  1165.   emacspeak is to speech-enable all of emacs and provide you spoken
  1166.   feedback as you work.  Thus, this list is here only as a
  1167.   representative example of the kind of speech-enabling extensions
  1168.   Emacspeak  provides.
  1169.  
  1170.  
  1171.      `C-n' or
  1172.         `M-x next-line' or `down'" Moves the cursor to the next line and
  1173.         speaks it.
  1174.  
  1175.  
  1176.      `C-p' or
  1177.         `M-x previous-line' or `up'" Moves the cursor to the previous
  1178.         line and speaks it.
  1179.  
  1180.  
  1181.      `M-f' or
  1182.         `M-x forward-word' or" Moves the cursor to the next word and
  1183.         speaks it.  Places point on the first character of the next
  1184.         work, rather than on the space preceding it (This is my personal
  1185.         preference).
  1186.  
  1187.  
  1188.  
  1189.      `M-b' or
  1190.         `M-x backward-word'" Moves the cursor to the previous word and
  1191.         speaks it.
  1192.  
  1193.  
  1194.      `M-C-b' or
  1195.         `M-x backward-sexp'" Moves the cursor to the previous sexp and
  1196.         speaks it.  If the sexp spans more than a line, only the first
  1197.         line is spoken.
  1198.  
  1199.  
  1200.      `M-<' or
  1201.         `M-x beginning-of-buffer'" Speaks line moved to.
  1202.  
  1203.  
  1204.      `M->' or
  1205.         `M-x end-of-buffer'" Speaks line moved to.
  1206.  
  1207.  
  1208.      `M-m' or
  1209.         `M-x back-to-indentation'" Speaks entire current line.  A useful
  1210.         way of hearing the current line.
  1211.  
  1212.  
  1213.   5.2.  Emacspeak Introduction - New Commands
  1214.  
  1215.   Emacspeak provides a number of commands for reading portions of the
  1216.   current buffer, getting status information, and modifying Emacspeak's
  1217.   state.
  1218.  
  1219.   All of the commands are documented in the subsequent sections.  They
  1220.   can be classified into types:
  1221.  
  1222.   The first group of commands are for listening to chunks of
  1223.   information.  The names of these commands all start with the common
  1224.   prefix `emacspeak-'.  All Emacspeak commands are bound to the keymap
  1225.   EMACSPEAK-KEYMAP and are accessed with the key `Control e'.  Thus, the
  1226.   Emacspeak command "emacspeak-speak-line" is bound to `l' in keymap
  1227.   EMACSPEAK-KEYMAP and can be accessed with the keystroke `Control-e l'.
  1228.  
  1229.   Here are some of the commands for reading text:
  1230.  
  1231.  
  1232.      `C-e c' or
  1233.         `M-x emacspeak-speak-char'" Speak current character, using the
  1234.         phonetic alphabet.
  1235.  
  1236.  
  1237.      `C-e w' or
  1238.         `M-x emacspeak-speak-word'" Speak current word.
  1239.  
  1240.  
  1241.      `C-e l' or
  1242.         `M-x emacspeak-speak-line'" Speak current line.  With prefix `C-
  1243.         u', speaks the rest of the line from point.  With negative
  1244.         prefix `C-u -', speaks from start of line to point.  Voicifies
  1245.         if voice-lock-mode is on.  Indicates indentation with a tone if
  1246.         audio indentation is in use.  Indicates position of point with
  1247.         an aural highlight if option emacspeak-show-point is turned on
  1248.         --see command `M-x emacspeak-show-point'.
  1249.  
  1250.  
  1251.      `C-e .' or
  1252.         `M-x emacspeak-speak-sentence'" Speak the current sentence.
  1253.  
  1254.  
  1255.   The second category of commands provided by Emacspeak report status of
  1256.   various kinds.
  1257.  
  1258.  
  1259.      `C-e k' or
  1260.         `M-x emacspeak-speak-current-kill'" Speak the current kill entry
  1261.         (which would be yanked by the next C-y).
  1262.  
  1263.  
  1264.      `C-e =' or
  1265.         `M-x emacspeak-speak-current-column'" State the column where
  1266.         point is.
  1267.  
  1268.  
  1269.      `C-e C-l' or
  1270.         `M-x emacspeak-speak-line-number'" State the line where point
  1271.         is.
  1272.  
  1273.  
  1274.      `C-e m' or `M-x emacspeak-speak-line-number'
  1275.         Speak the mode-line: the name of the buffer, how far point is
  1276.         into the current buffer as a percentage, and the major mode.
  1277.  
  1278.  
  1279.      `C-e M' or `M-x emacspeak-speak-minor-mode-line'
  1280.         Speak the minor modes that are in effect.
  1281.  
  1282.  
  1283.      `C-e v' or `M-x emacspeak-speak-version'
  1284.         Announce the emacspeak version.
  1285.  
  1286.   The third category of commands provided by Emacspeak manipulate the
  1287.   state of the speech device.  The names of these commands start with
  1288.   the common prefix `dtk-'.  Many of these commands take the prefix
  1289.   `Control-e d'.  Thus, the command "dtk-set-rate" is bound to `r' in
  1290.   keymap EMACSPEAK-DTK-SUBMAP and can be executed by pressing `Control e
  1291.   d r'.
  1292.  
  1293.  
  1294.      `C-e s' or
  1295.         `M-x dtk-stop'" Stop speech now.  In addition, any command that
  1296.         causes speech output will discard anything in the speech buffer.
  1297.  
  1298.  
  1299.      `C-e d V' or `M-x emacspeak-dtk-speak-version'
  1300.         Use this to find out which version of the Dectalk firmware you
  1301.         have.
  1302.  
  1303.  
  1304.      `C-e d I' or `M-x dtk-toggle-stop-immediately-while-typing'
  1305.         Toggle state of variable dtk-stop-immediately-while-typing.  As
  1306.         the name implies, if true then speech flushes immediately as you
  1307.         type.
  1308.  
  1309.  
  1310.      `C-e d i' or `M-x emacspeak-toggle-audio-indentation'
  1311.         Toggle state of Emacspeak audio indentation.  Specifying the
  1312.         method of indentation as `tone' results in the DECtalk producing
  1313.         a tone whose length is a function of the line's indentation.
  1314.         Specifying `speak' results in the number of initial spaces being
  1315.         spoken.
  1316.  
  1317.  
  1318.      `C-e d k' or `M-x emacspeak-toggle-character-echo'
  1319.         Toggle state of  Emacspeak  character echo (that is, whether
  1320.         typed characters are echoed).
  1321.      `C-e d w' or `M-x emacspeak-toggle-word-echo'
  1322.         Toggle state of  Emacspeak  word echo (initially on).
  1323.  
  1324.  
  1325.      `C-e d l' or `M-x emacspeak-toggle-line-echo'
  1326.         Toggle state of  Emacspeak  line echo (that is, whether typed
  1327.         text is echoed after typing enter).
  1328.  
  1329.  
  1330.      `C-e d p' or `M-x dtk-set-punctuations'
  1331.         Set punctuation state. Possible values are `some', `all', or
  1332.         `none'.
  1333.  
  1334.  
  1335.      `C-e d q' or `M-x dtk-toggle-quiet'
  1336.         Toggle state of the speech device between being quiet and
  1337.         talkative.  Useful if you want to continue using an emacs
  1338.         session that has emacspeak loaded but wish to make the speech
  1339.         shut up.
  1340.  
  1341.  
  1342.      `C-e d R' or `M-x dtk-reset-state'
  1343.         Restore sanity to the Dectalk.  Typically used after the Dectalk
  1344.         has been power cycled.
  1345.  
  1346.  
  1347.      `C-e d SPC' or `M-x dtk-toggle-splitting-on-white-space'
  1348.         Toggle state of emacspeak that decides if we split text purely
  1349.         by clause boundaries, or also include whitespace.
  1350.  
  1351.  
  1352.      `C-e d r' or `M-x dtk-set-rate'
  1353.         Set speaking rate for the dectalk.
  1354.  
  1355.  
  1356.      `C-e d s' or `M-x dtk-toggle-split-caps'
  1357.         Toggle split caps mode.  In split caps mode, a transition from
  1358.         lower case to upper case is treated like the beginning of a new
  1359.         word.  This is useful when reading Hungarian notation in program
  1360.         source code.
  1361.  
  1362.  
  1363.      `C-e d v' or `M-x voice-lock-mode'
  1364.         Toggle Voice Lock mode (initially off).  When Voice Lock mode is
  1365.         enabled, text is voiceified as you type it, as follows:
  1366.  
  1367.      ╖  Comments are spoken in voice-lock-comment-personality; (That is
  1368.         a variable whose value should be a personality name.)
  1369.  
  1370.      ╖  Strings are spoken in voice-lock-string-personality.
  1371.  
  1372.      ╖  Documentation strings are spoken in voice-lock-doc-string-
  1373.         personality.
  1374.  
  1375.      ╖  Function and variable names in their defining forms are spoken
  1376.         in voice-lock-function-name-personality.
  1377.  
  1378.      ╖  Certain other expressions are spoken in other personalities
  1379.         according to the value of the variable voice-lock-keywords.
  1380.  
  1381.  
  1382.   5.3.  Emacspeak Introduction - Using the Help System
  1383.  
  1384.  
  1385.   When you press C-h to get the help index, the screen will appear, but
  1386.   Emacspeak will not speak the window.  The only thing spoken is "Type
  1387.   one of the options listed or Space to scroll:".
  1388.  
  1389.   Here is the menu that Emacspeak is not speaking:
  1390.  
  1391.  
  1392.   -- begin quote
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.        You have typed C-h, the help character.  Type a Help option:
  1399.        (Use SPC or DEL to scroll through this text.  Type q to exit the Help
  1400.        command.)
  1401.  
  1402.        a  command-apropos.  Give a substring, and see a list of commands
  1403.                (functions interactively callable) that contain
  1404.                that substring.  See also the  apropos  command.
  1405.        b  describe-bindings.  Display table of all key bindings.
  1406.        c  describe-key-briefly.  Type a command key sequence;
  1407.                it prints the function name that sequence runs.
  1408.        f  describe-function.  Type a function name and get documentation of
  1409.        it.
  1410.        C-f Info-goto-emacs-command-node.  Type a function name;
  1411.                it takes you to the Info node for that command.
  1412.        F  view-emacs-FAQ.  Shows emacs frequently asked questions file.
  1413.        i  info. The  info  documentation reader.
  1414.        k  describe-key.  Type a command key sequence;
  1415.                it displays the full documentation.
  1416.        C-k Info-goto-emacs-key-command-node.  Type a command key sequence;
  1417.                it takes you to the Info node for the command bound to that
  1418.        key.
  1419.        l  view-lossage.  Shows last 100 characters you typed.
  1420.        m  describe-mode.  Print documentation of current major mode,
  1421.                which describes the commands peculiar to it.
  1422.        n  view-emacs-news.  Shows emacs news file.
  1423.        p  finder-by-keyword. Find packages matching a given topic keyword.
  1424.        s  describe-syntax.  Display contents of syntax table, plus
  1425.        explanations
  1426.        t  help-with-tutorial.  Select the Emacs learn-by-doing tutorial.
  1427.        v  describe-variable.  Type name of a variable;
  1428.                it displays the variable's documentation and value.
  1429.        w  where-is.  Type command name; it prints which keystrokes
  1430.                invoke that command.
  1431.        C-c print Emacs copying permission (General Public License).
  1432.        C-d print Emacs ordering information.
  1433.        C-n print news of recent Emacs changes.
  1434.        C-p print information about the GNU project.
  1435.        C-w print information on absence of warranty for GNU Emacs.
  1436.  
  1437.  
  1438.  
  1439.  
  1440.   -- end quote
  1441.  
  1442.  
  1443.  
  1444.   Suppose you type "a", for command-apropos.
  1445.  
  1446.   The next spoken prompt is "Apropos command (regexp):"
  1447.  
  1448.   Now you type some word you think is part of an emacs command, like
  1449.   "visit".
  1450.  
  1451.   The help system will display the first section of the help, but will
  1452.   leave the cursor in the other window.  The spoken text is "Type C-x 1
  1453.   to remove help window.  M-C-v to scroll the help."  At this point, I
  1454.   think it's more helpful to move point to the other window with C-x o,
  1455.   then you can use regular navigation commands to speak the help text.
  1456.   You can delete the help window with C-x 0, which will also put point
  1457.   back where it was.
  1458.  
  1459.   The complete menu displayed by help-for-help is also visible if you do
  1460.   a describe function on help-for-help.  In a future version of
  1461.   Emacspeak, Raman plans to add a message to that effect when the user
  1462.   presses C-h ?
  1463.  
  1464.  
  1465.   6.  Footnotes and References
  1466.  
  1467.   6.1.  JAWS
  1468.  
  1469.   Job Access With Speech (JAWS) is a screen reader which runs under
  1470.   Microsoft MSDOS.  JAWS for Windows supports Windows 95, Windows 98 and
  1471.   Windows NT.  Both are products of Henter-Joyce, Inc., 2100 62nd Avenue
  1472.   North, St. Petersburg, FL 33702, telephone: 800-336-5658.  For
  1473.   details, see  <http://www.hj.com>.
  1474.  
  1475.  
  1476.   6.2.  TELIX
  1477.  
  1478.  
  1479.   TELIX is a shareware terminal emulator for MSDOS.  It can be obtained
  1480.   by FTP from the SimTel archive [``SimTel''].  Within the SimTel
  1481.   collection, look for directory msdos/telix.  For example, try
  1482.   <ftp://ftp.coast.net/pub/SimTel/msdos/telix>.  The latest version of
  1483.   the program itself is in the four files tlx322-1.zip, tlx322-2.zip,
  1484.   tlx322-3.zip, and tlx322-4.zip.
  1485.  
  1486.  
  1487.   6.3.  COMMO
  1488.  
  1489.  
  1490.   COMMO is another shareware terminal emulator for DOS.  In the SimTel
  1491.   archive [``SimTel''], it is in directory msdos/commprog, file
  1492.   commo66.zip.  For example, try
  1493.   <ftp://ftp.coast.net/pub/SimTel/msdos/commprog/commo66.zip>.
  1494.  
  1495.  
  1496.   6.4.  SimTel
  1497.  
  1498.  
  1499.   The SimTel archive is maintained by Keith Petersen w8sdz@Simtel.Net.
  1500.   CD-ROM copies of Simtel.Net collections are available from Walnut
  1501.   Creek CDROM [``Walnut Creek''].  The primary ftp sites are
  1502.   <ftp://ftp.simtel.net/pub/simtelnet>, and
  1503.   <oak.oakland.edu://pub/simtelnet>.  There are many mirror sites, as
  1504.   listed in the following table:
  1505.  
  1506.  
  1507.   ╖  US, ALL (primary)   <ftp://ftp.simtel.net/pub/simtelnet>
  1508.  
  1509.   ╖  US, California      <ftp://ftp.cdrom.com/pub/simtelnet>
  1510.  
  1511.   ╖  US, California      <ftp://ftp.digital.com/pub/micro/pc/simtelnet>
  1512.  
  1513.   ╖  US, California      <ftp://ftp.lib.sonoma.edu/pub/simtelnet>
  1514.  
  1515.   ╖  US, Illinois
  1516.      <ftp://uiarchive.cso.uiuc.edu/pub/systems/pc/simtelnet>
  1517.  
  1518.  
  1519.   ╖  US, Massachusetts   <ftp://ftp.bu.edu/pub/mirrors/simtelnet>
  1520.  
  1521.   ╖  US, Michigan        <ftp://oak.oakland.edu/pub/simtelnet>
  1522.  
  1523.   ╖  US, New York        <ftp://ftp.rge.com/pub/systems/simtelnet>
  1524.  
  1525.   ╖  US, Oklahoma        <ftp://ftp.ou.edu/pub/simtelnet>
  1526.  
  1527.   ╖  US, Oregon          <ftp://ftp.orst.edu/pub/simtelnet>
  1528.  
  1529.   ╖  US, Pennsylvania    <ftp://ftp.epix.net/pub/simtelnet>
  1530.  
  1531.   ╖  US, Utah            <ftp://ftp.cyber-naut.com/pub/simtelnet>
  1532.  
  1533.   ╖  US, Virginia        <ftp://mirrors.aol.com/pub/simtelnet>
  1534.  
  1535.   ╖  Argentina           <ftp://ftp.satlink.com/pub/mirrors/simtelnet>
  1536.  
  1537.   ╖  Australia           <ftp://ftp.iniaccess.net.au/pub/simtelnet>
  1538.  
  1539.   ╖  Australia           <ftp://sunsite.anu.edu.au/pub/pc/simtelnet>
  1540.  
  1541.   ╖  Austria, Vienna     <ftp://ftp.univie.ac.at/mirror/simtelnet>
  1542.  
  1543.   ╖  Belgium             <ftp://ftp.linkline.be/mirror/simtelnet>
  1544.  
  1545.   ╖  Belgium             <ftp://ftp.tornado.be/pub/simtelnet>
  1546.  
  1547.   ╖  Bulgaria            <ftp://ftp.eunet.bg/pub/simtelnet>
  1548.  
  1549.   ╖  Brazil              <ftp://ftp.iis.com.br/pub/simtelnet>
  1550.  
  1551.   ╖  Brazil              <ftp://ftp.unicamp.br/pub/simtelnet>
  1552.  
  1553.   ╖  Canada, Ottawa      <ftp://ftp.crc.doc.ca/systems/ibmpc/simtelnet>
  1554.  
  1555.   ╖  Canada, Vancouver   <ftp://ftp.direct.ca/pub/simtelnet>
  1556.  
  1557.   ╖  Chile
  1558.      <ftp://sunsite.dcc.uchile.cl/pub/Mirror/simtelnet>
  1559.  
  1560.   ╖  China               <ftp://ftp.pku.edu.cn/pub/simtelnet>
  1561.  
  1562.   ╖  Czech Republic      <ftp://ftp.eunet.cz/pub/simtelnet>
  1563.  
  1564.   ╖  Czech Republic      <ftp://ftp.zcu.cz/pub/simtelnet>
  1565.  
  1566.   ╖  Czech Republic      <ftp://pub.vse.cz/pub/simtelnet>
  1567.  
  1568.   ╖  Finland
  1569.      <ftp://ftp.funet.fi/mirrors/ftp.simtel.net/pub/simtelnet>
  1570.  
  1571.   ╖  France              <ftp://ftp.grolier.fr/pub/simtelnet>
  1572.  
  1573.   ╖  France              <ftp://ftp.ibp.fr/pub/simtelnet>
  1574.  
  1575.   ╖  Germany             <ftp://ftp.mpi-sb.mpg.de/pub/simtelnet>
  1576.  
  1577.   ╖  Germany             <ftp://ftp.rz.ruhr-uni-bochum.de/pub/simtelnet>
  1578.  
  1579.   ╖  Germany             <ftp://ftp.tu-chemnitz.de/pub/simtelnet>
  1580.  
  1581.   ╖  Germany             <ftp://ftp.uni-heidelberg.de/pub/simtelnet>
  1582.  
  1583.   ╖  Germany             <ftp://ftp.uni-
  1584.      magdeburg.de/pub/mirrors/simtelnet>
  1585.   ╖  Germany             <ftp://ftp.uni-paderborn.de/pub/simtelnet>
  1586.  
  1587.   ╖  Germany             <ftp://ftp.uni-
  1588.      trier.de/pub/pc/mirrors/Simtel.net>
  1589.  
  1590.   ╖  Germany             <ftp://ftp.rz.uni-
  1591.      wuerzburg.de/pub/pc/simtelnet>
  1592.  
  1593.   ╖  Greece              <ftp://ftp.ntua.gr/pub/pc/simtelnet>
  1594.  
  1595.   ╖  Hong Kong           <ftp://ftp.cs.cuhk.hk/pub/simtelnet>
  1596.  
  1597.   ╖  Hong Kong           <ftp://ftp.hkstar.com/pub/simtelnet>
  1598.  
  1599.   ╖  Hong Kong           <ftp://sunsite.ust.hk/pub/simtelnet>
  1600.  
  1601.   ╖  Ireland             <ftp://ftp.iol.ie/pub/simtelnet>
  1602.  
  1603.   ╖  Israel              <ftp://ftp.huji.ac.il/pub/simtelnet>
  1604.  
  1605.   ╖  Italy               <ftp://cis.utovrm.it/simtelnet>
  1606.  
  1607.   ╖  Italy               <ftp://ftp.flashnet.it/pub/simtelnet>
  1608.  
  1609.   ╖  Italy               <ftp://ftp.unina.it/pub/simtelnet>
  1610.  
  1611.   ╖  Italy               <ftp://mcftp.mclink.it/pub/simtelnet>
  1612.  
  1613.   ╖  Japan               <ftp://ftp.iij.ad.jp/pub/simtelnet>
  1614.  
  1615.   ╖  Japan               <ftp://ftp.riken.go.jp/pub/simtelnet>
  1616.  
  1617.   ╖  Japan               <ftp://ftp.saitama-u.ac.jp/pub/simtelnet>
  1618.  
  1619.   ╖  Japan               <ftp://ftp.u-aizu.ac.jp/pub/PC/simtelnet>
  1620.  
  1621.   ╖  Japan               <ftp://ftp.web.ad.jp/pub/simtelnet>
  1622.  
  1623.   ╖  Japan               <ftp://ring.aist.go.jp/pub/simtelnet>
  1624.  
  1625.   ╖  Japan               <ftp://ring.asahi-net.or.jp/pub/simtelnet>
  1626.  
  1627.   ╖  Latvia              <ftp://ftp.lanet.lv/pub/mirror/simtelnet>
  1628.  
  1629.   ╖  Malaysia            <ftp://ftp.jaring.my/pub/simtelnet>
  1630.  
  1631.   ╖  Malaysia            <ftp://ftp.mimos.my/pub/simtelnet>
  1632.  
  1633.   ╖  Mexico              <ftp://ftp.gdl.iteso.mx/pub/simtelnet>
  1634.  
  1635.   ╖  Netherlands         <ftp://ftp.euro.net/d5/simtelnet>
  1636.  
  1637.   ╖  Netherlands         <ftp://ftp.nic.surfnet.nl/mirror-
  1638.      archive/software/simtelnet>
  1639.  
  1640.   ╖  New Zealand         <ftp://ftp.vuw.ac.nz/pub/simtelnet>
  1641.  
  1642.   ╖  Norway              <ftp://ftp.bitcon.no/pub/simtelnet>
  1643.  
  1644.   ╖  Poland              <ftp://ftp.cyf-kr.edu.pl/pub/mirror/Simtel.Net>
  1645.  
  1646.   ╖  Poland              <ftp://ftp.icm.edu.pl/pub/simtelnet>
  1647.  
  1648.   ╖  Poland              <ftp://ftp.man.poznan.pl/pub/simtelnet>
  1649.  
  1650.  
  1651.   ╖  Portugal            <ftp://ftp.ip.pt/pub/simtelnet>
  1652.  
  1653.   ╖  Portugal            <ftp://ftp.ua.pt/pub/simtelnet>
  1654.  
  1655.   ╖  Romania             <ftp://ftp.sorostm.ro/pub/simtelnet>
  1656.  
  1657.   ╖  Singapore           <ftp://ftp.nus.sg/pub/simtelnet>
  1658.  
  1659.   ╖  Slovakia            <ftp://ftp.uakom.sk/pub/simtelnet>
  1660.  
  1661.   ╖  Slovenia            <ftp://ftp.arnes.si/software/simtelnet>
  1662.  
  1663.   ╖  South Africa        <ftp://ftp.is.co.za/pub/simtelnet>
  1664.  
  1665.   ╖  South Africa        <ftp://ftp.sun.ac.za/pub/simtelnet>
  1666.  
  1667.   ╖  South Korea         <ftp://ftp.nuri.net/pub/simtelnet>
  1668.  
  1669.   ╖  South Korea         <ftp://ftp.sogang.ac.kr/pub/simtelnet>
  1670.  
  1671.   ╖  South Korea         <ftp://sunsite.snu.ac.kr/pub/simtelnet>
  1672.  
  1673.   ╖  Spain               <ftp://ftp.rediris.es/mirror/simtelnet>
  1674.  
  1675.   ╖  Sweden              <ftp://ftp.sunet.se/pub/simtelnet>
  1676.  
  1677.   ╖  Switzerland         <ftp://sunsite.cnlab-
  1678.      switch.ch/mirror/simtelnet>
  1679.  
  1680.   ╖  Taiwan              <ftp://ftp.ncu.edu.tw/Packages/simtelnet>
  1681.  
  1682.   ╖  Taiwan              <ftp://nctuccca.edu.tw/mirror/simtelnet>
  1683.  
  1684.   ╖  Thailand            <ftp://ftp.nectec.or.th/pub/mirrors/simtelnet>
  1685.  
  1686.   ╖  UK, Edinburgh       <ftp://emwac.ed.ac.uk/mirrors/simtelnet>
  1687.  
  1688.   ╖  UK, London          <ftp://ftp.demon.co.uk/pub/simtelnet>
  1689.  
  1690.   ╖  UK, Lancaster       <ftp://micros.hensa.ac.uk/pub/simtelnet>
  1691.  
  1692.   ╖  UK, London          <ftp://sunsite.doc.ic.ac.uk/packages/simtelnet>
  1693.  
  1694.  
  1695.   6.5.  InfoMagic
  1696.  
  1697.   Simtel      Ste D-InfoMagic is at 11950 N. Highway 89, Flagstaff AZ
  1698.   86004, telephone 800-800-6613 or 520-526-9565, fax 520-526-9573,
  1699.   email: info@infomagic.com, web:  <http://www.infomagic.com>.
  1700.  
  1701.  
  1702.   6.6.  Walnut Creek
  1703.  
  1704.   Walnut Creek CDROM has many useful CDROMs.  They are at 4041 Pike ,
  1705.   Concord, CA 94520, USA.  Telephone (800) 786-9907 or (510) 674-0783,
  1706.   or FAX (510) 674-0821.  email: orders@cdrom.com.  Web:
  1707.   <http://www.cdrom.com/>
  1708.  
  1709.  
  1710.   6.7.  Red Hat
  1711.  
  1712.   Red Hat Software: telephone 800-454-5502 or 203-454-5500, fax:
  1713.   203-454-2582, email: sales@redhat.com.  Web:  <http://www.redhat.com>.
  1714.  
  1715.  
  1716.  
  1717.   6.8.  Craftwork
  1718.  
  1719.   CraftWork Solutions, 4320 Stevens Creek Blvd, Suite 170, San Jose CA
  1720.   95129, telephone 800-985-1878, email: info@craftwork.com, web:
  1721.   <http://www.craftwork.com>.
  1722.  
  1723.  
  1724.   6.9.  Yggdrasil
  1725.  
  1726.   Yggdrasil Computing, 4880 Stevens Creek Blvd., Suite 205, San Jose CA
  1727.   95129-1024, telephone 800-261-6630 or 408-261-6630, fax: 408-261-6631,
  1728.   email: info@yggdrasil.com, web: <http://www.yggdrasil.com>.
  1729.  
  1730.  
  1731.   6.10.  Emacs for DOS
  1732.  
  1733.   From the Emacs FAQ of November 11, 1996:
  1734.  
  1735.   --begin quote
  1736.  
  1737.  
  1738.   93:  Where can I get Emacs for my PC running MS-DOS?
  1739.  
  1740.   A pre-built binary distribution of Emacs 19.34 should be available by
  1741.   the beginning of November 1996 from the Simtel archives, the main site
  1742.   of which is at
  1743.  
  1744.   <ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/>
  1745.  
  1746.   If you prefer to compile Emacs for yourself, you will need a 386 (or
  1747.   better) processor, and are running MS-DOS 3.0 or later.  According to
  1748.   Eli Zaretskii eliz@is.elta.co.il and Darrel Hankerson
  1749.   hankedr@dms.auburn.edu, you will need the following:
  1750.  
  1751.   Compiler: djgpp version 1.12 maint 1 or later.  Djgpp 2.0 or later is
  1752.   recommended, since 1.x is being phased out.  Djgpp 2 supports long
  1753.   filenames under Windows 95.
  1754.  
  1755.   You can get the latest release of djgpp by retrieving all of the files
  1756.   in
  1757.  
  1758.   <ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp>
  1759.  
  1760.   Gunzip and tar:
  1761.  
  1762.   The easiest way is to use "djtar" which comes with djgpp v2.x, because
  1763.   it can open gzip'ed tarfiles (i.e., those ending with ".tar.gz") in
  1764.   one step.  Djtar comes in "djdev201.zip", from the URL mentioned
  1765.   above.
  1766.  
  1767.   Utilities: make, mv, sed, rm.
  1768.  
  1769.   All of these utilities are available at
  1770.  
  1771.   <ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu>
  1772.  
  1773.   16-bit utilities can be found in GNUish:
  1774.  
  1775.   <ftp://ftp.simtel.net/pub/simtelnet/gnu/gnuish>
  1776.  
  1777.   The file INSTALL in the top-level directory of the Emacs source
  1778.   contains some additional information regarding Emacs under MS-DOS.  In
  1779.   addition, the file etc/MSDOS contains some information on the
  1780.   differences between the Unix and MS-DOS versions of Emacs.
  1781.  
  1782.  
  1783.   For the most comprehensive information on running GNU Emacs on a PC,
  1784.   see the file prepared by Michael Ernst mernst@theory.lcs.mit.edu at
  1785.  
  1786.   <ftp://theory.lcs.mit.edu/pub/emacs/pc-emacs.gz>
  1787.  
  1788.   For a list of other MS-DOS implementations of Emacs (and Emacs look-
  1789.   alikes), consult the list of "Emacs implementations and literature,"
  1790.   available at
  1791.  
  1792.   <ftp://rtfm.mit.edu/pub/usenet/comp.emacs/>
  1793.  
  1794.   Note that while many of these programs look similar to Emacs, they
  1795.   often lack certain features, such as the Emacs Lisp extension
  1796.   language.
  1797.  
  1798.  
  1799.   --end quote
  1800.  
  1801.  
  1802.  
  1803.  
  1804.   6.11.  GNU Mirror Sites
  1805.  
  1806.   The GNU collection at  <ftp://prep.ai.mit.edu/pub/gnu> is mirrored at
  1807.   many sites.  Mirrors in USA include these:
  1808.  
  1809.   ╖  <ftp://labrea.stanford.edu/pub/gnu>
  1810.  
  1811.   ╖  <ftp://wuarchive.wustl.edu/systems/gnu>
  1812.  
  1813.   ╖  <ftp://ftp.kpc.com/pub/mirror/gnu>
  1814.  
  1815.   ╖  <ftp://f.ms.uky.edu/pub3/gnu>
  1816.  
  1817.   ╖  <ftp://jaguar.utah.edu/gnustuff>
  1818.  
  1819.   ╖  <ftp://ftp.hawaii.edu/mirrors/gnu>
  1820.  
  1821.   ╖  <ftp://uiarchive.cso.uiuc.edu/gnu>
  1822.  
  1823.   ╖  <ftp://uiarchive.cso.uiuc.edu/pub/gnu>
  1824.  
  1825.   ╖  <ftp://ftp.cs.columbia.edu/archives/gnu/prep>
  1826.  
  1827.   ╖  <ftp://gatekeeper.dec.com/pub/GNU>
  1828.  
  1829.   ╖  <ftp://ftp.uu.net/systems/gnu>
  1830.  
  1831.  
  1832.   6.12.  Emacspeak with Earlier Slackware Releases
  1833.  
  1834.   If you want to install Slackware 3.0 or earlier, you will need to
  1835.   prepare a full null modem cable, including modem control signals.
  1836.  
  1837.   For two DB25 (25 pin) connectors, the required connections are:
  1838.  
  1839.   ╖  1 (Frame Ground) - 1 (Frame Ground)
  1840.  
  1841.   ╖  2 (Receive Data) - 3 (Transmit Data)
  1842.  
  1843.   ╖  3 (Transmit Data) - 2 (Receive Data)
  1844.  
  1845.   ╖  4 (Request To Send) - 5 (Clear To Send)
  1846.  
  1847.   ╖  5 (Clear To Send) - 4 (Request To Send)
  1848.  
  1849.   ╖  6 (Data Set Ready) - 20 (Data Terminal Ready)
  1850.  
  1851.   ╖  7 (Signal Ground) - 7 (Signal Ground)
  1852.  
  1853.   ╖  8 (Carrier Detect) - 20 (Data Terminal Ready)
  1854.  
  1855.   ╖  20 (Data Terminal Ready) - 6 (Data Set Ready)
  1856.  
  1857.   ╖  20 (Data Terminal Ready) - 8 (Carrier Detect)
  1858.  
  1859.   For two DB9 connectors, the connections are:
  1860.  
  1861.   ╖  1 (Carrier Detect) - 4 (Data Terminal Ready)
  1862.  
  1863.   ╖  2 (Receive Data) - 3 (Transmit Data)
  1864.  
  1865.   ╖  3 (Transmit Data) - 2 (Receive Data)
  1866.  
  1867.   ╖  4 (Data Terminal Ready) - 6 (Data Set Ready)
  1868.  
  1869.   ╖  4 (Data Terminal Ready) - 1 (Carrier Detect)
  1870.  
  1871.   ╖  5 (Signal Ground) - 5 (Signal Ground)
  1872.  
  1873.   ╖  6 (Data Set Ready) - 4 (Data Terminal Ready)
  1874.  
  1875.   ╖  7 (Request To Send) - 8 (Clear To Send)
  1876.  
  1877.   ╖  8 (Clear To Send) - 7 (Request To Send)
  1878.  
  1879.   ╖  9 (Ring Indicator) not connected
  1880.  
  1881.   For a DB9 (listed first) to a DB25 (second), the connections are:
  1882.  
  1883.   ╖  1 (Carrier Detect) - 20 (Data Terminal Ready)
  1884.  
  1885.   ╖  2 (Receive Data) - 2 (Transmit Data)
  1886.  
  1887.   ╖  3 (Transmit Data) - 3 (Receive Data)
  1888.  
  1889.   ╖  4 (Data Terminal Ready) - 6 (Data Set Ready)
  1890.  
  1891.   ╖  4 (Data Terminal Ready) - 8 (Carrier Detect)
  1892.  
  1893.   ╖  5 (Signal Ground) - 7 (Signal Ground)
  1894.  
  1895.   ╖  6 (Data Set Ready) - 20(Data Terminal Ready)
  1896.  
  1897.   ╖  7 (Request To Send) - 5 (Clear To Send)
  1898.  
  1899.   ╖  8 (Clear To Send) - 4 (Request To Send)
  1900.  
  1901.   ╖  9 (Ring Indicator) not connected
  1902.  
  1903.  
  1904.   7.  Frequently Asked Questions (FAQ)
  1905.  
  1906.   7.1.  Why does it say "space" after each character?
  1907.  
  1908.   Your DECtalk Express has old firmware.  Use the Emacspeak command `C-e
  1909.   d V' to find out your version.  You should be running a version no
  1910.   older than 4.2bw from March 1995.  If you have an earlier version, you
  1911.   can find an updated version at
  1912.   <http://www.ultranet.com/~rongemma/tips_upd.htm>, a WWW site
  1913.   maintained by Ron Jemma of the Dectalk Group at DEC.  Alternatively,
  1914.   you can send email to Anne Nelson at DECnelson@dectlk.enet.dec.com.
  1915.   The most recent version at this writing is 4.3 release AA X01 May 20
  1916.   1996.
  1917.  
  1918.  
  1919.   7.2.  Why the high pitched tone from a DECtalk?
  1920.  
  1921.   On occasion when reading the DECtalk will produce high pitch tones
  1922.   that last for several words or more, if this happens in a buffer it
  1923.   will often repeat within the same buffer.
  1924.  
  1925.   The problem is due to remaining bugs in the Dectalk firmware.  When
  1926.   emacspeak produces tones, especially when split caps is on, the dtk
  1927.   sometime goes into squealing mode.
  1928.  
  1929.   If you notice this happening in particular text documents, just turn
  1930.   off split caps mode locally with `C-e d s'.
  1931.  
  1932.  
  1933.  
  1934.   7.3.  Why the "No library autorevert in search path" message?
  1935.  
  1936.   What is the significance of the message "No library autorevert in
  1937.   search path" which is spoken (or at least queued for speech) when
  1938.   emacspeak 7.0 starts?
  1939.  
  1940.   It's completely insignificant. autorevert is a new minor mode provided
  1941.   by emacs 20 and emacspeak looks for it and if found speech-enables it.
  1942.  
  1943.  
  1944.   7.4.  How do I change Emacspeak defaults?
  1945.  
  1946.   What is the best way to change Emacspeak defaults for things such as
  1947.   speech rate, default punctuation mode, etc.?
  1948.  
  1949.   Just put the needed changes in your .emacs file.  ".emacs" is a file
  1950.   in your home directory that is loaded by emacs when it starts (shortly
  1951.   after reading emacspeak).  It is the place to do personal
  1952.   modifications.
  1953.  
  1954.   Here is an example which resets the speech rate and redefines a
  1955.   function (courtesy of Greg Priest-Dorman priestdo@cs.vassar.edu):
  1956.  
  1957.  
  1958.  
  1959.                ;;
  1960.                (dtk-set-rate 380 1)
  1961.                ;;
  1962.                (defun emacspeak-speak-time ()
  1963.                  "Speak the time. "
  1964.                  (interactive)
  1965.                  (dtk-speak  (format-time-string "%A %B %e, %I %M %p"
  1966.                      (current-time) )))
  1967.                ;;
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.   7.5.  What if an error message is not spoken?
  1974.  
  1975.   An error message was displayed on the screen, but not reported by
  1976.   Emacspeak
  1977.  
  1978.   In general, if emacs hits an error and you don't get to hear the
  1979.   message because it went by too quickly, here is what you should do:
  1980.  
  1981.   1) Switch to the *Messages* buffer and see if you see the message
  1982.   there. 99% of the time it will be there.
  1983.  
  1984.   2) If some portion of emacs or an emacs application throws an error
  1985.   without leaving an appropriate message in the *Messages* buffer, then
  1986.   turn on emacs' debugging facility by `M-x set-variable ret' `debug-on-
  1987.   error ret' `t ret' this sets debugon-on-error to true now repeat what
  1988.   caused the error you will be placed in a backtrace buffer.
  1989.  
  1990.   Warning: do not read the entire contents of the backtrace buffer at
  1991.   one shot with emacspeak.  Go line by line.  (courtesy of T. V. Raman
  1992.   raman@Adobe.COM)
  1993.  
  1994.  
  1995.   7.6.  The terminal emulator is the most problematic portion of Emacs¡
  1996.   peak.
  1997.  
  1998.   It's not an emacspeak problem-- it's a terminal problem.  Getting a
  1999.   terminal emulator working correctly inside emacs is not a joke-- and
  2000.   eterm is an excellent piece of work, but depending on how some old app
  2001.   behaves you will (or should always expect to) see some weirdness.
  2002.  
  2003.   After all, remember all of these UNIX terminal apps work from all
  2004.   kinds of terminals ranging from vt52's to new devices.
  2005.  
  2006.  
  2007.   7.7.  In a term buffer, the first half screen is not spoken
  2008.  
  2009.  
  2010.   When starting a term buffer, no output is spoken in line mode by
  2011.   Emacspeak until the cursor has made it about half way down the screen
  2012.  
  2013.   I've not seen this-- and I am running emacs 20.
  2014.  
  2015.   When you start term it is in character mode.  When you switch to line
  2016.   mode make sure the cursor is at the end of the buffer-- otherwise what
  2017.   you send will never go to the shell.
  2018.  
  2019.   Also, in general use M-x shell (comint-mode) for running things you
  2020.   would run in line mode in eterm-- it's been around longer and far more
  2021.   robust. M-x term specializes in its character-mode of terminal
  2022.   emulation and may not always take care of everything in line mode.
  2023.   (courtesy of T. V. Raman raman@Adobe.COM)
  2024.  
  2025.  
  2026.   7.8.  Term mode gets flaky after a long session.
  2027.  
  2028.   Sometimes, after long sessions with a term buffer, I will experience
  2029.   similar problems as do you with spech in the term becoming very flaky.
  2030.   Output may or may not be spoken (I have not determined the pattern).
  2031.  
  2032.   if the term becomes flaky, enter character mode and issue a reset.
  2033.   the above is usually a result of running some curses based app that
  2034.   leaves the terminal in a screwy state.
  2035.  
  2036.   Many curses based apps follow slightly different conventions on where
  2037.   they leave the cursor while you edit-- 60-70% of them leave the cursor
  2038.   just after the character you typed with a null character after point.
  2039.   Others leave a space character there which is what you hear.
  2040.  
  2041.   Experiment between setting TERM to vt100 and eterm.  Depending on
  2042.   whether the app was linked against curses or ncurses (former uses
  2043.   TERMCAP and latter uses TERMINFO) you will get different results.
  2044.  
  2045.  
  2046.  
  2047.   8.  Legalese
  2048.  
  2049.   Copyright (c) 1998 by James R. Van Zandt jrv@vanzandt.mv.com.  This
  2050.   document may be distributed under the terms set forth in the LDP
  2051.   license at  <http://metalab.unc.edu/LDP/COPYRIGHT.html>.
  2052.  
  2053.   If you have questions, please contact Tim Bynum, the Linux HOWTO
  2054.   coordinator, at tjbynum@metalab.unc.edu or linux-
  2055.   howto@metalab.unc.edu.
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.