- Virtual console (PC)
In
computing , someoperating system s such asUnixWare ,Linux andBSD , feature a virtual console (VC, sometimes virtual terminal, VT) — a conceptual combination of the keyboard and the display for auser interface . The concrete combination is thesystem console of the computer, where the user can switch between the virtual consoles to access multiple unrelated user interfaces. Virtual consoles date back at least toXenix in the 1980s. [cite web
url=http://www.freepatentsonline.com/4945468.html
title=Trusted path mechanism for virtual terminal environments
publisher= FreePatentsOnline.com
accessdate=2008-04-09
United States Patent 4945468 lists Xenix as prior art in this area.]Usually in Linux, the first six virtual consoles provide a
text terminal with alogin prompt to aUnix shell . The graphicalX Window System starts in the seventh virtual console.In Linux, the switching is performed with a key combination of "Alt" plus afunction key -- for example "Alt+F1" to access the virtual console number 1. "Alt+Left arrow" changes to the previous virtual console and "Alt+Right arrow" to the next virtual console. To switch from the X Window System, "Ctrl+Alt+function key" works. (Note that users can re-define these default key-combinations.)The need for virtual consoles has lessened now that most applications work in the graphical framework of the X Window System, where each program has a window and the text mode programs can be run in terminal-emulator windows. If several sessions of the X Window System are required to run in parallel, such as in the case of
fast user switching or when debugging X programs on a separateX server , each X session usually runs in a separate virtual console.GNU Screen is a program that can change between several text-mode programs in one textual login. There are also other graphical frameworks such asFrameBuffer UI ,Y Window System , and Fresco.Interface
The virtual consoles are represented by
device special file s /dev/tty1, /dev/tty2 etc. There are also special files /dev/console, /dev/tty and /dev/tty0. (Compare the devices using the patterns vcs ("virtual console screen") and vcsa ("virtual console screen with attributes") such as/dev/vcs1
and/dev/vcsa1
. [cite web
url= http://tldp.org/HOWTO/Keyboard-and-Console-HOWTO-20.html
title= Screen dumps
accessdate= 2008-07-31
author=
last=
first=
authorlink=
coauthors=
date=
year=
month=
format=
work= The Linux keyboard and console HOWTO
publisher= TheLinux Documentation Project
quote= The current contents of the screen of /dev/ttyN can be accessed using the device /dev/vcsN (where `vcs' stands for `virtual console screen'). [...] From a program it is usually better to use /dev/vcsaN (`virtual console screen with attributes') instead - it starts with a header giving the number of rows and columns and the location of the cursor. See vcs(4). ] ) The virtual consoles can be configured in the file /etc/inittab read by "init " -- typically it starts the text mode login process "getty" for several virtual consoles.X Window System can be configured in /etc/inittab or by anX display manager .Programs used to access the virtual consoles typically include:
* "chvt" to switch the current virtual console
* "openvt" to run a program on a new virtual console
* "deallocvt" to close a currently unused virtual console.The program "
startx " starts theX Window System on a new virtual console. There are also other graphical programs that can start from the console, such asLinuxTV andMPlayer .Programs can access the virtual consoles by the device special files. In text mode, writing to the file displays text on the virtual console and reading from the file returns text the user writes to the virtual console. As with other
text terminal s, there are also specialescape sequence s,control character s andtermios
functions that a program can use, most easily via a library such as "ncurses ". For more complex operations, the programs can use console and terminal special "ioctl " system calls. Graphical programs can use libraries such asDirectFB , DRI, SDL or the earlierSVGALib .Unix systems
Unix workstations, such as those manufactured by Sun or
Silicon Graphics , did not include virtual consoles. The only purpose of console would be fixing the system so that graphical environment could start.Sun Niagara-based servers running
virtualization withLogical Domains get virtual console services from the "Control domain".See also
*
Computer console for the concrete console
*Text terminal for the textual interface in general
*Linux framebuffer for a graphical interface to the console
*Pseudo terminal for even more virtual consoles
*Terminal emulator for an application program that has the same function as a textual virtual consoleNotes
References
* FreeBSD Handbook, chapter [http://www.freebsd.org/doc/en/books/handbook/consoles.html 3.2 Virtual Consoles and Terminals]
External links
* [http://www.tldp.org/HOWTO/Keyboard-and-Console-HOWTO.html The Linux keyboard and console HOWTO]
* [http://www.linuxdevcenter.com/linux/cmd/cmd.csp?path=c/chvt Linux command chvt to switch vt from cmdline]
* [http://www.bellevuelinux.org/console.html Console Definition] from The Linux Information Project.
* [http://www.softpanorama.org/People/Torvalds/Finland_period/xenix_microsoft_shortlived_love_affair_with_unix.shtml XENIX -- Microsoft Short-lived Love Affair with Unix]
Wikimedia Foundation. 2010.