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 ini-
     tialize  and  control  the use of terminal special files.	Pseudo-terminals
     (see pts(4)) are not listed.  This  information  is  read	with  the  gett-
     tyent(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 associated
     command is not related to a tty.

     The second field of the file is the command to execute for the  line,  usu-
     ally  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 environment
     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 maintain for the terminal
     line, optionally determine the type of tty (whether dialin, network or oth-
     erwise),  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.  ``onifcon-
     sole'' 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 ``se-
     cure'' (if the console is enabled) allows users with a uid of 0 to login on
     this  line.  The flag ``insecure'' as well as the absence of the ``secure''
     flag disallows users with uid of 0 to login on this line.	The  flag  ``di-
     alup''  indicates that a tty entry describes a dialin line, and ``network''
     is obsolete and does nothing.  Either of these strings may also  be  speci-
     fied in the terminal type field.  The string ``window='' may be followed by
     a quoted command string which init(8) will execute before starting the com-
     mand specified by the second field.

     The string ``group='' may be followed by a group name comprised of alphanu-
     meric  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 whitespace 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),   lo-
     gin.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 ports 15.quarterly	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.1-RELEASE+and+Ports.quarterly>

home | help