File:  [MW Coherent from dump] / coherent / g / usr / bin / vsh / doc / vsh.coh.man
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Wed May 29 04:56:35 2019 UTC (7 years ago) by root
Branches: MarkWilliams, MAIN
CVS tags: relic, HEAD
coherent

vvsshh -- Command  (last revised: FFeebbrruuaarryy 2233, 11999933)

vvsshh

vvsshh is  the COHERENT system's visual  shell.  With it, users  can use arrow
keys  or simple  keystrokes to  perform tasks under  the COHERENT,  such as
change  directories,  edit  files, and  execute  programs.   Each user  can
program a bank of up to  nine function keys to perform complex tasks with a
single keystroke.  With  vvsshh, a naive user can access  much of the power of
the COHERENT system without having to learn the details of sshh or kksshh.

Unlike  X  or  other windowing  systems,  vvsshh  works  on a  character-based
terminal and requires only a modest  amount of memory.  It does not require
a mouse.

_G_r_a_p_h_i_c_s _I_n_t_e_r_f_a_c_e
vvsshh uses  the ccuurrsseess  library and tteerrmmiinnffoo  descriptions.  To use  vvsshh, you
must have  a tteerrmmiinnffoo description  installed for the device  upon which you
wish to run  it, and you must set the  environmental variable TTEERRMM to point
correctly to that description.  For  example, to run vvsshh from your console,
you should  set TTEERRMM to aannssiippcc;  while to run it from a  PC that is plugged
into a serial port, you should  set TTEERRMM to vvtt110000. You must have a tteerrmmiinnffoo
description for the  device to which you set TTEERRMM,  or vvsshh will behave in a
bizarre manner.  For  more information on devices and how  to set them, see
the  Lexicon  entries  for  TTEERRMM  and  tteerrmmiinnffoo. For  more  information  on
terminals in general, see the entry for tteerrmmiinnaall.

To ensure that TTEERRMM set correctly, may wish to embed the command ttttyyttyyppee in
your system's  /eettcc/pprrooffiillee. For  more details,  see the Lexicon  entry for
ttttyyttyyppee.

If you  have a  non-standard terminal or  have trouble displaying  vvsshh, try
invoking it with  the options -ee or -tt.  All  of vvsshh's command-line options
are described below.

_M_a_i_n _S_c_r_e_e_n
When you invoke vvsshh, you see the following screen:

As you can see, the screen is divided five sections, or _w_i_n_d_o_w_s:

-> The first  window, the  _C_o_m_m_a_n_d Window, is  the narrow window  that runs
   across the top  of the screen.  This window lists  the commands that vvsshh
   can perform.   You will  enter this window  frequently as you  work with
   vvsshh.

-> The  second window,  the _C_u_r_r_e_n_t _D_i_r_e_c_t_o_r_y  window, names  the directory
   that you are currently in.

-> The third  window, the _F_i_l_e  Window, extends down  the left side  of the
   screen.  It lists the contents  of the current directory.  You will also
   work frequently in this window.

-> The fourth  window, the _S_y_s_t_e_m Window,  is the upper window  on the left
   side of the screen.  It gives information about the system, that is, who
   is running  vvsshh, the device she  is running it on,  and the current date
   and time.  You will never enter this window.

-> The last window, the _S_t_a_t_u_s Window, gives information about the work you
   have performed under vvsshh. Again, you will never enter this window.

Across the bottom  of the screen are nine ``stubs,''  one each for function
keys  one through  nine.  The  stub's text indicates  the command  that vvsshh
executes when you press that key.

The following sections discuss each window in detail.

_F_i_l_e _W_i_n_d_o_w
The file window  lists all of the files and  directories within the current
directory.  This is the default window for vvsshh; the cursor ordinarily rests
in this window, and you will do most of your work in it.

The leftmost  column in  the File  Window gives the  name of each  file and
directory.  Directories are given at the top of the list; they are enclosed
within brackets  `[ ]'.  The other columns give,  respectively the time the
file or directory  was last updated; the date it  was last updated; and its
permissions.  For  information on how to  interpret the permissions string,
see the Lexicon entry for the command llss.

The top  listing in the  File Window is  always [..], which  represents the
current directory's parent directory.

The  top listing  in this  list is  highlighted by  being shown  in reverse
video.  To  move the highlighting bar  up and down the  list, use the arrow
keys.  If you  press the arrow keys on your  keyboard's number pad, be sure
to turn the <NNuummLLoocckk> key _o_f_f, or the keys will not work as you expect.  If
you press the |v key, the bar shifts down one row on the list.  Pressing the
|^ key moves the bar up one row.

You can page up or page down by pressing, respectively, the keys <PPggUUpp> and
<PPggDDnn>. The key  <HHoommee> moves the cursor to the  top of the list, and <EEnndd>
moves it  to the bottom.  If  your terminal does not  implement these keys,
you can use the following control characters:

    <ccttrrll-NN>    Next page (like <PPggDDnn>)
    <ccttrrll-PP>    Previous page (like <PPggUUpp>)
    <ccttrrll-AA>    Beginning (top) of list (like <HHoommee>)
    <ccttrrll-EE>    End (bottom) of list (like <EEnndd>)

Note that if the list of files and directories is too large to fit into the
window, moving the bar to the bottom of the window and pressing |v      will
scroll the list.  If you press the <EEnndd> key, the row moves to the last row
in the list; and if you press <HHoommee>, it moves to the top of the list.

A scroll bar runs down the right side of the File Window.  As you scroll up
and down this window, the scroll  bar moves.  Note that the position of the
scroll bar  is proportional to the highlighting  bar's position in relation
to the  entire list of files,  not just to its  current position within the
File Window.  This  gives you an easy way to  see just where you are in the
entire file list.

If you position the highlighting bar over the name of a directory and press
<EEnntteerr> (sometimes also labeled  <RReettuurrnn>), vvsshh names that directory in the
Current Directory  Window, and  displays its  contents in the  File Window.
For  example, if  you  position the  highlighting  bar over  the entry  for
directory  [lleetttteerrss]  and  press  <EEnntteerr>,  vvsshh  displays the  contents  of
directory lleetttteerrss in the File Window.  (If you are familiar with the Bourne
or Korn shell, this has the  same effect as typing the command ccdd lleetttteerrss.)
To return to  the directory you had just been  display (that is, the parent
directory of lleetttteerrss),  use the arrow keys to move  the highlighting bar to
the entry [..]; then press <EEnntteerr>. vvsshh changes the contents of the Current
Directory Window, and in the File Window erases the contents of lleetttteerrss and
displays the contents of its parent directory.

If you press  <RReettuurrnn> while a file is highlighted  instead of a directory,
vvsshh does the following:

11. If the file is executable, vvsshh executes it.

22. If the  file matches a  pattern from the file-action  list, vvsshh executes
   the action from  the list with the file as  input.  The file-action list
   is in file $HHOOMMEE/.uuddtt; it looks like:

       [Mm]akefile:make
       *.Z:zcat %F

   vvsshh recognizes most common wildcard characters; for a table of these and
   their  meaning, see  the  Lexicon entries  for wwiillddccaarrddss.  The token  %FF
   stands for the file that  is currently highlighted.  For example, in the
   above example the entry *.ZZ:zzccaatt %FF means that if you select a file with
   the suffix .ZZ (which usually means  that a file has been compressed), it
   passes that file to zzccaatt to uncompress and display it.  vvsshh defines many
   defaults  for you  when it  creates this  file, which you  can use  as a
   model.  To  change the file-action list,  you must use a  text editor to
   edit file $HHOOMMEE/.uuddtt.

33. If the file appears to be ASCII vvsshh displays it with the default viewer.

While vvsshh  is working, it displays  a large letter `X'  in reverse video in
the lower  left corner of  the screen.  This  shows that vvsshh  is doing some
internal task.  vvsshh cannot accept  any commands while the `X' is displayed,
so please be patient.

Also,  note that  vvsshh cannot  handle  more than  1,000 files  in any  given
directory.  If  a directory contains more than 1,000  files, only the first
thousand will be available for use.

_S_y_s_t_e_m _W_i_n_d_o_w
The system window  is the upper of the two  windows on the left side of the
screen.  The  cursor never enters  this window; rather,  this window simply
displays information about your  COHERENT system, and how you are currently
using it.  It contains the following entries:

    System:
    Line:
    Login:
    UID:
    GID:
    Date:
    Time:

The following discusses each entry in detail:

SSyysstteemm:
     This gives  the name of your  system, as you (or  your COHERENT system
     administrator)  has set  it in file  /eettcc/uuuuccppnnaammee. See  the Lexicon's
     entry for  uuuuccppnnaammee for more details on  proper naming conventions for
     COHERENT systems.

LLiinnee:
     This gives the device by which you are accessing your COHERENT system.
     If you  are working on  your system's console device,  then you should
     see ccoonnssoollee  on this line; whereas if you  are accessing your COHERENT
     via a  PC plugged into serial  port ccoomm11ll, you should  see ccoomm11ll here.
     If you are  using virtual consoles, the line is  shown as mmoonnoo[00-88] or
     ccoolloorr[00-88].  See the  Lexicon  entries for  ccoonnssoollee and  ccoomm for  more
     information about the devices  through which you can access a COHERENT
     system.

LLooggiinn:
     This  gives  the  name under  which  you  logged  into COHERENT.   For
     example, if your login identifier is ffrreedd, then you should see ffrreedd on
     this line.

UUIIDD: This  shows your  user-identification number  (or  UID).  This  is the
     unique number by which your COHERENT  system knows you, as set in file
     /eettcc/ppaasssswwdd. For  information on the  UID and how  to set it,  see the
     Lexicon entries for ppaasssswwdd and sseettuuiidd.

GGIIDD: This gives the number and name  of the user group to which you belong.
     Users on  a COHERENT system can be  organized into groups; permissions
     on files can be set to  include the members of your group, but exclude
     all others.   For information on  groups, see the  Lexicon entries for
     ggrroouupp and sseettggiidd.

DDaattee:
     This gives  today's date (or rather, what  your COHERENT system thinks
     today's date is).

TTiimmee:
     This  gives what  your system  thinks  the current  time is.   If your
     system's time is not set correctly,  then the time shown here will not
     be correct.   For information on how  to set the system  time, see the
     Lexicon entries for the commands AATTcclloocckk and ddaattee.

     The time  can also  vary depending upon  what time zone  your COHERENT
     system thinks  it's located in.  For information  on timezones and how
     to set them correctly, see the Lexicon entry for TTIIMMEEZZOONNEE.

_C_o_m_m_a_n_d _W_i_n_d_o_w
The Command Window is the second  window from the top, and stretches across
the width of  the screen.  This window gives you  access to vvsshh's commands.
Some  commands  in the  command  window  actually open  an  entire menu  of
commands, with which you can perform all manner of work.

The command window contains the following entries.  Note that the following
displays the  vertically for convenience;  the actual window  displays them
horizontally:

    FFile
    DDirectory
    OOptions
    IInstall
    CCommand
    RRefresh
    EExit
    HHelp

When the cursor  is in the File Window (which  is the default) and you wish
to execute  one of the  commands in the  Command Window, press  its initial
letter.  For example, to execute the RReeffrreesshh command, press RR.

Note  that the  commands on  this window  are in  two groups.   A command's
behavior differs, depending upon which group it belongs to.

The commands FFiillee, DDiirreeccttoorryy, OOppttiioonnss, and IInnssttaallll display a drop-down menu
when  you invoke  it.   That is  because  they have  more  than one  option
available under it.   If you do not wish to  invoke any of the sub-commands
on that menu,  you can do either of the  following: You can press the <EEsscc>
key, which erases the drop down-menu and returns you to the File Window; or
you can  press the <-  or -> keys,  which move you  to the command  in this
group that lies,  respectively, to the left or to  the right of the current
command.  For  example, suppose that you  were in the File  Window, and you
pressed FF, to invoke the FFiillee  command.  vvsshh would move the cursor into the
Command  Window, and  display the  File  Command's drop-down  window, which
displays its  sub-commands.  If you  then pressed the <EEsscc>  key, vvsshh would
return you to the File Window.   If you pressed the -> key, vvsshh would erase
the  FFiillee command's  drop-down window and  display, instead,  the drop-down
window for the DDiirreeccttoorryy command.  If, however, you pressed the <- key, vvsshh
would erase  the FFiillee command's drop-down window  and display, instead, the
drop-down  window for  the  HHeellpp command.   As  you can  see, vvsshh  ``wraps-
around'' the cursor  -- it considers the command at  the far right to be to
the left of the command to the far left left, and vice versa.  This concept
is a little difficult to grasp when you read about it, but once you try it,
it will quickly become clear.

The other  group of commands  are the commands CCoommmmaanndd,  RReeffrreesshh, EExxiitt, and
HHeellpp each have only option, so  when you invoke one of them, it immediately
begins  to execute  that option.   When  you access  one of  these commands
through the ->  and <- keys, each displays a  drop-down menu that shows its
one option.

The following describes each command in detail.

FFiillee Pressing FF  invokes the FFiillee command.  This  displays a drop-down menu
     that  lists  a  set  of  sub-commands.   These  sub-commands  let  you
     manipulate  files; with  them, you  can  edit a  file, create  a file,
     change its  permissions, rename  it, erase it,  print it, or  do other
     common tasks.

     To invoke a sub-command, you can do either of the following: Press the
     letter in the sub-command that is underlined (each sub-command has its
     own unique letter with which you can invoke it); or use the |^ and |v
     keys  to move  the highlighting  bar to that  command, and  then press
     <EEnntteerr>.

     The following discusses each sub-command in detail:

     CCooppyy This sub-command lets you make a copy of a file.  It opens a pop-
          up window that  shows the old file name and  requests a new name;
          it then copies  the old file into the new  one that you name.  If
          you type the name of an  existing file, vvsshh prompts you before it
          overwrites that file.  It repeats this procedure for every tagged
          file.

          Note that this command will not  overwrite a file that you do not
          own; nor will it create a new file in a directory in which you do
          not have  write permission, or  copy a file  on which you  do not
          have  read permission.   For  more information  on copying  files
          under COHERENT, see the Lexicon entry for the command ccpp.

     MMoovvee This sub-command  prompts you for  the name of  a directory, then
          moves all tagged files into it.  (If no files are tagged, then it
          moves  only  the  highlighted  file.   For  more  information  on
          tagging, see the entry for the sub-command TTaagg, below.) The files
          retain their names in the new directory.

          Note that this command will not  copy a file for which you do not
          have read permission, or copy  a file into a directory into which
          you do not have write permission;  nor will it copy a file into a
          non-existent directory (of course).  For details on moving files,
          see the Lexicon entry for the command mmvv.

     DDeelleettee
          This  sub-command deletes  the tagged  files.   (If no  files are
          tagged,  then it  deletes only  the  highlighted file.   For more
          information on  tagging, see the  entry for the  sub-command TTaagg,
          below.) It will prompt you to  confirm that you really do want to
          delete the  file or files  in question.  With regard  to the mass
          deletion  of  tagged  files,  this  sub-command lets  you  choose
          whether to do a mass deletion or delete files one at a time.

          Note that this sub-command will not delete a file that you do not
          own.  For  details on deleting  files, see the  Lexicon entry for
          the command rrmm.

     RReennaammee
          This sub-command lets  you rename the highlighted file.  It opens
          a  pop-up window  that shows  the current name  of the  file, and
          prompts you to type the new name.  Press <EEsscc> to abort this sub-
          command, or type the new name and press <EEnntteerr>.

          It does not work with directories.   It will not let you rename a
          file that  you do not own.   For details on renaming  a file, see
          the Lexicon entry for the command mmvv.

     EExxeeccuuttee
          This sub-command executes  the highlighted file.  vvsshh prompts you
          to type  the arguments you  wish to pass this  file, then invokes
          the file with those arguments.

          Note that vvsshh  will not execute a file for  which you do not have
          execute permission.

     AAcccceessss
          This sub-command lets you change the manner in which every tagged
          file can  be accessed.  (If  no files are tagged,  the default is
          the  highlighted file.)  When  you invoke  it,  vvsshh displays  the
          following pop-up window for each tagged file:

              Change access f file _f_i_l_e_n_a_m_e

              Owner
              Read [x]       Write[x]        Execute[ ]

              Group
              Read [x]       Write[ ]        Execute[ ]

              World
              Read [x]       Write[ ]        Execute[ ]

              Special
              Set UID [ ]    Set GID [ ]     Set sticky[ ]


          An `x'  in a  field means  that that permission  is turned  on; a
          blank means that it is turned off.  Use the arrow keys to move to
          the cursor the field whose  status you wish to change, then enter
          a space or  `x' to, respectively, turn off or  turn on that given
          permission.  To abort this command, press <EEsscc>.

          For  information what  permission  fields mean,  see the  Lexicon
          entry for  llss. Note  that you can  reset permissions only  on the
          files you own.

     OOwwnneerr
          This lets  you change the  owner and group that  owns each tagged
          file.   If no  files are  tagged, then this  applies only  to the
          highlighted file.  When  you invoke this sub-command, vvsshh opens a
          pop-up window that shows the user and group that own a file: type
          the name  of the  user or  group you want  to own the  file.  vvsshh
          repeats this  step for each tagged file.   To abort this command,
          press <EEsscc>.

          For  details on  changing ownership  of a  file, see  the Lexicon
          entries  for the  command  cchhoowwnn and  cchhggrrpp. Note  that only  the
          superuser rroooott can run this command.

     PPrriinntt
          This passes every tagged  file to the print spooler for printing.
          To change  the default print  spooler, use the  IInnssttaallll command's
          PPrriinntt ssppoooolleerr sub-command.

          Note that vvsshh does not apply  a filter to a file; for example, if
          you  try  to  use this  feature  of  vvsshh to  print  a  file on  a
          PostScript printer,  the printer will hang.   We suggest that you
          use the command CCoommmmaanndd to print a file on a specialized printer.
          It's a little more difficult, but it works.

     VViieeww This  sub-command  invokes  the  default  viewer to  display  the
          contents of  every tagged file.  If you try  to view the contents
          of a binary file, the results may not be what you expect.

          Note that vvsshh  will not display a file for  which you do not have
          read permission.   To change the default  viewer, use the IInnssttaallll
          command's FFiillee vviieewweerr sub-command.

     EEddiitt This  sub-command invokes  the text editor  to edit  every tagged
          file.  If  no files  are tagged,  then edit only  the highlighted
          file.

          The  default text  editor is  vvii, which  can create  problems for
          persons who  do not  know how  to exit from  that editor.   For a
          quick brush-up on vvii, see  the Lexicon entry for eellvviiss. To change
          the default  text editor, use  the IInnssttaallll command's  EEddiittoorr sub-
          command.  Note  that COHERENT  will not let  you edit a  file for
          which you do not have read permission.

     EEddiitt nneeww
          This sub-command  prompts you  to type the  name of a  file, then
          invokes the editor  for that file.  This can be  a new file (that
          is, one that  does not yet exist in the  current directory), or a
          file that already exists.

          Note  that if  you do  try to  edit a binary  file, you  may find
          yourself running into difficulties.

     TToouucchh
          This ``touches''  every tagged  file --  that is, it  changes the
          date and time  that the file was last modified,  just the same as
          if you had just edited it.

          Note that you cannot touch a file for which you do not have write
          permission.   For more  information  on touching  files, see  the
          Lexicon entry for the command ttoouucchh.

     TTaagg aallll
          This sub-command  ``tags'' every  file in the  current directory.
          This lets you do mass moves  or deletions of files.  When you tag
          a file, vvsshh updates the entries FFiilleess ttaaggggeedd and FFiillee ssiizzee ttaa. in
          the Status  Window, to reflect  the number and total  size of the
          files you  have just tagged.  It also prints  an asterisk next to
          the tagged file.

          When the cursor is in the  File Window, you can toggle tagging on
          the highlighted  file by pressing  the space bar.   Note that the
          highlighted  file is  implicitly tagged,  whether an  as asterisk
          appears next to  it or not.  For details, see  the section on the
          Status Window, below.

     UUnnttaagg aallll
          This sub-command untags all  files that are tagged in the current
          directory.  As  noted above,  you can  toggle the tagging  of the
          highlighted file by pressing the space bar.  This command updates
          the Status Window to reflect your changes.

     FFiillee ttyyppee
          This command  prints a summary  of information about  the type of
          the highlighted file.

     FFiillee iinnffoo
          This  sub-command  opens   a  pop-up  window  that  displays  the
          following information about the highlighted file or directory:

              Filename
              Filetype
              I-Node
              Links
              Owner UID
              Owner GID
              access
              modification
              status changed

          _F_i_l_e_n_a_m_e is  the name of  the file.  _F_i_l_e_t_y_p_e is  its type, e.g.,
          directory  or regular  file.   _I-_N_o_d_e gives  the  number of  this
          file's  i-node; for  information on  what an  i-node is,  see its
          entry in  the Lexicon.   _L_i_n_k_s gives the  number of links  to the
          file.  For information on what a link is, see the Lexicon entries
          for llnn and lliinnkk(). _O_w_n_e_r _U_I_D and _O_w_n_e_r _G_I_D identify the owner and
          group that  own this file.   For information on what  the UID and
          GID are,  see the Lexicon entries for  sseettuuiidd and sseettggiidd. _a_c_c_e_s_s,
          _m_o_d_i_f_i_c_a_t_i_o_n, and _s_t_a_t_u_s _c_h_a_n_g_e_d give, respectively, the date and
          time the  file was last accessed, last modified,  or last had its
          status changed.

DDiirreeccttoorryy
     Pressing DD  invokes the DDiirreeccttoorryy command.   This displays a drop-down
     menu that  lists a  set of  sub-commands.  These sub-commands  let you
     manipulate directories; with  them, you can create a directory, remove
     a directory, change permissions, and other common tasks.  You can also
     manipulate a ``directory stack,'' which lets you jump quickly from one
     directory to another without having to retype its name.

     The following discusses each sub-command in detail:

     CChhaannggee
          This lets you change the current directory.  When you invoke this
          subcommand, vvsshh displays the following pop-up window:


              Enter destination path


          Type the full  path name of the directory you  wish to enter.  If
          this directory  does not exist,  or if you cannot  access it, vvsshh
          leaves you  in the current directory; otherwise,  it moves you to
          the requested directory.

     HHoommee This moves you to your home directory.

     UUsseerr'ss HHoommee
          This moves  you to the home directory of  another user.  When you
          invoke this sub-command, vvsshh asks you to name the user whose home
          directory you wish to enter.   To abort, press <EEsscc>. If the user
          you enter does not exist or if you do not have permission to read
          her  home directory,  vvsshh leaves  you  in the  current directory;
          otherwise, vvsshh moves you into that user's home directory.

     PPuusshh The next  three sub-commands  makes it  easy for you  to maneuver
          your way around the COHERENT file system.  The work by using what
          is called a ``directory stack''.   In effect, you can tell vvsshh to
          remember the directory you are in (this is termed ``pushing'' the
          directory  onto  the  stack); then,  when  you  have switched  to
          another directory,  you can returned to  this directory simply by
          ``popping'' this pushed directory from the directory stack.  This
          lets you  move around among directories  without having to retype
          them continually.

          The  PPuusshh  sub-command  pushes  the  current directory  onto  the
          directory stack.   When you push a  directory, vvsshh increments the
          number next  to the entry DDiirr. SSttaacckk in  the Status Window.  This
          tells you how many directories you have pushed onto the directory
          stack.

     PPoopp & ccdd
          This sub-command moves you  to the last directory you pushed onto
          the  directory  stack.   It  also  removes  that  directory  from
          directory  stack.  When  you pop a  directory from  the directory
          stack, vvsshh decrements the number  next to the entry DDiirr. SSttaacckk in
          the Status Window.  This tells you how many directories remain on
          the directory stack.

          Note that directories are  popped in the order opposite from that
          in which they were entered.  For example, if you pushed directory
          /uussrr/bbiinn/ssyyss   onto   the   directory   stack,   then   directory
          /uussrr/lliibb/mmaaiill,  then  /bbiinn,  invoking  the PPoopp  sub-command  will
          return you to  directory /bbiinn, then to /uussrr/lliibb/mmaaiill, and finally
          to directory /uussrr/iinncclluuddee/ssyyss.

     SSwwiittcchh
          This command switches the  current directory and the top entry in
          the directory stack.

     CCooppyy This copy the highlighted directory plus all of its contents into
          another directory  whose name you type into  a pop-up window.  It
          behaves much like the command ccppddiirr.

     DDeelleettee
          This deletes  the highlighted directory.   It does not  work with
          files.  If the directory has files in it, vvsshh will prompt you and
          ask if you want the directory to vanish.  If you answer `Y', then
          vvsshh removes it, files and all  -- just as if you had executed the
          command rrmm -rrff.

          vvsshh will not delete a directory that you do not own.

     RReennaammee
          This sub-command renames  the highlighted directory.  vvsshh opens a
          pop-up  window  and prompts  you  to  type the  new  name of  the
          directory.  Press <EEsscc> to abort this sub-command.  Note that you
          can rename only  directories that you own.  This sub-command does
          not work with files.

     CCrreeaattee
          This  sub-command   creates  a  new  directory   in  the  current
          directory.  vvsshh  prompts you for  the name of  the new directory,
          and then  creates it.  Note that you can  create a directory only
          if you have write permission in the current directory.

     AAcccceessss
          This  lets you  reset the  access  permission on  the highlighted
          directory.   This  is   the  directory  equivalent  of  the  FFiillee
          command's  AAcccceessss sub-command.

     OOwwnneerr
          This  lets  you  reset  the  user  and group  that  own  a  given
          directory.   This  is   the  directory  equivalent  of  the  FFiillee
          command's OOwwnneerr  sub-command.  Note that only  the superuser rroooott
          can run this command.

     RReeaadd nneeww
          This tells vvsshh to  re-read the current directory.  vvsshh copies the
          contents of  the current directory  into memory for  its own use;
          thus, if other  people manipulated the directory and its contents
          after vvsshh read its contents, what you see in the File Window will
          not reflect the true state  of affairs in that directory.  If you
          are working with a directory  that is being manipulated by one or
          more other  people, you  should issue  this command from  time to
          time, to  ensure that you  are working with an  accurate image of
          the directory's contents.

     IInnffoo This  is the  same as  the FFiillee iinnffoo  sub-command under  the FFiillee
          command, described above.

OOppttiioonnss
     Pressing  OO invokes  the OOppttiioonnss  command.   Its sub-commands  let you
     perform common  system tasks The following  discusses each sub-command
     in detail:

     SShheellll
          This command  invokes an interactive  shell.  When you  exit from
          the  shell  (either by  typing  eexxiitt or  <ccttrrll-DD>),  you will  be
          returned to vvsshh.

          By  default,  vvsshh invokes  the  Bourne shell  sshh;  to change  the
          default  shell,  use  the  SShheellll  sub-command under  the  IInnssttaallll
          command, which is described below.

     LLoocckk tteerrmmiinnaall
          This command  locks your terminal.  When  the terminal is locked,
          no command can entered into it; this lets you walk away from your
          terminal briefly without worrying whether anyone (e.g., your cat)
          will do anything untoward under your login.  The terminal remains
          locked until you retype the secret password that you entered when
          you invoked this sub-command

          When you  invoke this sub-command,  a pop-up window  appears with
          the following:

              Lock Enter Password

          vvsshh prints  a `#' to echo  each character that you  type.  If you
          wish to  abort the LLoocckk  sub-command, press <EEsscc>.  When you have
          finished  entering your  password, press  <EEnntteerr>. When  you have
          entered the password, the following window appears:

              This Terminal is locked!

              Enter Password to unlock
              or hit return to logoff

          Type  the password  to return  to vvsshh. If  you (or  someone else)
          presses <EEnntteerr>, you will be logged out of COHERENT.

     MMeessssaaggeess
          This sub-command lets  you receive or ignore messages.  A message
          can be sent to your  terminal by another user or another process;
          for example,  the mmaaiill command  may send a prompt  to your screen
          when new mail is received.

          When you invoke this sub-command, vvsshh displays the following pop-
          up window:


              Do you want to receive messages ?

                     Yes         No


          Use the -> and <- keys  to select the option you want, then press
          <EEnntteerr>. When you  change your message status, the information in
          the  Status  Window  changes.  For  example,  when  you turn  off
          messaging,  the following  appears at  the  bottom of  the Status
          Window:

              You can't get messages

          For information on  how COHERENT sends messages to your terminal,
          see the Lexicon entry for  mmeessgg. Also, see the description of the
          Status Window, below.

     OOnnlliinnee mmaannuuaall
          This lets you select  an entry from the COHERENT system's on-line
          manual pages.  When you invoke this sub-command, vvsshh displays the
          following pop-up window:

              Enter topic, chapter is optional :

              Topic:

              Chapter:

          Type  the title  of  the Lexicon  entry that  interests you;  for
          example, to see the Lexicon  entry for the command vvsshh, enter vvsshh
          in the TTooppiicc slot, then  type <EEnntteerr>. Do not enter anything into
          the CChhaapptteerr  slot; this  does not  apply to the  COHERENT system.
          You will  see on your screen  the Lexicon entry that  you are now
          reading.   If you  change your  mind, press  <EEsscc> to  abort this
          command.

          Note that  if you did not install or  uncompress the manual pages
          when you  installed your  COHERENT system, this  sub-command will
          not work.  For more information on the COHERENT manual pages, see
          the Lexicon entries for the commands hheellpp and mmaann.

IInnssttaallll
     Pressing  II invokes  the IInnssttaallll  command.   Its sub-commands  let you
     modify some  of vvsshh's  default behaviors;  in particular, it  lets you
     program your  function keys to execute some tasks  you select with one
     keystroke.  The following discusses each sub-command in detail:

     DDiissppllaayy
          This  command lets  you  customize appearance  of  vvsshh. When  you
          invoke  this  sub-command,  vvsshh  displays  the  following  pop-up
          window:

              Display Attributes

              Menubar
              Menu color
              Menu attribute
              Dialog box

          The entry  MMeennuubbaarr lets you select the  display attribute for the
          menu bar, which can be one of bboolldd, uunnddeerrlliinnee, or rreevveerrssee.

          The entry  MMeennuu ccoolloorr lets you  set the menu color,  which can be
          either nnoorrmmaall  or rreevveerrssee. (This may vary,  depending on the type
          of terminal you are using.)

          The entry  MMeennuu aattttrriibbuuttee lets you set  the display attribute for
          pulldown menus,  which can  be one  of bboolldd, uunnddeerrlliinnee,  bboolldd, or
          nnoorrmmaall.

          Finally, the entry DDiiaalloogg  bbooxx lets you set the display attribute
          for dialogue boxes, which can be one of bboolldd, uunnddeerrlliinnee, or bbootthh.

          The best  way to see what  these commands do is  to try them out.
          As  mentioned  above,  the behavior  may  change  from device  to
          device, depending upon the type of terminal that you are using.

     FFuunnccttiioonn kkeeyyss
          This lets  you ``program'' up  to nine function keys,  so you can
          invoke selected commands easily.  Each user can have her own list
          of programmed function keys.

          When  you invoke  this  sub-command, vvsshh  displays the  following
          drop-down menu:

              Function keys

              Function key 1
              Function key 2
                 ...
              Function key 9

          Press 1  through 9 to program the  corresponding function key (or
          use the |^ and |v keys  to move  then highlighting bar,  then press
          <EEnntteerr>). vvsshh  asks you to  enter the label for  the function key
          and the  command you want that function key  to invoke.  When you
          have  finished, the  new label will  appear in  the corresponding
          function-key tag at the bottom  of the screen; and when you press
          that function key, vvsshh executes the corresponding command.

          For  example, to  make the  game cchhaassee one  of your  function key
          entries, do  the following: First, press II  to invoke the IInnssttaallll
          command.  The  press kk to  invoke the FFuunnccttiioonn  kkeeyyss sub-command.
          When  the  function-keys drop-down  menu  appears,  press 22,  for
          function-key FF22.   When the label pop-window  appears, type cchhaassee
          into the first slot, which holds the label Press <TTaabb> to jump to
          the second  slot, which holds  the command to  execute, then type
          /uussrr/ggaammeess/cchhaassee. When you have done typing, press <EEnntteerr>.

          As you  can see, the  FF22 stub at  the bottom of  the screen shows
          cchhaassee; and  when you press  FF22, vvsshh launches you  into cchhaassee. You
          can program the first nine function keys to work in the same way.

          You can embed the token %FF as a placeholder for the current file.
          For example,  to count the  number of lines in  the current file,
          put the following command into a function-key definition:

              wc -l %F

          Because some computers still do not have function keys (e.g., the
          NeXT  machine),  you can  also  use the  number  keys to  execute
          commands installed on the function keys.

          By the way, for information on the highly amusing game cchhaassee, see
          its entry in the Lexicon.

     SShheellll
          This sub-command  lets you  set the  default shell that  vvsshh runs
          when you  invoke its  SShheellll command.   When you invoke  this sub-
          command, vvsshh displays the following pop-up menu:

              Enter command to run a shell
              (Coherent default is '/bin/sh')

                  /bin/sh

          Type the  shell that  you want,  either /bbiinn/sshh or  /bbiinn/kksshh, and
          press <EEnntteerr>.  (You can enter  another program if  you like, but
          you may  get some strange results if you  do.) For information on
          each shell, see its entry in the Lexicon.

     EEddiittoorr
          This lets you set the editor that vvsshh invokes when you select the
          EEddiitt  sub-command under  the FFiillee command.   When you  invoke the
          EEddiittoorr sub-command, vvsshh displays the following pop-up window:

              Enter command to run an editor
              (Coherent default is 'vi')

                  vi

          Type the editor  that you want, one of eedd,  mmee, or vvii; then press
          <EEnntteerr>. For  information on  each editor,  see its entry  in the
          Lexicon.

     PPrriinntt ssppoooolleerr
          This lets  you set the  spooler that vvsshh invokes  when you select
          the PPrriinntt  sub-command under the  FFiillee command.  When  you invoke
          the PPrriinntt ssppoooolleerr  sub-command, vvsshh displays the following pop-up
          window:

              Enter command to run a print-spooler
              (Coherent default is 'lpr -B')

                  lpr -B

          Enter the  spooler that  you want.   For more information  on the
          spooling commands available under COHERENT, see the Lexicon entry
          pprriinntteerr.

          Beginning with release 2.7 of vvsshh, this feature works with pipes.
          vvsshh understands  that the token  %FF represents the  current file.
          For  example, if  you have  a PostScript  printer, you  will want
          every file  to be processed by the command  pprrppss before you print
          it.  Thus, enter the command:

              prps %F | hpr -B

          This  tells vvsshh  to filter  each file through  pprrppss and  pipe the
          output to the laser-printer spooler hhpprr.

          Some of  this functionality may  not be necessary  under COHERENT
          release 4.1, which implements the System-V llpp print spooler.  See
          the Lexicon article pprriinntteerr for details.

     FFiillee vviieewweerr
          This lets you set the viewer that vvsshh invokes when you select the
          VViieeww  sub-command under  the FFiillee command.   When you  invoke the
          FFiillee  vviieewweerr  sub-command,  vvsshh  displays  the  following  pop-up
          window:

              Enter command to run a file view utility
              (Coherent default is 'more')

                  more

          Enter one of mmoorree or  ssccaatt. For information on how these commands
          differ, see their entries in the Lexicon.

CCoommmmaanndd
     The command  CCoommmmaanndd lets  you send a  command directly to  a COHERENT
     shell.   This  lets  you  invoke  commands  that  ordinarily  are  not
     available through vvsshh.

Suppose, for example, that you decided  you wanted to play a session of the
game tteettrriiss,  and that you  have not yet  programmed tteettrriiss as  one of your
function keys.   Press CC to invoke  CCoommmmaanndd. vvsshh moves the  cursor moves to
the bottom  of the screen,  and erases the  row of boxes  that describe the
function  keys.  You  can  now type  the  command you  want,  in this  case
/uussrr/ggaammeess/tteettrriiss. To  run the command, press <EEnntteerr>;  to abort entering a
command and return to vvsshh, type <EEsscc>.

When you  press <EEnntteerr>,  vvsshh runs  the command you  typed.  When  you have
finished playing tteettrriiss and have exited  from it, vvsshh clears the screen and
displays the message:

    Hit any key to continue ...

When you  press a key,  vvsshh redraws itself  on your screen  and returns the
cursor to the File Window.

(By the way, the COHERENT version of tteettrriiss is available as part of COHware
volumes 2  and 3.   For information on  obtaining COHware, see  the release
notes that came with your copy of COHERENT.)

CCoommmmaanndd  also remembers  the last  40  commands that  you have  issued.  To
invoke a command that you previous issued through CCoommmmaanndd, press the |^ key.
The  last command  you issued  will  appear in  the command  slot.  If  you
continue to press the |^ key, others  commands appear, in reverse order from
when you  issued them.  If you  overshoot the command that  you want to re-
run, press the |v  key  to walk  back  down the  list  of previously  issued
commands.  When  you find  the previously issued  command that you  wish to
rerun, just press <EEnntteerr> and vvsshh runs it again.

Pressing <HHoommee> moves to the first  command in the command list -- that is,
the command you issued first.  Pressing  <EEnndd> moves to the last command in
the list  -- that is, the  command you issued most  recently.  You can also
edit a previously issued  command.  The following gives lists the available
editing commands:

     <-        Move the cursor one character to the left
     ->        Move the cursor one character to the right
     <ddeell>     Delete the character to the left
     <bbaacckkssppaaccee>Delete the character to the left
     <ccttrrll-DD>  Delete the character over the cursor
     <ccttrrll-PP>  Go to last character of the command
     <ccttrrll-NN>  Go to first character of the command

Finally,  if you  embed the  token  %FF in  a command,  vvsshh substitutes  the
currently highlighted file for it.

RReeffrreesshh
     The command RReeffrreesshh redraws the  screen.  It does no other work.  This
     is  helpful if  your screen  has become jumbled  or scrambled  for any
     reason -- such as a message  being written onto your screen by another
     user.

To invoke  this command, type RR.  vvsshh pauses very briefly,  then the screen
flickers as vvsshh  redraws.  If the screen had been  confused for any reason,
invoking this command should restore to its proper state.

EExxiitt The command  EExxiitt exits you  from vvsshh. To  exit from vvsshh,  press EE. In
     response, vvsshh pops the following window onto your screen:

         Do you really want to quit?

                Yes       No

     The  window is  in reverse  video,  for emphasis.   The option  YYeess is
     underlined, to show  that it is the default choice.   If you really do
     wish to exit, press <EEnntteerr>; and vvsshh returns to the COHERENT shell.

If you  changed your mind, however,  and do not wish to  exit, press the ->
key to change  the option; this will shift the  underlining from option YYeess
to option  NNoo. Pressing enter at  this point selects the  NNoo option; vvsshh in
response removes the  pop-up window from the screen and  returns you to the
File Window.

If you  change your mind  again, though, and  really do wish  to exit, then
press the <- key.  The underlining  shifts back to the YYeess option; and when
you press <EEnntteerr> you exit from vvsshh and return to the shell.

_S_t_a_t_u_s _W_i_n_d_o_w
The Status Window is the lower window on the right side of the screen.  The
cursor  never enters  this window;  rather,  this window  gives information
about how  vvsshh is functioning, and  in particular about the  files that are
currently displayed in the File Window.

The Status Window appears as follows:

    Files:
    File size:
    Files tagged:
    File size ta.:
    Dir. Stack:
    Mail:
    _m_a_i_l_b_o_x
    You can get messages

The following discusses each entry in detail.

FFiilleess
     This gives the number of files  being shown in File Window.  Note that
     this is  all files that can  be scrolled through that  window, _n_o_t the
     files that are shown in that window at this moment.

FFiillee ssiizzee
     This gives the total size, in bytes, of all files available through in
     the File Window.

FFiilleess ttaaggggeedd
     This  gives  the  number of  files  that  you  have  tagged.  See  the
     description of the FFiillee command, above, for details.

FFiillee ssiizzee ttaa.
     This gives the total size of all tagged files.  See the description of
     the FFiillee command, above, for details.

DDiirr. SSttaacckk
     This  gives the  number of  directories that  currently reside  on the
     directory stack.   As noted above,  you can ``push''  directories onto
     the directory stack or ``pop'' them from it.  By doing so, you have an
     easy way  to jump about from one directory  to another, without having
     to type directory names  repeatedly.  See the above description of the
     DDiirreeccttoorryy command for more details.

     You can have a maximum of ten directories on the stack.

MMaaiill This line indicates whether you have  mail waiting to be read.  If you
     don't, this line will say

         None

     whereas if you do, the line will say

         Avail

     and flash at you.  If new mail arrives, vvsshh flashes

         New

     in that slot.

_m_a_i_l_b_o_x
     This line  gives the name  of your mailbox  -- that is,  the file that
     mmaaiill reads.

_m_e_s_s_a_g_e_s
     This  indicates whether  your terminal can  receive messages  -- e.g.,
     whether a  message will  pop up  on your screen  if someone  wishes to
     communicate with  you via the wwrriittee command.   For more information on
     how to  change the  message status of  your terminal, see  the Lexicon
     entry for the command mmeessgg.

_F_u_n_c_t_i_o_n _K_e_y_s
The bottom of the screen show nine small boxes in reverse video.  These are
labelled FF11 through FF99. If you  have defined the key using the FFuunnccttiioonn KKeeyy
command, vvsshh displays the box the tag that you gave that key.

For example, in  our above example we set key  FF11 to run the command ppss -aa,
and gave  it the tag ppss.  At the bottom of the screen,  the box labelled FF11
should show ppss.

For more details, see the description of the FFuunnccttiioonn KKeeyy command, above.

_C_o_n_f_i_g_u_r_a_t_i_o_n _F_i_l_e
vvsshh reads  the file $HHOOMMEE/.uuddtt to  configure itself.  If you  wish, you can
use a text editor to edit this file, and so modify the behavior of vvsshh.

A typical .uuddtt file reads as follows:

    cwd=/v/fwb
    shell=/bin/ksh
    editor=me
    print-spooler=hpr -B
    view=more
    make=make
    me-disp-attr=reverse
    pd-disp-color=normal
    pd-disp-attr=bold
    se-disp-attr=underline
    pfkey1=  mail mail
    pfkey9=tetris /usr/games/tetris
    cmd=
        tetris
        tetris
        echo foo

ccwwdd  points to  the current  working directory, that  is, the  directory in
which you have last worked with vvsshh. vvsshh returns you to that directory when
you next invoke the shell.

sshheellll, eeddiittoorr, pprriinntt-ssppoooolleerr, vviieeww, and mmaakkee give, respectively, the shell,
editor, print-spooler, viewer, and  make utility that you selected with the
IInnssttaallll command.   If you change one  of these values, the  behavior of vvsshh
changes to reflect the change.  For example, if you change the line

    editor=me

to

    editor=ed

then vvsshh  will invoke eedd the  next time you request  the FFiillee command' EEddiitt
sub-command.

mmee-ddiisspp-aattttrr,  ppdd-ddiisspp-ccoolloorr,  ppdd-ddiisspp-aattttrr,   and  ssee-ddiisspp-aattttrr  give  the
display features for, respectively, the  menu bar, the menu color, the menu
attribute, and the dialogue box.

The lines ppffkkeeyy11 through ppffkkeeyy99 set the behavior of the function keys.  The
first seven characters after the equal  sign `=' give the text that appears
in stub  at the  bottom of  the screen.  Everything  after the  first seven
characters  describes  the  command to  be  executed  when  you press  that
function key.

The  text that  follows the  line  ccmmdd= lists  the commands  that you  have
executed with the command CCoommmmaanndd.

_C_o_m_m_a_n_d-_l_i_n_e _O_p_t_i_o_n_s
vvsshh recognizes the following options:

-dd Enter vvsshh  and begin in the current directory.   Normally, vvsshh begins in
   the last directory used in your last vvsshh session.

-ee Do  not  use  the  graphic  character  set.  This  option  coarsens  the
   appearance  of vvsshh,  but gives  it  a fighting  chance to  run on  cheap
   terminals that do not implement  the full alternate character set of the
   DEC VT-100 terminal.

-ii Restrict the  user's ability to run the IInnssttaallll  command.  In this mode,
   vvsshh can be  used as a restricted shell, especially  if it is embedded in
   /eettcc/ppaasssswwdd.

-rr Restrict the shell.  This option turns off the following:

       -> The command CCoommmmaanndd
       -> No interactive shell can be called from the OOppttiioonnss menu
       -> Most options from the DDiirreeccttoorryy menu
       -> Most options from the IInnssttaallll menu

   This lets the system administrator restrict the activity of users fairly
   strongly.

-tt This command-line option tells  vvsshh to assume the entire VT-100 mapping.
   This is  useful with terminals whose  system definitions are incomplete,
   or the alternate character set is ignored.

_F_i_l_e_s
$HHOOMMEE/.uuddtt -- Configuration file

_S_e_e _A_l_s_o
ccoommmmaannddss, kksshh, sshh, tteerrmmiinnffoo, ttttyyttyyppee

_N_o_t_e_s
vvsshh was written by Udo Munk.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.