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

FreeBSD Manual Pages


home | help
SYSCONS(4)	       FreeBSD Kernel Interfaces Manual		    SYSCONS(4)

     syscons, sc -- the	console	driver

     options MAXCONS=N
     options SC_ALT_MOUSE_IMAGE
     options SC_DISABLE_DDBKEY
     options SC_DISABLE_REBOOT
     options SC_HISTORY_SIZE=N
     options SC_MOUSE_CHAR=C
     options SC_NO_CUTPASTE
     options SC_NO_FONT_LOADING
     options SC_NO_HISTORY
     options SC_NO_SYSMOUSE
     options SC_PIXEL_MODE
     options SC_NORM_ATTR=_attribute_
     options SC_NORM_REV_ATTR=_attribute_
     options SC_KERNEL_CONS_ATTR=_attribute_
     options SC_KERNEL_CONS_REV_ATTR=_attribute_
     options SC_DFLT_FONT
     makeoptions SC_DFLT_FONT=_font_name_
     device sc0	at isa?	[flags flags]

     The syscons driver	provides multiple virtual terminals.  It resembles the
     SCO color console driver.

     The syscons driver	is implemented on top of the keyboard driver
     (atkbd(4))	and the	video card driver (vga(4)) and so requires both	of
     them to be	configured in the system.

     There can be only one syscons device defined in the system.

   Virtual Terminals
     The syscons driver	provides multiple virtual terminals which appear as if
     they were separate	terminals.  One	virtual	terminal is considered current
     and exclusively occupies the screen and the keyboard; the other virtual
     terminals are placed in the background.

     In	order to use virtual terminals,	they must be individually marked
     ``on'' in /etc/ttys so that getty(8) will recognize them to be active and
     run login(1) to let the user to login to the system.  By default, only
     the first eight virtual terminals are activated in	/etc/ttys.

     You press the Alt key and a switch	key to switch between virtual termi-
     nals.  The	following table	summarizes the correspondence between the
     switch key	and the	virtual	terminal.

	   Alt-F1   ttyv0      Alt-F7	ttyv6	   Shift-Alt-F1	  ttyv10
	   Alt-F2   ttyv1      Alt-F8	ttyv7	   Shift-Alt-F2	  ttyv11
	   Alt-F3   ttyv2      Alt-F9	ttyv8	   Shift-Alt-F3	  ttyv12
	   Alt-F4   ttyv3      Alt-F10	ttyv9	   Shift-Alt-F4	  ttyv13
	   Alt-F5   ttyv4      Alt-F11	ttyv10	   Shift-Alt-F5	  ttyv14
	   Alt-F6   ttyv5      Alt-F12	ttyv11	   Shift-Alt-F6	  ttyv15

     You can also use the ``nscr'' key (usually	the PrintScreen	key on the AT
     Enhanced keyboard)	to cycle available virtual terminals.

     The default number	of available virtual terminals is 16.  This can	be
     changed by	the kernel configuration option	MAXCONS	(see below).

     Note that the X server usually requires a virtual terminal	for display
     purposes, so at least one terminal	must be	left unused by getty(8)	so
     that it can be used by the	X server.

   Key Definitions and Function	Key Strings
     The syscons driver, in conjunction	with the keyboard driver, allows the
     user to change key	definitions and	function key strings.  The
     kbdcontrol(1) command will	load a key definition file (known as
     ``keymap''	file), dump the	current	keymap,	and assign a string to a func-
     tion key.	See keyboard(4)	and kbdmap(5) for the keymap file.

     You may want to set the keymap variable in	/etc/rc.conf.local to the
     desired keymap file so that it will be automatically loaded when the sys-
     tem starts	up.

   Software Font
     For most modern video cards, e.g. VGA, the	syscons	driver and the video
     card driver allow the user	to change the font used	on the screen.	The
     vidcontrol(1) command can be used to load a font file from

     The font comes in various sizes: 8x8, 8x14	and 8x16.  The 8x16 font is
     typically used for	the VGA	card in	the 80-column- by-25-line mode.	 Other
     video modes may require different size of font.  It is better to always
     load these	three sizes of the same	font.

     You may set font8x8, font8x14 and font8x16	variables in
     /etc/rc.conf.local	to the desired font files so that they will be auto-
     matically loaded when the system starts up.

     Optionally	you can	make a particular font file as the default font.  See
     the SC_DFLT_FONT option below.

   Screen Map
     If	your video card	does not support software font,	you may	still be able
     to	have similar effect by re-mapping font hard-wired in the video card.
     Use vidcontrol(1) to load a screen	map file which defines mapping between
     character codes.

   Mouse Support and Copy-and-Paste
     You can use your mouse to copy text on the	screen and paste it as if it
     is	typed by hand.	You must be running the	mouse daemon moused(8) and
     enable the	mouse cursor in	the virtual terminal via vidcontrol(1).

     Pressing the mouse	button 1 (usually the left button) will	start selec-
     tion.  Releasing the button 1 will	end the	selection process.  The
     selected text will	be marked by inverting foreground and background col-
     ors.  You can press the button 3 (usually the right button) to extend the
     selected region.  The selected text is placed in the copy buffer and can
     be	pasted at the cursor position by your pressing the button 2 (usually
     the middle	button)	as many	times as you like.

     If	your mouse has only two	buttons, you may want to use the
     SC_TWOBUTTON_MOUSE	option below to	make the right button to paste the
     text.  Alternatively you can make the mouse daemon	to emulate the middle
     button.  See the man page for moused(8) for more details.

   Back	Scrolling
     The syscons driver	allows the user	to browse the output which has
     ``scrolled	off'' from the top of the screen.

     Press the ``slock'' key (usually ScrllLock	and/or Pause keys on many AT
     Enhanced keyboards) and the terminal is in	the ``back scrolling'' mode.
     It	is indicated by	the Scroll Lock	LED.  Use arrow	keys, Page Up/Down
     keys and Home/End keys to scroll buffered terminal	output.	 Press the
     ``slock'' key again to get	back to	the normal terminal mode.

     The size of the back-scroll buffer	can be set by the SC_HISTORY_SIZE
     option below.

   Screen Saver
     The syscons driver	can be made to put up the screen saver if the current
     virtual terminal is idle, that is,	the user is not	typing on the keyboard
     nor moving	mouse.	See splash(4) and vidcontrol(1)	for more details.

   Kernel Configuration	Options
     The following kernel configuration	options	control	the syscons driver.

	    This option	sets the number	of virtual terminals to	N.  The
	    default value is 16.

	    This option	selects	the alternative	way of displaying the mouse
	    cursor in the virtual terminal.  It	may be vastly costly for some
	    video cards	to draw	the arrow-shaped cursor	and you	may want to
	    try	this option.  However, the appearance of the alternative mouse
	    cursor may not be very appealing.  Note that if you	use the
	    SC_NO_FONT_LOADING option then you must also use this option if
	    you	wish to	be able	to use the mouse.

	    This option	disables the ``debug'' key (by default,	it is Alt-Esc,
	    or Ctl-PrintScreen).  It will prevent the user from	entering the
	    kernel debugger DDB	by pressing the	key combination.  DDB will
	    still be invoked when the kernel panics or hits a break point if
	    it is included in the kernel.

	    This option	disables the ``reboot''	key (by	default, it is
	    Ctl-Alt-Del), so that the casual user may not accidentally reboot
	    the	system.

	    Sets the size of back scroll buffer	to N lines.  The default value
	    is 100.

	    Unless the SC_ALT_MOUSE_IMAGE option above is specified, the The
	    syscons driver reserves four consecutive character codes in	order
	    to display the mouse cursor	in the virtual terminals in some sys-
	    tems.  This	option specifies the first character code to C to be
	    used for this purpose.  The	default	value is 0xd0.	A good candi-
	    date is 0x03.

	    Adds support for pixel (raster) mode console.  This	mode is	useful
	    on some laptop computers, but less so on most other	systems, and
	    it adds substantial	amount of code to syscons.  If this option is
	    NOT	defined, you can reduce	the kernel size	a lot.	See the
	    VESA800X600	flag below.

	    If you have	a two button mouse, you	may want to add	this option to
	    use	the right button of the	mouse to paste text.  See Mouse
	    Support and	Copy-and-Paste above.




	    These options will set the default colors.	Available colors are
	    defined in /usr/include/machine/pc/display.h.  See EXAMPLES	below.

	    This option	will specify the default font.	Available fonts	are:
	    iso, iso2, koi8-r, koi8-u, cp437, cp850, cp865, cp866 and cp866u.
	    16-line, 14-line and 8-line	font data will be compiled in.	With-
	    out	this option, the syscons driver	will use whatever font already
	    loaded in the video	card, unless you explicitly load software font
	    at startup.	 See EXAMPLES below.

     The following options will	remove some features from the syscons driver
     and save kernel memory.

	    This option	disables ``copy	and paste'' operation in virtual ter-

	    The	syscons	driver can load	software font on some video cards.
	    This option	removes	this feature.  Note that if you	still wish to
	    use	the mouse with this option then	you must also use the
	    SC_ALT_MOUSE_IMAGE option.

	    This option	disables back-scrolling	in virtual terminals.

	    This option	removes	mouse support in the syscons driver.  The
	    mouse daemon moused(8) will	fail if	this option is defined.	 This
	    option implies the SC_NO_CUTPASTE option too.

   Driver Flags
     The following driver flags	can be used to control the syscons driver.
     They can be set either in the kernel configuration	file (see config(8)),
     or	else in	the User Configuration Menu at boot time (see boot(8)).

     0x0080 (VESA800X600)
	    This option	puts the video card in the VESA	800x600	dots, 16 color
	    mode.  It may be useful for	laptop computers for which the 800x600
	    mode is otherwise unsupported by the X server.  Note that in order
	    for	this flag to work, the kernel must be compiled with the
	    SC_PIXEL_MODE option explained above.

     0x0100 (AUTODETECT_KBD)
	    This option	instructs the syscons driver to	periodically scan for
	    a keyboard device if it is not currently attached to one.  Other-
	    wise, the driver only probes for a keyboard	once during bootup.

     /dev/ttyv?			     virtual terminals
     /etc/ttys			     terminal initialization information
     /usr/share/syscons/fonts/*	     font files
     /usr/share/syscons/keymaps/*    key map files
     /usr/share/syscons/scrmaps/*    screen map	files

     As	the syscons driver requires the	keyboard driver	and the	video card
     driver, the kernel	configuration file should contain the following	lines.

	   device atkbdc0 at isa? port IO_KBD
	   device atkbd0 at atkbdc? irq	1
	   device vga0 at isa?
	   device sc0 at isa?

	   pseudo-device splash

     If	you do not intend to load the splash image or use the screen saver,
     the last line is not necessary, and can be	omitted.

     Note that the keyboard controller driver atkbdc is	required by the	key-
     board driver atkbd.

     The following lines will set the default colors.  The normal text will be
     green on black background.	 The reversed text will	be yellow on green
     background.  Note that you	cannot put any white space inside the quoted
     string, because of	the current implementation of config(8).


     The following lines will set the default colors of	the kernel message.
     The kernel	message	will be	printed	bright red on black background.	 The
     reversed message will be black on red background.


     The following example adds	the font files cp850-8x16.fnt, cp850-8x14.font
     and cp850-8x8.font	to the kernel.

	   options SC_DFLT_FONT
	   makeoptions SC_DFLT_FONT=cp850
	   device sc0 at isa?

     Amount of data that is possible to	insert from the	cut buffer is limited
     by	the {MAX_INPUT}, a system limit	on the number of bytes that may	be
     stored in the terminal input queue	- usually 1024 bytes (see termios(4)).

     This manual page is incomplete and	urgently needs revision.

     kbdcontrol(1), login(1), vidcontrol(1), atkbd(4), atkbdc(4), keyboard(4),
     screen(4),	splash(4), ukbd(4), vga(4), kbdmap(5), rc.conf(5), ttys(5),
     config(8),	getty(8), kldload(8), moused(8)

     The syscons driver	first appeared in FreeBSD 1.0.

     The syscons driver	was written by Soren Schmidt <>.	 This
     manual page was written by	Kazutaka Yokota	<>.

FreeBSD	11.1			 June 30, 1999			  FreeBSD 11.1


Want to link to this manual page? Use this URL:

home | help