console(1)

NAME

   console - console server client program

SYNOPSIS

   console [generic-args] [-aAfFsS] [-e esc] console
   console [generic-args] [-iIuwWx] [console]
   console [generic-args] [-hPqQrRV] [-[bB] message] [-d [user][@console]]
   [-t [user][@console] message] [-[zZ] cmd]

   generic-args: [-7DEnUv] [-c cred] [-C config] [-M master] [-p port] [-l
   user]

DESCRIPTION

   Console  is  used  to  manipulate console terminals remotely or to poll
   running conserver(8) daemons for status information.

   In the first form  above,  console  asks  the  user's  password  before
   granting  interactive  access  to  a console (on a non-trusted system),
   since such a session may provide single-user access.  If  the  server's
   autocompletion  feature is enabled, only as much of the console name as
   is required to identify it uniquely to the server is required.

   For  non-interactive  options,  console  outputs  only  the   requested
   information and exits.

   Console  knows  only  of  a  primary  conserver host (see the -M option
   below), to which it initially connects.  In a multi-server environment,
   the  primary server may refer the client to a different server handling
   the requested console, or it will provide a  list  of  all  servers  if
   required (as when console is invoked with the -r option).  Console then
   opens connections to the appropriate server(s).  It  is  not  necessary
   for the user of console to know which server manages which consoles, as
   long as console knows a valid primary server and all available consoles
   are listed in the primary server's configuration file.

OPTIONS

   Options  may  be given as separate arguments (e.g., -v -w) or clustered
   (e.g., -vw).  Options and their arguments may be separated by  optional
   white  space.   Option  arguments containing spaces or other characters
   special to the shell must be quoted.

   -7         Strip the high bit off of all data  received,  whether  from
              user input or from the server, before any processing occurs.
              Disallows escape sequence characters with the high bit set.

   -a         Access a console  with  a  two-way  (read-write)  connection
              (this  is  the  default).   The connection is dropped to spy
              mode if someone else is attached read-write.

   -bmessage  Broadcast a message to all users connected to each server.

   -Bmessage  Same as -b but just send a message to users on  the  primary
              server.

   -ccred     Load  an  SSL  certificate and key from the PEM encoded file
              cred.

   -Cconfig   Use the per-user configuration file config.

   -d         Disconnect the users specified  by  user@console.   You  may
              specify  the target as user (disconnect the user, regardless
              of what console they are attached to), @console  (disconnect
              all  users attached to console), or user@console (disconnect
              the user attached to console).

   -D         Enable debugging output.

   -eesc      Set the  initial  two-character  escape  sequence  to  those
              represented  by esc.  Any of the forms output by cat(1)'s -v
              option are accepted.  The default value is ``^Ec''.

   -E         If encryption has been built into the code (--with-openssl),
              encrypted client connections are, by default, a requirement.
              This option disables any attempt at  creating  an  encrypted
              connection.  If you'd like to use encrypted connections when
              your server  supports  it,  but  fallback  to  non-encrypted
              otherwise, the -U option is what you want.

   -f         Same as -a except it will force any existing connection into
              spy mode.

   -h         Display a brief help message.

   -i         Display status information  in  a  machine-parseable  format
              (see below for the details).

   -I         Same as -i but just acts on the primary server.

   -luser     Set  the  login  name  used  for authentication to user.  By
              default, console uses $USER if its uid  matches  the  user's
              real  uid,  or  $LOGNAME  if its uid matches the user's real
              uid, or else the name associated with the user's real uid.

   -Mmaster   The console client  program  polls  master  as  the  primary
              server,   rather  than  the  default  set  at  compile  time
              (typically ``console'').  The default master may be  changed
              at  compile time using the --with-master option.  If --with-
              uds is used to enable Unix  domain  sockets,  however,  this
              option  points  console  to  the directory which holds those
              sockets.  The default master directory  (``/tmp/conserver'')
              may be changed at compile time using the --with-uds option.

   -n         Do not read the system-wide configuration file.

   -pport     Set  the  port  to  connect  to.   This may be either a port
              number or a service name.  The default port may  be  changed
              at  compile  time  using  the  --with-port  option.   If the
              --with-uds option was used, this option is ignored.

   -P         Display the pid of the master daemon process on each server.

   -q         The console client connects to each server to  request  that
              the  server  daemon  quit (shut down).  The root password of
              the host(s) running conserver is required unless  the  local
              host  is  listed as ``trusted'' in the conserver.cf file; in
              that case, just press <return>.

   -Q         Same as -q but just acts on the primary server.

   -r         Display daemon versions.  The  console  client  connects  to
              each server to request its version information.

   -R         Same as -r but just acts on the primary server.

   -s         Request a read-only (spy mode) connection.  In this mode all
              the escape sequences (below) work, or report errors, but all
              other keyboard input is discarded.

   -t         Send  a  text  message to user@console.  You may specify the
              target as user (send to user,  regardless  of  what  console
              they  are attached to), @console (send to all users attached
              to console), or  user@console  (send  to  user  attached  to
              console).

   -u         Show  a  list  of all consoles with status (`up', `down', or
              `init') and attached  users  (user@host  if  attached  read-
              write, `<spies>' if only users in spy mode, or `<none>').

   -U         If encryption has been built into the code (--with-openssl),
              encrypted client connections are, by default, a requirement.
              This  option  allows  the  client  to  attempt  an encrypted
              connection but fall back to a  non-encrypted  connection  if
              the  server  doesn't  support encryption.  If the encryption
              handshake is failing, disabling  encryption  on  the  client
              with the -E option is probably what you want.

   -v         Be  more  verbose when building the connection(s).  Use this
              option in combination with any of `show' options (below) for
              added benefit.

   -V         Output  the  version  and  settings  of  the  console client
              program and then exit.

   -w         Show a list of all who are currently connected to  consoles,
              including   the  hostnames  where  the  console  connections
              originate and the idle times.  This  is  useful  to  see  if
              anybody  is  actively using the console system if it becomes
              necessary to shut down conserver.

   -W         Same as -w but just acts on the primary server.

   -x         Show a list of consoles and devices.

   -zcmd      Sends a command  (cmd)  to  each  server  and  displays  the
              result.  The valid commands are:

              bringup     Try to connect all consoles marked as down (this
                          is equivalent to sending the server a SIGUSR1)
              SIGUSR1     Same as bringup
              help        Displays the help message
              pid         Returns  the  pid  of  the   server   (this   is
                          equivalent to -P)
              quit        Instructs  the  server  to  shut  down  (this is
                          equivalent  to  -q  or  sending  the  server   a
                          SIGTERM)
              SIGTERM     Same as quit
              reconfig    Instructs the server to reload the configuration
                          file, then perform the actions of  reopen  (this
                          is equivalent to sending the server a SIGHUP)
              SIGHUP      Same as reconfig
              reopen      Instructs  the  server  to  reopen all logfiles,
                          then perform the actions  of  bringup  (this  is
                          equivalent to sending the server a SIGUSR2)
              SIGUSR2     Same as reopen
              version     Returns  the  version  of  the  server  (this is
                          equivalent to -V)

   -Zcmd      Same as -z but just sends cmd to the primary server.

   The -A, -F, or -S options have the  same  effect  as  their  lower-case
   variants.   In  addition,  they  each  request the last 20 lines of the
   console output after making the connection (as if ``^Ecr'' were typed).

   The -i, -u, -w, and -x options can be given a console name, which  will
   limit their output to that console.

   The  -i  option outputs status information regarding each console in 15
   colon-separated fields.

   name   The name of the console.

   hostname,pid,socket
          The hostname, pid,  and  socket  number  of  the  child  process
          managing the console.

   type   The  type  of console.  Values will be a `/' for a local device,
          `|' for a command, `!' for a remote port, `%' for a Unix  domain
          socket, and `#' for a noop console.

   console-details
          The  details regarding the console.  The values here (all comma-
          separated) depend on the type of  the  console.   Local  devices
          will  have values of the device file, baud rate/parity, and file
          descriptor for the device.  Commands will  have  values  of  the
          command,  the command's pid, the pseudo-tty, and file descriptor
          for the pseudo-tty.  Remote ports will have values of the remote
          hostname,  remote  port  number, ``raw'' or ``telnet'' protocol,
          and file descriptor for  the  socket  connection.   Unix  domain
          sockets will have the path to the socket and the file descriptor
          for the socket connection.  Noop consoles will have nothing.

   users-list
          The details of each user connected to the console.  The  details
          for each user are an `@' separated list of `w', `r', or `s' (for
          read-write, read-only, or  suspended),  username,  hostname  the
          user  is  on,  the  user's idle time, and (for `r' and `s' users
          only) ``rw'' or ``ro'' (if the user  wants  read-write  mode  or
          not).  Each user bundle is separated by commas.

   state  The  state  of  the  console.   Values  with  either  be ``up'',
          ``down'', or ``init''.

   perm   This value will either be ``rw'' or ``ro''.   It  will  only  be
          ``ro''  if  the  console  is  a  local device (`/' type) and the
          permissions are such that the server can open the file for read,
          but not write.

   logfile-details
          The  details  regarding the logging for the console.  The comma-
          separated values will be the logfile, ``log'' or  ``nolog''  (if
          logging  is  on  or  not  -  toggled  via  ``^EcL''), ``act'' or
          ``noact'' (if activity logging is  enabled  or  not  -  the  `a'
          timestamp   option),   the  timestamp  interval,  and  the  file
          descriptor of the logfile.

   break  The default break sequence used for the console.

   reup   If the console is currently down and the automatic  reconnection
          code is at work, it will have the value of ``autoup'', otherwise
          it will be ``noautoup''.

   aliases
          The console aliases are presented in a comma-separated list.

   options
          The active options for the console are  presented  in  a  comma-
          separated list.

   initcmd
          The initcmd configuration option for the console.

   idletimeout
          The idletimeout configuration option for the console.

   idlestring
          The idlestring configuration option for the console.

CONFIGURATION

   Console   reads   configuration   information   from   the  system-wide
   configuration file (console.cf), then the per-user  configuration  file
   (.consolerc),   and   then   applies   command-line   arguments.   Each
   configuration location can override the  previous.   The  same  happens
   when parsing an individual file - the later entries always override the
   earlier entries.  Because of that, you should put  ``global''  defaults
   first and more specific defaults second.

   The   configuration   file   is   read   using   the   same  parser  as
   conserver.cf(5), and you should check that manpage for parser  details.
   Console recognizes the following configuration blocks.

   config hostname|ipaddr
          Define  a configuration block for the client host named hostname
          or using the address ipaddr.  If the value of ``*'' is used, the
          configuration block will be applied to all client hosts.

          escape esc
                 Set the escape sequence (see the -e command-line flag).

          master master
                 Set the default master to master (see the -M command-line
                 flag).

          playback num|""
                 Override the playback length for the p escape command  to
                 num lines (if the server supports it).  Using the special
                 value of ``0'' will cause the client to use the number of
                 lines   of   the   current   terminal  (if  that  can  be
                 determined).  If the null string (``""'')  is  used,  the
                 playback length will not be overridden.

          port port
                 Set  the  default  port  to port (see the -p command-line
                 flag).

          replay num|""
                 Override the replay length for the r  escape  command  to
                 num lines (if the server supports it).  Using the special
                 value of ``0'' will cause the client to use the number of
                 lines   of   the   current   terminal  (if  that  can  be
                 determined).  If the null string (``""'')  is  used,  the
                 replay length will not be overridden.

          sslcacertificatefile filename
                 Load  the  valid  CA  certificates for the SSL connection
                 from the PEM encoded file.

          sslcacertificatepath directory
                 Load the valid CA certificates  for  the  SSL  connection
                 from the PEM encoded files in the directory.

          sslcredentials filename
                 Set  the  SSL  credentials  file  location  (see  the  -c
                 command-line flag).

          sslenabled yes|true|on|no|false|off
                 Set whether or not encryption is attempted  when  talking
                 to servers (see the -E command-line flag).

          sslrequired yes|true|on|no|false|off
                 Set whether or not encryption is required when talking to
                 servers (see the -U command-line flag).

          striphigh yes|true|on|no|false|off
                 Set whether or not to strip the high  bit  off  all  data
                 received (see the -7 command-line flag).

          username user
                 Set the username passed to the server to user (see the -l
                 command-line flag).

   terminal type
          Define a configuration block when using a terminal of type type.
          If  the  value of ``*'' is used, the configuration block will be
          applied to all terminal types.

          attach string|""
                 Set a string to print when  successfully  attached  to  a
                 console.   Character  substitions will be performed based
                 on the attachsubst value and occur before  interpretation
                 of  the  special  characters  below.   If the null string
                 (``""'') is used, no string will be printed.  string is a
                 simple  character  string  with  the exception of `\' and
                 `^':

                        
    alert
                        	    backspace
                        \f    form-feed
                        \n    newline
                        \r    carriage-return
                        \t    tab
                        \v    vertical-tab
                        \\    backslash
                        \^    circumflex
                        \ooo  octal representation of a  character  (where
                              ooo is one to three octal digits)
                        \c    character c
                        ^?    delete
                        ^c    control character (c is ``and''ed with 0x1f)

                 An interesting use of attach and attachsubst would be:

                        terminal xterm {
                            attach "^[]0;conserver: U@C^G";
                            attachsubst U=us,C=cs;
                        }

          attachsubst c=t[n]f[,...]|""
                 Perform  character  substitutions on the attach value.  A
                 series of replacements can be  defined  by  specifying  a
                 comma-separated  list of c=t[n]f sequences where c is any
                 printable character, t specifies the replacement value, n
                 is a field length (optional), and f is the format string.
                 t can be one of the characters below,  catagorized  as  a
                 string   replacement  or  a  numeric  replacement,  which
                 dictates the use of the n and f fields.

                        String Replacement
                        u      username
                        c      console name

                        Numeric Replacement
                        none available (yet)

                 For string replacements,  if  the  replacement  isn't  at
                 least   n  characters,  it  will  be  padded  with  space
                 characters on the left.  f  must  be  `s'.   For  numeric
                 replacements,  the  value will be formatted to at least n
                 characters, padded with 0s if n  begins  with  a  0,  and
                 space characters otherwise.  f must be either `d', `x' or
                 `X', specifying a decimal, lower-case hexadecimal, or  an
                 uppercase  hexadecimal  conversion.   If  the null string
                 (``""'') is used, no replacements will be done.

          detach string|""
                 Set a string to  print  once  detached  from  a  console.
                 Character  substitions  will  be  performed  based on the
                 detachsubst  value.   See  the  attach  option   for   an
                 explanation  of  string.   If the null string (``""'') is
                 used, no string will be printed.

          detachsubst c=t[n]f[,...]|""
                 Perform character substitutions on the detach value.  See
                 the  attachsubst  option for an explanation of the format
                 string.

   A simple configuration  to  set  a  new  default  escape  sequence  and
   override the master location would be:

          # override options for all hosts
          config * {
              master localhost;
              escape ^Ee;
          }
          # set things more specific to host1
          # note: if the entries were reversed, host1
          # would also use localhost.
          config host1 {
              master console1;
          }

ESCAPE SEQUENCES

   The  connection  can  be controlled by a two-character escape sequence,
   followed by a command.  The default escape sequence is ``control-E  c''
   (octal  005  143).  (The escape sequences are actually processed by the
   server; see the conserver(8) man page for more information.)   Commands
   are:

   .            disconnect
   ;            move to another console
   a            attach read-write if nobody already is
   b            send broadcast message to all users on this console
   c            toggle flow control (don't do this)
   d            down the current console
   ecc          change the escape sequence to the next two characters
   f            forcibly attach read-write
   g            group info
   i            information dump
   L            toggle logging on/off
   l?           list the break sequences available
   l0           send the break sequence associated with this console
   l1-9a-z      send the specific break sequence
   m            display the "message of the day"
   o            close (if open) and reopen the line (to clear errors (silo
                overflows)) and the log file
   p            playback the last 60 lines of output
   P            set number of playback lines
   r            replay the last 20 lines of output
   R            set number of replay lines
   s            switch to spy mode (read only)
   u            show status of hosts/users in this group
   v            show the version of the group server
   w            who is using this console
   x            examine this group's devices and modes
   z            suspend this connection
   !            invoke task
   |            attach a local command to the console
   ?            display list of commands
   ^M (return)  continue, ignore the escape sequence
   ^R (ctrl-R)  replay the last line only
   \ooo         send character having octal code ooo (must  specify  three
                octal digits)

   If  any  other  character  is  hit after the escape sequence, all three
   characters will be discarded.  Note that a line break or a down command
   can  only  be  sent  from  a read-write connection.  To send the escape
   sequence through the connection one  must  redefine  the  outer  escape
   sequence,  or  use  ^Ec\ooo  to  send the first escape character before
   typing the second character directly.

   In the -u output, the login ``<none>'' indicates no one is viewing that
   console,  and  the  login ``<spies>'' indicates that no one has a read-
   write connection (only read-only).

   When running a local command via ``^Ec|'', you can type  `^C'  to  send
   the  command  a  SIGHUP, `^\' to send the command a SIGKILL, and `o' to
   toggle the display of the console data.

EXAMPLES

   console -u     Outputs something like:

                  dumb      up      <none>
                  expert    up      ksb@mentor
                  tyro      up      <spies>
                  mentor    up      <none>
                  sage      up      fine@cis

                  The <none> indicates no one is viewing dumb  or  mentor,
                  the  <spies>  indicates only read-only connections exist
                  for tyro, and other login@host  entries  indicate  users
                  attached read-write to sage and expert.

   console -w     Outputs something like:

                  ksb@extra       attach  2days     expert
                  file@cis        attach  21:46     sage
                  dmr@alice       spy      0:04     tyro

                  The  third  column is the idle time of the user.  Either
                  hours:minutes or number of days is displayed.

   console -e "^[1" lv426
                  Requests a connection to the  host  ``lv426''  with  the
                  escape characters set to ``escape one''.

FILES

   The  following default file locations may be overridden at compile time
   or by the command-line options described above.  Run console -V to  see
   the defaults set at compile time.

   /etc/console.cf          system-wide configuration file
   $HOME/.consolerc         per-user configuration file

BUGS

   It  is  possible  to  create  a  loop of console connections, with ugly
   results.  Never run console from within a  console  connection  (unless
   you set each escape sequence differently).

   The  -i  output  can  produce  more than the stated number of fields of
   information if the user-provided information has embedded colons.

   I'm sure there are more, I just don't know where they are.  Please  let
   me know if you find any.

AUTHORS

   Thomas A. Fine, Ohio State Computer Science
   Kevin Braunsdorf, Purdue University Computing Center
   Bryan Stansell, conserver.com

SEE ALSO

   conserver.cf(5), conserver.passwd(5), conserver(8)



Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.


Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.


Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.