vidcontrol
- system console control and configuration utility
SYNOPSIS
[-CdLHPpx
]
[-b color
]
[-c appearance
]
[-f
[size
]
file
]
[-g geometry
]
[-h size
]
[-i adapter | mode
]
[-l screen_map
]
[-M char
]
[-m on | off
]
[-r foreground background
]
[-S on | off
]
[-s number
]
[-t N | off
]
[mode
]
[foreground [background
]
]
[show
]
DESCRIPTION
The
utility is used to set various options for the
syscons(4)
console driver,
such as video mode, colors, cursor shape, screen output map, font and screen
saver timeout.
The following command line options are supported:
mode
Select a new video mode.
The modes currently recognized are:
80x2580x3080x4380x5080x60132x25132x30132x43132x50132x60VGA_40x25VGA_80x25VGA_80x30VGA_80x50VGA_80x60VGA_90x25VGA_90x30VGA_90x43VGA_90x50VGA_90x60EGA_80x25EGA_80x43VESA_132x25VESA_132x43VESA_132x50VESA_132x60
The raster text mode
VESA_800x600
can also be chosen.
Alternatively, a mode can be specified with its number by using a mode name of
the form
MODE_ Aq NUMBER
A list of valid mode numbers can be obtained with the
-i mode
option.
See
Sx Video Mode Support
below.
foreground [background
]
Change colors when displaying text.
Specify the foreground color
(e.g.
``vidcontrol white )''
or both a foreground and background colors
(e.g.
``vidcontrol yellow blue )''
Use the
show
command below to see available colors.
show
See the supported colors on a given platform.
-b color
Set border color to
color
This option may not be always supported by the video driver.
-C
Clear the history buffer.
-c normal | blink | destructive
Change the cursor appearance.
The cursor is either an inverting block
(normal
)
that can optionally
blink
or it can be like the old hardware cursor
(destructive
)
The latter is actually a simulation.
-d
Print out current output screen map.
-f
[size
]
file
Load font
file
for
size
(currently, only
8x88x14
or
8x16 )
The font file can be either uuencoded or in raw binary format.
You can also use the menu-driven
vidfont(1)
command to load the font of your choice.
Size
may be omitted, in this case
will try to guess it from the size of font file.
Note that older video cards, such as MDA and CGA, do not support
software font.
See also
Sx Video Mode Support
and
Sx EXAMPLES
below and the man page for
syscons(4).
-g geometry
Set the
geometry
of the text mode for the modes with selectable
geometry.
Currently only raster modes, such as
VESA_800x600
support this option.
See also
Sx Video Mode Support
and
Sx EXAMPLES
below.
-h size
Set the size of the history (scrollback) buffer to
size
lines.
-i adapter
Shows info about the current video adapter.
-i mode
Shows the possible video modes with the current video hardware.
-l screen_map
Install screen output map file from
screen_map
See also
syscons(4).
-L
Install default screen output map.
-M char
Sets the base character used to render the mouse pointer to
char
-m on | off
Switch the mouse pointer
on
or
off
Used together with the
moused(8)
daemon for text mode cut & paste functionality.
-p
Capture the current contents of the video buffer corresponding
to the terminal device referred to by standard input.
The
utility writes contents of the video buffer to the standard
output in a raw binary format.
For details about that
format see
Sx Format of Video Buffer Dump
below.
-P
Same as
-p
but dump contents of the video buffer in a plain text format
ignoring nonprintable characters and information about text
attributes.
-H
When used with
-p
or
-P
it instructs
to dump full history buffer instead of visible portion of
the video buffer only.
-r foreground background
Change reverse mode colors to
foreground
and
background
-S on | off
Turn vty switching on or off.
When vty switching is off,
attempts to switch to a different virtual terminal will fail.
(The default is to permit vty switching.)
This protection can be easily bypassed when the kernel is compiled with
the
DDB
option.
However, you probably should not compile the kernel debugger on a box which
is supposed to be physically secure.
-s number
Set the current vty to
number
-t N | off
Set the screensaver timeout to
N
seconds, or turns it
off
-x
Use hexadecimal digits for output.
Video Mode Support
Note that not all modes listed above may be supported by the video
hardware.
You can verify which mode is supported by the video hardware, using the
-i mode
option.
The VESA BIOS support must be linked to the kernel
or loaded as a KLD module if you wish to use VESA video modes
or 132 column modes
(see
vga(4)).
You need to compile your kernel with the
VGA_WIDTH90
option if you wish to use VGA 90 column modes
(see
vga(4)).
Video modes other than 25 and 30 line modes may require specific size of font.
Use
-f
option above to load a font file to the kernel.
If the required size of font has not been loaded to the kernel,
will fail if the user attempts to set a new video mode.
Modes Ta Font size25 line modes Ta 8x16 (VGA), 8x14 (EGA)
30 line modes Ta 8x16
43 line modes Ta 8x8
50 line modes Ta 8x8
60 line modes Ta 8x8
It is better to always load all three sizes (8x8, 8x14 and 8x16)
of the same font.
You may set variables in
/etc/rc.conf
or
/etc/rc.conf.local
so that desired font files will be automatically loaded
when the system starts up.
See below.
If you want to use any of the raster text modes you need to recompile your
kernel with the
SC_PIXEL_MODE
option.
See
syscons(4)
for more details on this kernel option.
Format of Video Buffer Dump
The
utility uses the
syscons(4)
CONS_SCRSHOTioctl(2)
to capture the current contents of the video buffer.
The
utility writes version and additional information to the standard
output, followed by the contents of the video buffer.
VGA video memory is typically arranged in two byte tuples,
one per character position.
In each tuple, the first byte will be the character code,
and the second byte is the character's color attribute.
The VGA color attribute byte looks like this:
bits#widthmeaning7<X0000000>1character blinking6:4<0XXX0000>3background color3<0000X000>1bright foreground color2:0<00000XXX>3foreground color
Here is a list of the three bit wide base colors:
0
Black
1
Blue
2
Green
3
Cyan
4
Red
5
Magenta
6
Brown
7
Light Grey
Base colors with bit 3 (the bright foreground flag) set:
0
Dark Grey
1
Light Blue
2
Light Green
3
Light Cyan
4
Light Red
5
Light Magenta
6
Yellow
7
White
For example, the two bytes
"65 158"
specify an uppercase A (character code 65), blinking
(bit 7 set) in yellow (bits 3:0) on a blue background
(bits 6:4).
The
output contains a small header which includes additional
information which may be useful to utilities processing
the output.
The first 10 bytes are always arranged as follows:
You may set the following variables in
/etc/rc.conf
or
/etc/rc.conf.local
in order to configure the video output at boot time.
blanktime
Sets the timeout value for the
-t
option.
font8x16 , font8x14 , font8x8
Specifies font files for the
-f
option.
scrnmap
Specifies a screen output map file for the
-l
option.
See
rc.conf5
for more details.
Driver Configuration
The video card driver may let you change default configuration
options, such as the default font, so that you do not need to set up
the options at boot time.
See video card driver manuals, (e.g.
vga(4))
for details.
FILES
/usr/share/syscons/fonts/*
font files.
/usr/share/syscons/scrnmaps/*
screen output map files.
EXAMPLES
If you want to load
/usr/share/syscons/fonts/iso-8x16.fnt
to the kernel, run
as:
So long as the font file is in
/usr/share/syscons/fonts
you may abbreviate the file name as
iso-8x16
vidcontrol -f 8x16 iso-8x16
Furthermore, you can also omit font size
``8x16
''
vidcontrol -f iso-8x16
Moreover, the suffix specifying the font size can be also omitted; in
this case,
will use the size of the currently displayed font to construct the
suffix:
vidcontrol -f iso
Likewise, you can also abbreviate the screen output map file name for
the
-l
option if the file is found in
/usr/share/syscons/scrnmaps
vidcontrol -l iso-8859-1_to_cp437
The above command will load
/usr/share/syscons/scrnmaps/iso-8859-1_to_cp437.scm
The following command will set-up a 100x37 raster text mode (useful for
some LCD models):
vidcontrol -g 100x37 VESA_800x600
The following command will capture the contents of the first virtual
terminal video buffer, and redirect the output to the
shot.scr
file:
vidcontrol -p < /dev/ttyv0 > shot.scr
The following command will dump contents of the fourth virtual terminal
video buffer
to the standard output in the human readable format: