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

FreeBSD Manual Pages

  
 
  

home | help
TTYS(5)			      File Formats Manual		       TTYS(5)

NAME
       ttys -- terminal	initialization information

DESCRIPTION
       The  file ttys contains information that	is used	by various routines to
       initialize and control the use of terminal special files.   Pseudo-ter-
       minals  (see pts(4)) are	not listed.  This information is read with the
       getttyent(3) library routines.  There is	one line in the	ttys file  per
       special	device	file.	Fields	are  separated	by tabs	and/or spaces.
       Fields comprised	of more	than one word should  be  enclosed  in	double
       quotes  (``"'').	  Blank	 lines and comments may	appear anywhere	in the
       file; comments are delimited by hash marks (``#'') and new lines.   Any
       unspecified fields will default to null.

       The first field is normally the name of the terminal special file as it
       is found	in /dev.  However, it can be any arbitrary string when the as-
       sociated	command	is not related to a tty.

       The  second  field  of the file is the command to execute for the line,
       usually getty(8), which initializes and opens  the  line,  setting  the
       speed,  waiting for a user name and executing the login(1) program.  It
       can be, however,	any desired command, for example the start  up	for  a
       window  system  terminal	emulator or some other daemon process, and can
       contain multiple	words if quoted.

       The third field is the type of terminal usually connected to  that  tty
       line, normally the one found in the termcap(5) data base	file.  The en-
       vironment  variable  TERM  is  initialized  with	 the  value  by	either
       getty(8)	or login(1).

       The  remaining  fields  set  flags  in	the   ty_status	  entry	  (see
       getttyent(3)),  specify a window	system process that init(8) will main-
       tain for	the terminal  line,  optionally	 determine  the	 type  of  tty
       (whether	 dialin,  network  or  otherwise), or specify a	tty group name
       that allows the login class database (see login.conf(5))	 to  refer  to
       many  ttys as a group, to selectively allow or deny access or enable or
       disable accounting facilities for ttys as a group.

       As flag values, the strings ``on'' and  ``off''	specify	 that  init(8)
       should  (should	not)  execute  the  command given in the second	field.
       ``onifconsole'' will cause this line to be enabled if and only if it is
       an active kernel	console	device (it is equivalent  to  ``on''  in  this
       case).	The  flag ``onifexists'' will cause this line to be enabled if
       and only	if the name exists.  If	the name starts	with a ``/'', it  will
       be  considered  an  absolute  path.  Otherwise, it is considered	a path
       relative	to /dev.  The flag ``secure'' (if the console is enabled)  al-
       lows  users  with  a  uid of 0 to login on this line.  The flag ``inse-
       cure'' as well as the absence of	the ``secure''	flag  disallows	 users
       with  uid  of  0	 to login on this line.	 The flag ``dialup'' indicates
       that a tty entry	describes a dialin line, and ``network''  is  obsolete
       and does	nothing.  Either of these strings may also be specified	in the
       terminal	 type  field.	The  string  ``window=''  may be followed by a
       quoted command string which init(8) will	execute	 before	 starting  the
       command specified by the	second field.

       The  string ``group='' may be followed by a group name comprised	of al-
       phanumeric characters that can be used by  login.conf(5)	 to  refer  to
       many  tty  lines	 as a group to enable or disable access	and accounting
       facilities.  If no group	is specified, then the tty becomes a member of
       the group "none".  For backwards	compatibility, the  ``group=''	should
       appear last on the line,	immediately before the optional	comment.

       Both  the  second field and any command specified with ``window='' will
       be split	into words and executed	using execve(2).  Words	are  separated
       by  any	combinations  of tabs and spaces.  Arguments containing	white-
       space should be enclosed	in single quotes (').	Note  that  no	shell-
       style globbing or other variable	substitution occurs.

FILES
       /etc/ttys

EXAMPLES
       # root login on console at 1200 baud
       console "/usr/libexec/getty std.1200"   vt100   on secure
       # dialup	at 1200	baud, no root logins
       ttyd0   "/usr/libexec/getty d1200"      dialup  on group=dialup # 555-1234
       # Mike's	terminal: hp2621
       ttyh0   "/usr/libexec/getty std.9600"   hp2621-nl       on group=dialup # 457 Evans
       # John's	terminal: vt100
       ttyh1   "/usr/libexec/getty std.9600"   vt100   on group=dialup	       # 459 Evans
       # terminal emulate/window system
       ttyv0   "/usr/local/bin/xterm -display :0"      xterm   on window="/usr/local/bin/X :0"

SEE ALSO
       login(1),   getttyent(3),   nmdm(4),   uart(4),	ucom(4),  gettytab(5),
       login.conf(5),	termcap(5),   getty(8),	  init(8),   pam_securetty(8),
       pstat(8)

HISTORY
       A ttys file appeared in Version 6 AT&T UNIX.

FreeBSD	15.0		       October 26, 2023			       TTYS(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ttys&sektion=5&manpath=FreeBSD+15.0-RELEASE>

home | help