1.\" Copyright (c) 2014 Warren Block 2.\" All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND 14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE 17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23.\" SUCH DAMAGE. 24.\" 25.\" $FreeBSD$ 26.\" 27.Dd October 20, 2014 28.Dt "VIRTUAL TERMINALS" 4 29.Os 30.Sh NAME 31.Nm vt 32.Nd virtual terminal console driver 33.Sh SYNOPSIS 34.Cd "options TERMINAL_KERN_ATTR=_attribute_" 35.Cd "options TERMINAL_NORM_ATTR=_attribute_" 36.Cd "options VT_MAXWINDOWS=N" 37.Cd "options VT_ALT_TO_ESC_HACK=1" 38.Cd "options VT_TWOBUTTON_MOUSE" 39.Cd "options VT_FB_DEFAULT_WIDTH=X" 40.Cd "options VT_FB_DEFAULT_HEIGHT=Y" 41.Cd "options SC_NO_CUTPASTE" 42.Cd "device vt" 43.Pp 44In 45.Xr loader.conf 5 : 46.Cd hw.vga.textmode=1 47.Cd kern.vty=vt 48.Pp 49In 50.Xr loader.conf 5 or 51.Xr sysctl.conf 5 : 52.Cd kern.vt.kbd_halt=1 53.Cd kern.vt.kbd_poweroff=1 54.Cd kern.vt.kbd_reboot=1 55.Cd kern.vt.kbd_debug=1 56.Cd kern.vt.kbd_panic=0 57.Sh DESCRIPTION 58The 59.Nm 60device provides multiple virtual terminals with an extensive feature 61set: 62.Bl -item -offset indent 63.It 64Unicode UTF-8 text with double-width characters. 65.It 66Large font maps in graphics mode, including support for Asian 67character sets. 68.It 69Graphics-mode consoles. 70.It 71Integration with 72KMS 73.Pq Kernel Mode Setting 74video drivers for switching between the 75.Em X Window System 76and virtual terminals. 77.El 78.Ss Virtual Terminals 79Multiple virtual terminals are provided on a single computer. 80Up to sixteen virtual terminals can be defined. 81A single virtual terminal is connected to the screen and keyboard 82at a time. 83Key combinations are used to select a virtual terminal. 84Alt-F1 through Alt-F12 correspond to the first twelve virtual terminals. 85If more than twelve virtual terminals are created, Shift-Alt-F1 through 86Shift-Alt-F4 are used to switch to the additional terminals. 87.Ss Copying and Pasting Text with a Mouse 88Copying and pasting text from the screen with a mouse is supported. 89Press and hold down mouse button 1, usually the left button, while 90moving the mouse to select text. 91Selected text is highlighted with reversed foreground and background 92colors. 93To select more text after releasing mouse button 1, press mouse button 943, usually the right button. 95To paste text that has been selected, press mouse button 2, usually the 96middle button. 97The text is entered as if it were typed at the keyboard. 98The 99.Dv VT_TWOBUTTON_MOUSE 100kernel option can be used with mice that only have two buttons. 101Setting this option makes the second mouse button into the 102paste button. 103See 104.Xr moused 8 105for more information. 106.Ss Scrolling Back 107Output that has scrolled off the screen can be reviewed by pressing the 108Scroll Lock key, then scrolling up and down with the arrow keys. 109The Page Up and Page Down keys scroll up or down a full screen at a 110time. 111The Home and End keys jump to the beginning or end of the scrollback 112buffer. 113When finished reviewing, press the Scroll Lock key again to return to 114normal use. 115.Sh DRIVER CONFIGURATION 116.Ss Kernel Configuration Options 117These kernel options control the 118.Nm 119driver. 120.Bl -tag -width MAXCONS 121.It Dv TERMINAL_NORM_ATTR= Ns Pa attribute 122.It Dv TERMINAL_KERN_ATTR= Ns Pa attribute 123These options allow changing the default colors used for normal and kernel 124text. 125Available colors are defined in 126.In sys/terminal.h . 127See 128.Sx EXAMPLES 129below. 130.It Dv VT_MAXWINDOWS=N 131Set the number of virtual terminals to be created to 132.Fa N . 133The value defaults to 12. 134.It Dv VT_ALT_TO_ESC_HACK=1 135When the Alt key is held down while pressing another key, send an ESC 136sequence instead of the Alt key. 137.It Dv VT_TWOBUTTON_MOUSE 138If defined, swap the functions of mouse buttons 2 and 3. 139In effect, this makes the right-hand mouse button perform a paste. 140These options are checked in the order shown. 141.It Dv SC_NO_CUTPASTE 142Disable mouse support. 143.It VT_FB_DEFAULT_WIDTH=X 144Set the default width to 145.Fa X . 146.It VT_FB_DEFAULT_HEIGHT=Y 147Set the default height to 148.Fa Y . 149.El 150.Sh BACKWARDS COMPATIBILITY 151Several options are provided for compatibility with the previous 152console device, 153.Xr sc 4 . 154These options will be removed in a future 155.Fx 156version. 157.Bl -column -offset indent ".Sy vt VT_TWOBUTTON_MOUSE" ".Sy SC_TWOBUTTON_MOUSE" 158.It Sy vt Option Name Ta Sy sc Option Name 159.It Dv TERMINAL_KERN_ATTR Ta Dv SC_KERNEL_CONS_ATTR 160.It Dv TERMINAL_NORM_ATTR Ta Dv SC_NORM_ATTR 161.It Dv VT_TWOBUTTON_MOUSE Ta Dv SC_TWOBUTTON_MOUSE 162.It Dv VT_MAXWINDOWS Ta Dv MAXCONS 163.It none Ta Dv SC_NO_CUTPASTE 164.El 165.Sh START-UP OPERATION WITH X86 BIOS SYSTEMS 166The computer BIOS starts in text mode, and 167the 168.Fx 169.Xr loader 8 170runs, loading the kernel. 171If 172.Va hw.vga.textmode 173is set, the system remains in text mode. 174Otherwise, 175.Nm 176switches to 640x480x16 VGA mode using 177.Cm vt_vga . 178If a KMS 179.Pq Kernel Mode Switching 180video driver is available, the display is switched to high resolution 181and the KMS driver takes over. 182When a KMS driver is not available, 183.Cm vt_vga 184remains active. 185.Sh LOADER TUNABLES 186These settings can be entered at the 187.Xr loader 8 188prompt or in 189.Xr loader.conf 5 . 190.Bl -tag -width indent 191.It Va hw.vga.textmode 192Set to 1 to use virtual terminals in text mode instead of graphics mode. 193Features that require graphics mode, like loadable fonts, will be 194disabled. 195.It Va kern.vty 196Set this value to 197.Ql vt 198or 199.Ql sc 200to override the default driver used for the system console. 201By default, 202.Xr sc 4 203is used on computers that boot from BIOS, and 204.Nm 205is used on computers that boot from UEFI. 206.Sh KEYBOARD SYSCTL TUNABLES 207These settings control whether certain special key combinations are enabled or 208ignored. 209The specific key combinations can be configured by using a 210.Xr keymap 5 211file. 212.Pp 213These settings can be entered at the 214.Xr loader 8 215prompt or in 216.Xr loader.conf 5 217and can also be changed at runtime with the 218.Xr sysctl 8 219command. 220.Bl -tag -width indent 221.It Va kern.vt.kbd_halt 222Enable halt keyboard combination. 223.It Va kern.vt.kbd_poweroff 224Enable power off key combination. 225.It Va kern.vt.kbd_reboot. 226Enable reboot key combination, usually Ctrl+Alt+Del. 227.It Va kern.vt.kbd_debug 228Enable debug request key combination, usually Ctrl+Alt+Esc. 229.It Va kern.vt.kbd_panic 230Enable panic key combination. 231.El 232.Sh FILES 233.Bl -tag -width /usr/share/vt/keymaps/* -compact 234.It Pa /dev/console 235.It Pa /dev/consolectl 236.It Pa /dev/ttyv* 237virtual terminals 238.It Pa /etc/ttys 239terminal initialization information 240.It Pa /usr/share/vt/fonts/*.fnt 241console fonts 242.It Pa /usr/share/vt/keymaps/*.kbd 243keyboard layouts 244.El 245.Sh EXAMPLES 246This example changes the default color of normal text to green on a 247black background, or black on a green background when reversed. 248Note that white space cannot be used inside the attribute string 249because of the current implementation of 250.Xr config 8 . 251.Pp 252.Dl "options TERMINAL_NORM_ATTR=(FG_GREEN|BG_BLACK)" 253.Pp 254This line changes the default color of kernel messages to be bright red 255on a black background, or black on a bright red background when reversed. 256.Pp 257.Dl "options TERMINAL_KERN_ATTR=(FG_LIGHTRED|BG_BLACK)" 258.Sh SEE ALSO 259.Xr kbdcontrol 1 , 260.Xr login 1 , 261.Xr vidcontrol 1 , 262.Xr atkbd 4 , 263.Xr atkbdc 4 , 264.Xr keyboard 4 , 265.Xr screen 4 , 266.Xr splash 4 , 267.Xr syscons 4 , 268.Xr ukbd 4 , 269.Xr kbdmap 5 , 270.Xr rc.conf 5 , 271.Xr ttys 5 , 272.Xr config 8 , 273.Xr getty 8 , 274.Xr kbdmux 8 , 275.Xr kldload 8 , 276.Xr moused 8 , 277.Xr vtfontcvt 8 278.Sh HISTORY 279The 280.Nm 281driver first appeared in 282.Fx 9.3 . 283.Sh AUTHORS 284.An -nosplit 285The 286.Nm 287device driver was developed by 288.An Ed Schouten Aq Mt ed@FreeBSD.org , 289.An Ed Maste Aq Mt emaste@FreeBSD.org , 290and 291.An Aleksandr Rybalko Aq Mt ray@FreeBSD.org , 292with sponsorship provided by the 293.Fx 294Foundation. 295This manual page was written by 296.An Warren Block Aq Mt wblock@FreeBSD.org . 297.Sh CAVEATS 298Paste buffer size is limited by the system value 299.Brq Dv MAX_INPUT , 300the number of bytes that can be stored in the terminal 301input queue, usually 1024 bytes 302(see 303.Xr termios 4 ) . 304