Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
CONSOLE(1)			   conserver			    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:  [-7DEknUv]  [-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	grant-
       ing  interactive	 access	 to a console (on a non-trusted	system), since
       such a session may provide single-user access.  If the  server's	 auto-
       completion  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	infor-
       mation and exits.

       Console	knows  only of a primary conserver host	(see the -M option be-
       low), 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  re-
       quired  (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 rep-
		  resented by esc.  Any	of the forms output by cat(1)'s	-v op-
		  tion 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 oth-
		  erwise, 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.

       -k	  Abort	the connection if the console is not in	the `up' state
		  immediately upon connecting.

       -luser	  Set  the login name used for authentication to user.	By de-
		  fault, 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	(typi-
		  cally	 ``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  num-
		  ber  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 con-
		  sole).

       -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  con-
		  nection  but	fall back to a non-encrypted connection	if the
		  server doesn't support encryption.  If the encryption	 hand-
		  shake	 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 pro-
		  gram and then	exit.

       -w	  Show a list of all who are currently connected to  consoles,
		  including the	hostnames where	the console connections	origi-
		  nate	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  re-
		  sult.	 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 equiva-
			      lent 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 con-
       sole 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	manag-
	      ing 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  per-
	      missions	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' time-
	      stamp  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-sep-
	      arated 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 configura-
       tion  file (console.cf),	then the per-user configuration	file (.consol-
       erc), and then applies command-line arguments.  Each configuration  lo-
       cation can override the previous.  The same happens when	parsing	an in-
       dividual	 file -	the later entries always override the earlier entries.
       Because of that,	you should put ``global'' defaults first and more spe-
       cific defaults second.

       The  configuration  file	 is  read  using  the  same  parser  as	  con-
       server.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	deter-
		     mined).   If  the null string (``""'') is used, the play-
		     back 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	deter-
		     mined).   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  com-
		     mand-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 re-
		     ceived (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
		     `^':

			    \a	  alert
			    \b	  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 dic-
		     tates 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 charac-
		     ters on the left.	f must be `s'.	For  numeric  replace-
		     ments,  the value will be formatted to at least n charac-
		     ters, 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  up-
		     percase  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 de-
		     tachsubst value.  See the attach option for  an  explana-
		     tion  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 over-
       ride 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  se-
       quence  through	the  connection	one must redefine the outer escape se-
       quence, 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 es-
		      cape 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 re-
       sults.  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 in-
       formation 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)

conserver-8.2.7			  2022/07/07			    CONSOLE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=console&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help