vt man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

VT(7I)									VT(7I)

NAME
       vt - Solaris virtual console interface

SYNOPSIS
       #include <sys/kd.h>

       #include <sys/vt.h>

DESCRIPTION
       The virtual console device driver — also known as virtual terminal (VT)
       — is a layer of management functions that provides facilities  to  sup‐
       port  and  switch  between  multiple  screen faces on a single physical
       device.

       VT's are accessed in the same way as other devices. The open(2)	system
       call  is	 used  to  open	 the virtual console and read(2), write(2) and
       ioctl(2) are used in the normal way and support	the  functionality  of
       the  underlying	device.	  In  addition,	 some virtual console-specific
       ioctls are provided and described below.

       The VT provides a link between different screen faces and  the  device.
       The  active virtual console corresponds to the currently visible screen
       face.  Device input is directed to the active console and  any  device-
       specific	 modes	that change on a per virtual terminal basis are set to
       the characteristics associated with the active console.

       You manage VT's by intercepting	keyboard  sequences  ("hot  key").  To
       maintain	 consistency  with  Xserver, the virtual console device driver
       supports the Ctrl, Alt, F# and arrow keys.

       The sequence AltL + F# (where AltL represents the Alt key and F# repre‐
       sents  function	keys  1	 through 12) is used to select virtual console
       1-12.  The sequence AltGraph + F# (where AltGraph represents the	 right
       Alt  key	 and  F#  represent function keys 1 through 12) is for virtual
       console 13-24.  Alt + F1 chooses the system console (also known as vir‐
       tual console 1).	 The sequence Alt + -> (where ">" represents the right
       directional arrow) selects the next  VT in a circular ring fashion  and
       Alt  + <- ( where "<" represents the left directional arrow) changes to
       the previous console in a circular   fashion.  The  sequence  Alt  +  ^
       (where  "^"  represents	the up directional arrow) is for the last used
       console.

       Virtual console	switching  can	be  done  automatically	 (VT_AUTO)  on
       receipt	of a ``hot-key'' or by the process owning the VT (VT_PROCESS).
       When performed automatically, the process associated with  the  virtual
       console	is  unaware of the switch. Saving and restoring the device are
       handled by the underlying device driver and the	virtual	 console  man‐
       ager.  Note that automatic switching is the default mode.

       When  a ``hot-key'' is sent when in process-controlled switch mode, the
       process owning the VT is sent a signal (relsig) it has specified to the
       virtual	console	 manager  (see	signal(3C))  requesting the process to
       release the physical device. At this point, the virtual console manager
       awaits the VT_RELDISP ioctl from the process. If the process refuses to
       release the device (meaning the switch does not occur), it  performs  a
       VT_RELDISP  ioctl with an argument of 0 (zero).	If the process desires
       to release the device, it saves the device  state  (keyboard,  display,
       and I/O registers) and then performs a VT_RELDISP with an argument of 1
       to complete the switch.

       A ring of VT's can contain intermixed auto  mode	 and  process  control
       mode  consoles.	When an auto mode process becomes active, the underly‐
       ing device driver and the virtual console manager handle the  restoring
       of  the	device.	  Process  control mode processes are sent a specified
       signal (acqsig) when they become the active console.  The process  then
       restores	 the  device  state (keyboard, display, and I/O registers) and
       performs VT_RELDISP ioctl with an argument of VT_ACKACQ to complete the
       switching protocol.

       The  modify-operations  ioctls  (VT_SETMODE, VT_RELDISP, VT_WAITACTIVE,
       KDSETMODE) check if the VT  is  the  controlling	 tty  of  the  calling
       process.	 If  not,  the sys_devices privilege is enforced.  VT_ACTIVATE
       requires the sys_devices privilege. Note that there is  no  controlling
       tty and privilege check for query/view operations.

IOCTLS
       The following ioctls apply to devices that support virtual consoles:

       VT_ENABLED

	   Queries  to	determine if VT functionality is available on the sys‐
	   tem. The argument is a pointer to an integer. If  VT	 functionality
	   is available, the integer is 1, otherwise it is 0.

       VT_OPENQRY

	   Finds an available VT. The argument is a pointer to an integer. The
	   integer is filled in with the number of the first available console
	   that	 no  other  process  has  open	(and hence, is available to be
	   opened).  If there are no available VT's, -1 is filled in.

       VT_GETMODE

	   Determines the VT's current mode, either VT_AUTO or VT_PROCESS. The
	   argument  is	 the address of the following structure, as defined in
	   <sys/vt.h>

	     struct vt_mode {
			char mode;  /* VT  mode */
			char waitv; /* not used */
			short relsig;/* signal to use for release request */
			short acqsig;/* signal to use for display acquired */
			short frsig;/* not used */
		      }

		      /* Virtual console Modes */
		      #define	 VT_AUTO	0 /* automatic VT switching   */
		      #define	 VT_PROCESS	1 /* process controls switching */

		      The structure will be filled in with the current value
		      for each field.

       VT_SETMODE

	   Sets the VT mode. The argument is a pointer to a vt_mode  structure
	   as  defined	above.	The  structure	should	be  filled in with the
	   desired mode.  If process-control mode is  specified,  the  signals
	   used	 to  communicate with the process should be specified.	If any
	   signals are not specified (value is zero), the  signal  default  is
	   SIGUSR1 (for relsig and acqsig).

       VT_RELDISP

	   Tells  the  VT  manager  if	the  process  releases	(or refuses to
	   release) the	 display.  An  argument	 of  1	indicates  the	VT  is
	   released.  An  argument  of	0  indicates  refusal  to release. The
	   VT_ACKACQ argument indicates if acquisition of the VT has been com‐
	   pleted.

       VT_ACTIVATE

	   Makes  the  VT specified in the argument the active VT (in the same
	   manner as if a hotkey initiated the switch).	 If the	 specified  VT
	   is  not  open or does not exist, the call fails and errno is set to
	   ENXIO.

       VT_WAITACTIVE

	   If the specified VT is currently active, this call returns  immedi‐
	   ately.  Otherwise, it sleeps until the specified VT becomes active,
	   at which point it returns.

       VT_GETSTATE

	   Obtains the active VT number and a list of open VTs.	 The  argument
	   is an address to the following structure:

	     struct vt_stat {
		      unsigned short  v_active, /* number of the active VT */
				 v_signal, /* not used */
				 v_state;  /* count of open VTs.  For every 1 in this
					       field, there is an open VT */
		      }

	   With	 VT_GETSTATE,  the  VT	manager	 first	gets the number of the
	   active VT, then determines the number of open VTs in the system and
	   sets	 a  1 for each open VT in v_state. Next, the VT manager trans‐
	   fers the information	 in  structure	vt_stat	 passed	 by  the  user
	   process.

       KDGETMODE

	   Obtains the text/graphics mode associated with the VT.

			 #define KD_TEXT	 0
			 #define KD_GRAPHICS	 1

       KDSETMODE

	   Sets the text/graphics mode to the VT.

	   KD_TEXT  indicates  that  console  text is displayed on the screen.
	   Normally KD_TEXT is combined with VT_AUTO  mode  for	 text  console
	   terminals,  so that the console text display automatically is saved
	   and restored on the hot key screen switches.

	   KD_GRAPHICS indicates that the user/application  (usually  Xserver)
	   has	direct	control	 of  the display for this VT in graphics mode.
	   Normally KD_GRAPHICS is combined with VT_PROCESS mode for  this  VT
	   indicating  direct control of the display in graphics mode. In this
	   mode, all writes to the VT using the write system call are ignored,
	   and	you  must  save	 and restore the display on the hot key screen
	   switches.

	   When the mode of the active VT is changed from KD_TEXT to KD_GRAPH‐
	   ICS	or  a  VT  of  KD_GRAPHICS mode is made active from a previous
	   active VT of KD_TEXT mode, the virtual console manager initiates  a
	   KDSETMODE  ioctl with KD_GRAPHICS as the argument to the underlying
	   console frame buffer device indicating that current display is run‐
	   ning into graphics mode.

	   When	 the  mode  of	the  active  VT is changed from KD_GRAPHICS to
	   KD_TEXT or a VT of KD_TEXT mode is actived from a  previous	active
	   VT  of  KD_GRAPHICS	mode,  the virtual console manager initiates a
	   KDSETMODE ioctl with KD_TEXT as the argument to the underlying con‐
	   sole frame buffer device indicating that current display is running
	   into console text mode.

FILES
       /dev/vt/#
		     VT devices.

SEE ALSO
       ioctl(2), signal(3C), wscons(7D)

NOTES
       By default, there are only five virtual console instance login  prompts
       running	on  /dev/vt/# (where "#" represents 2 to 6) in addition to the
       system console running on /dev/console. Normally Xorg uses the  seventh
       virtual	console (/dev/vt/7.) To switch from consoles to Xserver (which
       normally picks up the first available virtual console), use [ Ctrl +  ]
       Alt + F7 .

		# svcs	| grep login
		online	       17:49:11 svc:/system/console-login:default
		online	       17:49:11 svc:/system/console-login:vt2
		online	       17:49:11 svc:/system/console-login:vt3
		online	       17:49:11 svc:/system/console-login:vt4
		online	       17:49:11 svc:/system/console-login:vt5
		online	       17:49:11 svc:/system/console-login:vt6

		console-login:default is for the system console, others for
		virtual consoles.

		You can modify properties/disable/enable and remove/add
		virtual consoles using smf(5):

		# svccfg -s console-login add vt8
		# svccfg -s console-login:vt8 setprop ttymon/device=astring: "/dev/vt/8"
		# svcadm enable console-login:vt8

				 Sep 22, 2008				VT(7I)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net