mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-24 11:29:10 +00:00
8a28ce0e42
Reviewed by: yokota, obrien
500 lines
15 KiB
Groff
500 lines
15 KiB
Groff
.\"
|
||
.\" Copyright (c) 1999
|
||
.\" Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
|
||
.\" All rights reserved.
|
||
.\"
|
||
.\" Redistribution and use in source and binary forms, with or without
|
||
.\" modification, are permitted provided that the following conditions
|
||
.\" are met:
|
||
.\" 1. Redistributions of source code must retain the above copyright
|
||
.\" notice, this list of conditions and the following disclaimer as
|
||
.\" the first lines of this file unmodified.
|
||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||
.\" notice, this list of conditions and the following disclaimer in the
|
||
.\" documentation and/or other materials provided with the distribution.
|
||
.\"
|
||
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||
.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
.\"
|
||
.\" $FreeBSD$
|
||
.\"
|
||
.Dd June 30, 1999
|
||
.Dt SYSCONS 4
|
||
.Os FreeBSD
|
||
.Sh NAME
|
||
.Nm syscons ,
|
||
.Nm sc
|
||
.Nd
|
||
the console driver
|
||
.Sh SYNOPSIS
|
||
.Cd "options MAXCONS=N"
|
||
.Cd "options SC_ALT_MOUSE_IMAGE"
|
||
.Cd "options SC_DISABLE_DDBKEY"
|
||
.Cd "options SC_DISABLE_REBOOT"
|
||
.Cd "options SC_HISTORY_SIZE=N"
|
||
.Cd "options SC_MOUSE_CHAR=C"
|
||
.Cd "options SC_NO_CUTPASTE"
|
||
.Cd "options SC_NO_FONT_LOADING"
|
||
.Cd "options SC_NO_HISTORY"
|
||
.Cd "options SC_NO_PALETTE_LOADING"
|
||
.Cd "options SC_NO_SYSMOUSE"
|
||
.Cd "options SC_PIXEL_MODE"
|
||
.Cd "options SC_TWOBUTTON_MOUSE
|
||
.Cd "options SC_NORM_ATTR=_attribute_"
|
||
.Cd "options SC_NORM_REV_ATTR=_attribute_"
|
||
.Cd "options SC_KERNEL_CONS_ATTR=_attribute_"
|
||
.Cd "options SC_KERNEL_CONS_REV_ATTR=_attribute_"
|
||
.Cd "options SC_DFLT_FONT"
|
||
.Cd "makeoptions SC_DFLT_FONT=_font_name_"
|
||
.Cd "device sc0 at isa?" Op flags Ar flags
|
||
.Sh DESCRIPTION
|
||
The
|
||
.Nm
|
||
driver provides multiple virtual terminals.
|
||
It resembles the SCO color console driver.
|
||
.Pp
|
||
The
|
||
.Nm
|
||
driver is implemented on top of the keyboard driver
|
||
.Pq Xr atkbd 4
|
||
and the video card driver
|
||
.Pq Xr vga 4
|
||
and so requires both of them to be configured in the system.
|
||
.Pp
|
||
There can be only one
|
||
.Nm
|
||
device defined in the system.
|
||
.Ss Virtual Terminals
|
||
The
|
||
.Nm
|
||
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.
|
||
.Pp
|
||
In order to use virtual terminals, they must be individually
|
||
marked ``on'' in
|
||
.Pa /etc/ttys
|
||
so that
|
||
.Xr getty 8
|
||
will recognize them to be active and run
|
||
.Xr login 1
|
||
to let the user to login to the system.
|
||
By default, only the first eight virtual terminals are activated in
|
||
.Pa /etc/ttys .
|
||
.Pp
|
||
You press the
|
||
.Em Alt
|
||
key and a switch key to switch between
|
||
virtual terminals.
|
||
The following table summarizes the correspondence between the switch
|
||
key and the virtual terminal.
|
||
.Bd -literal -offset indent
|
||
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
|
||
.Ed
|
||
.Pp
|
||
You can also use the ``nscr'' key (usually the
|
||
.Em PrintScreen
|
||
key on the AT Enhanced keyboard) to cycle available virtual terminals.
|
||
.Pp
|
||
The default number of available virtual terminals is 16.
|
||
This can be changed by the kernel configuration option
|
||
.Em MAXCONS
|
||
(see below).
|
||
.Pp
|
||
Note that the X server usually requires a virtual terminal for display
|
||
purposes, so at least one terminal must be left unused by
|
||
.Xr getty 8
|
||
so that it can be used by the X server.
|
||
.Ss Key Definitions and Function Key Strings
|
||
The
|
||
.Nm
|
||
driver, in conjunction with the keyboard driver, allows the user
|
||
to change key definitions and function key strings.
|
||
The
|
||
.Xr kbdcontrol 1
|
||
command will load a key definition file (known as ``keymap'' file),
|
||
dump the current keymap, and assign a string to a function key.
|
||
See
|
||
.Xr keyboard 4
|
||
and
|
||
.Xr keymap 5
|
||
for the keymap file.
|
||
.Pp
|
||
You may want to set the
|
||
.Ar keymap
|
||
variable in
|
||
.Pa /etc/rc.conf.local
|
||
to the desired keymap file so that it will be automatically loaded
|
||
when the system starts up.
|
||
.Ss Software Font
|
||
For most modern video cards, e.g. VGA, the
|
||
.Nm
|
||
driver and the video card driver allow the user to change
|
||
the font used on the screen.
|
||
The
|
||
.Xr vidcontrol 1
|
||
command can be used to load a font file from
|
||
.Pa /usr/share/syscons/fonts .
|
||
.Pp
|
||
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.
|
||
.Pp
|
||
You may set
|
||
.Ar font8x8 ,
|
||
.Ar font8x14
|
||
and
|
||
.Ar font8x16
|
||
variables in
|
||
.Pa /etc/rc.conf.local
|
||
to the desired font files so that they will be automatically loaded
|
||
when the system starts up.
|
||
.Pp
|
||
Optionally you can make a particular font file as the default font.
|
||
See the
|
||
.Em SC_DFLT_FONT
|
||
option below.
|
||
.Ss 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
|
||
.Xr vidcontrol 1
|
||
to load a screen map file which defines mapping between character codes.
|
||
.Ss 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
|
||
.Xr moused 8
|
||
and enable the mouse cursor in the virtual terminal via
|
||
.Xr vidcontrol 1 .
|
||
.Pp
|
||
Pressing the mouse button 1 (usually the left button) will start selection.
|
||
Releasing the button 1 will end the selection process.
|
||
The selected text will be marked by inverting foreground and
|
||
background colors.
|
||
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.
|
||
.Pp
|
||
If your mouse has only two buttons, you may want to use the
|
||
.Em 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
|
||
.Xr moused 8
|
||
for more details.
|
||
.Ss Back Scrolling
|
||
The
|
||
.Nm
|
||
driver allows the user to browse the output which has ``scrolled off''
|
||
from the top of the screen.
|
||
.Pp
|
||
Press the ``slock'' key (usually
|
||
.Em ScrllLock
|
||
and/or
|
||
.Em Pause
|
||
keys on many AT Enhanced keyboards) and the terminal is
|
||
in the ``back scrolling'' mode.
|
||
It is indicated by the
|
||
.Em Scroll Lock
|
||
LED.
|
||
Use arrow keys,
|
||
.Em Page Up/Down
|
||
keys and
|
||
.Em Home/End
|
||
keys to scroll buffered terminal output.
|
||
Press the ``slock'' key again to get back to the normal terminal mode.
|
||
.Pp
|
||
The size of the back-scroll buffer can be set by the
|
||
.Em SC_HISTORY_SIZE
|
||
option below.
|
||
.Ss Screen Saver
|
||
The
|
||
.Nm
|
||
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
|
||
.Xr splash 4
|
||
and
|
||
.Xr vidcontrol 1
|
||
for more details.
|
||
.Sh DRIVER CONFIGURATION
|
||
.Ss Kernel Configuration Options
|
||
The following kernel configuration options control the
|
||
.Nm
|
||
driver.
|
||
.Bl -tag -width MOUSE
|
||
.It Em MAXCONS=N
|
||
This option sets the number of virtual terminals to
|
||
.Fa N .
|
||
The default value is 16.
|
||
.It Em SC_ALT_MOUSE_IMAGE
|
||
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.
|
||
.It Em SC_DISABLE_DDBKEY
|
||
This option disables the ``debug'' key (by default, it is
|
||
.Em Alt-Esc ,
|
||
or
|
||
.Em 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.
|
||
.It Em SC_DISABLE_REBOOT
|
||
This option disables the ``reboot'' key (by default, it is
|
||
.Em Ctl-Alt-Del
|
||
), so that the casual user may not accidentally reboot the system.
|
||
.It Em SC_HISTORY_SIZE=N
|
||
Sets the size of back scroll buffer to
|
||
.Fa N
|
||
lines.
|
||
The default value is 100.
|
||
.It Em SC_MOUSE_CHAR=C
|
||
Unless the
|
||
.Em SC_ALT_MOUSE_IMAGE
|
||
option above is specified, the
|
||
The
|
||
.Nm
|
||
driver reserves four consecutive character codes in order to display the
|
||
mouse cursor in the virtual terminals in some systems.
|
||
This option specifies the first character code to
|
||
.Fa C
|
||
to be used for this purpose.
|
||
The default value is 0xd0.
|
||
A good candidate is 0x03.
|
||
.It Em SC_PIXEL_MODE
|
||
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 the this option is NOT defined, you can reduce the kernel size a lot.
|
||
See the
|
||
.Em VESA800X600
|
||
flag below.
|
||
.It Em SC_TWOBUTTON_MOUSE
|
||
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
|
||
.Sx Mouse Support and Copy-and-Paste
|
||
above.
|
||
.It Em SC_NORM_ATTR=_attribute_
|
||
.It Em SC_NORM_REV_ATTR=_attribute_
|
||
.It Em SC_KERNEL_CONS_ATTR=_attribute_
|
||
.It Em SC_KERNEL_CONS_REV_ATTR=_attribute_
|
||
These options will set the default colors.
|
||
Available colors are defined in
|
||
.Pa /usr/include/machine/pc/display.h .
|
||
See
|
||
.Sx EXAMPLE
|
||
below.
|
||
.It Em SC_DFLT_FONT
|
||
This option will specify the default font.
|
||
Available fonts are: iso, iso2, koi8-r, cp437, cp850, cp865 and cp866.
|
||
16-line, 14-line and 8-line font data will be compiled in.
|
||
Without this option, the
|
||
.Nm
|
||
driver will use whatever font already loaded in the video card,
|
||
unless you explicitly load software font at startup.
|
||
See
|
||
.Sx EXAMPLE
|
||
below.
|
||
.El
|
||
.Pp
|
||
The following options will remove some features from the
|
||
.Nm
|
||
driver and save kernel memory.
|
||
.Bl -tag -width MOUSE
|
||
.It Em SC_NO_CUTPASTE
|
||
This option disables ``copy and paste'' operation in virtual
|
||
terminals.
|
||
.It Em SC_NO_FONT_LOADING
|
||
The
|
||
.Nm
|
||
driver can load software font on some video cards.
|
||
This option removes this feature.
|
||
.It Em SC_NO_HISTORY
|
||
This option disables back-scrolling in virtual terminals.
|
||
.\".It Em SC_NO_PALETTE_LOADING
|
||
.It Em SC_NO_SYSMOUSE
|
||
This option removes mouse support in the
|
||
.Nm
|
||
driver.
|
||
The mouse daemon
|
||
.Xr moused 8
|
||
will fail if this option is defined.
|
||
This option implies the
|
||
.Em SC_NO_CUTPASTE
|
||
option too.
|
||
.El
|
||
.Ss Driver Flags
|
||
The following driver flags can be used to control the
|
||
.Nm
|
||
driver.
|
||
They can be set either in the kernel configuration file
|
||
.Pq see Xr config 8 ,
|
||
or else in the User Configuration Menu at boot
|
||
time
|
||
.Pq see Xr boot 8 .
|
||
.Bl -tag -width bit_0
|
||
.\".It bit 0 (VISUAL_BELL)
|
||
.\"Uses the ``visual'' bell.
|
||
.\"The screen will blink instead of generating audible sound.
|
||
.\".It bit 1,2 (CURSOR_TYPE)
|
||
.\"This option specifies the cursor appearance.
|
||
.\"Possible values are:
|
||
.\".Bl -tag -width TYPE -compact
|
||
.\".It Em 0
|
||
.\"normal block cursor
|
||
.\".It Em 2
|
||
.\"blinking block cursor
|
||
.\".It Em 4
|
||
.\"underline cursor
|
||
.\".It Em 6
|
||
.\"blinking underline (aka destructive) cursor
|
||
.\".El
|
||
.\".It bit 6 (QUIET_BELL)
|
||
.\"This option suppresses the bell, whether audible or visual,
|
||
.\"if it is rung in a background virtual terminal.
|
||
.It 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
|
||
.Em SC_PIXEL_MODE
|
||
option explained above.
|
||
.\"Note also that the ``copy-and-paste'' function is not currently supported
|
||
.\"in this mode and the mouse pointer will not be displayed.
|
||
.It 0x0100 (AUTODETECT_KBD)
|
||
This option instructs the syscons driver to periodically scan
|
||
for a keyboard device if it is not currently attached to one.
|
||
Otherwise, the driver only probes for a keyboard once during bootup.
|
||
.El
|
||
.Sh FILES
|
||
.Bl -tag -width /usr/share/syscons/xxxxyyyyzzz -compact
|
||
.It Pa /dev/console
|
||
.It Pa /dev/consolectl
|
||
.It Pa /dev/ttyv?
|
||
virtual terminals
|
||
.It Pa /etc/ttys
|
||
terminal initialization information
|
||
.It Pa /usr/share/syscons/fonts/*
|
||
font files
|
||
.It Pa /usr/share/syscons/keymaps/*
|
||
key map files
|
||
.It Pa /usr/share/syscons/scrmaps/*
|
||
screen map files
|
||
.El
|
||
.Sh EXAMPLE
|
||
As the
|
||
.Nm
|
||
driver requires the keyboard driver and the video card driver,
|
||
the kernel configuration file should contain the following lines.
|
||
.Pp
|
||
.Bd -literal -offset indent
|
||
device atkbdc0 at isa? port IO_KBD
|
||
device atkbd0 at atkbdc? irq 1
|
||
device vga0 at isa? conflicts
|
||
device sc0 at isa?
|
||
|
||
pseudo-device splash
|
||
.Ed
|
||
.Pp
|
||
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.
|
||
.Pp
|
||
Note that the keyboard controller driver
|
||
.Nm atkbdc
|
||
is required by the keyboard driver
|
||
.Nm atkbd .
|
||
.Pp
|
||
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
|
||
.Xr config 8 .
|
||
.Pp
|
||
.Dl "options SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
|
||
.Dl "options SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)
|
||
.Pp
|
||
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.
|
||
.Pp
|
||
.Dl "options SC_KERNEL_CONS_ATTR=(FG_LIGHTRED|BG_BLACK)
|
||
.Dl "options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)
|
||
.Pp
|
||
The following example adds the font files
|
||
.Pa cp850-8x16.fnt ,
|
||
.Pa cp850-8x14.font
|
||
and
|
||
.Pa cp850-8x8.font
|
||
to the kernel.
|
||
.Pp
|
||
.Dl "options SC_DFLT_FONT"
|
||
.Dl "makeoptions SC_DFLT_FONT=cp850
|
||
.Dl "device sc0 at isa?
|
||
.Pp
|
||
.\".Sh DIAGNOSTICS
|
||
.\".Sh CAVEATS
|
||
.Sh BUGS
|
||
This manual page is incomplete and urgently needs revision.
|
||
.Sh SEE ALSO
|
||
.Xr kbdcontrol 1 ,
|
||
.Xr login 1 ,
|
||
.Xr vidcontrol 1 ,
|
||
.Xr atkbd 4 ,
|
||
.Xr atkbdc 4 ,
|
||
.Xr keyboard 4 ,
|
||
.Xr screen 4 ,
|
||
.Xr splash 4 ,
|
||
.Xr ukbd 4 ,
|
||
.Xr vga 4 ,
|
||
.Xr keymap 5 ,
|
||
.Xr rc.conf 5 ,
|
||
.Xr screenmap 5 ,
|
||
.Xr ttys 5 ,
|
||
.Xr config 8 ,
|
||
.Xr getty 8 ,
|
||
.Xr kldload 8 ,
|
||
.Xr moused 8 .
|
||
.Sh HISTORY
|
||
The
|
||
.Nm
|
||
driver first appeared in
|
||
.Fx 1.0 .
|
||
.Sh AUTHORS
|
||
The
|
||
.Nm
|
||
driver was written by
|
||
.An S<EFBFBD>ren Schmidt Aq sos@FreeBSD.org .
|
||
This manual page was written by
|
||
.An Kazutaka Yokota Aq yokota@FreeBSD.org .
|