Una consola virtual ( VC ), también conocida como terminal virtual ( VT ), es una combinación conceptual del teclado y la pantalla para una interfaz de usuario de computadora . Es una característica de algunos sistemas operativos similares a Unix como Linux , BSD , illumos , UnixWare y macOS en los que la consola del sistema de la computadora se puede usar para cambiar entre múltiples consolas virtuales para acceder a interfaces de usuario no relacionadas. Las consolas virtuales se remontan al menos a Xenix [1] y Concurrent CP / Men la década de 1980. [2]
En la consola Linux y otras plataformas, normalmente las primeras seis consolas virtuales proporcionan un terminal de texto con un mensaje de inicio de sesión a un shell de Unix . El sistema gráfico X Window se inicia en la séptima consola virtual. En Linux, el usuario cambia entre ellos presionando la tecla Alt combinada con una tecla de función - por ejemplo Alt+ F1para acceder a la consola virtual número 1. Alt+ ←cambia a la consola virtual anterior y Alt+ →a la siguiente consola virtual. Para cambiar del sistema X Window o un compositor de Wayland , Ctrl+ Alt+ F1funciona. (Tenga en cuenta que los usuarios pueden redefinir estas combinaciones de teclas predeterminadas).
Si se requieren varias sesiones del sistema X Window para ejecutarse en paralelo, como en el caso de un cambio rápido de usuario o al depurar programas X en un servidor X separado , cada sesión X generalmente se ejecuta en una consola virtual separada.
Interfaz
Las consolas virtuales están representados por los archivos especiales de dispositivo /dev/tty1
, /dev/tty2
etc. También hay archivos especiales /dev/console
, /dev/tty
y /dev/tty0
. (Compare los dispositivos usando los patrones vcs ("pantalla de consola virtual") y vcsa ("pantalla de consola virtual con atributos") como /dev/vcs1
y /dev/vcsa1
. [3] ) Las consolas virtuales se pueden configurar en el archivo /etc/inittab
leído por init - normalmente inicia el proceso de inicio de sesión en modo texto getty para varias consolas virtuales. X Window System se puede configurar en /etc/inittab
o por un gestor de pantalla X . Varias distribuciones de Linux utilizan systemd en lugar de init , que también permite la configuración de la consola virtual.
Los programas que se utilizan para acceder a las consolas virtuales suelen incluir:
- chvt para cambiar la consola virtual actual
- openvt para ejecutar un programa en una nueva consola virtual
- deallocvt para cerrar una consola virtual no utilizada actualmente
El programa startx inicia el sistema X Window en una nueva consola virtual. También hay otros programas gráficos que pueden iniciarse desde la consola, como LinuxTV y MPlayer .
Los programas pueden acceder a las consolas virtuales mediante los archivos especiales del dispositivo. En el modo de texto, la escritura en el archivo muestra texto en la consola virtual y la lectura del archivo devuelve el texto que el usuario escribe en la consola virtual. Al igual que con otros terminales de texto , también hay secuencias de escape especiales , caracteres de control y termios
funciones que un programa puede usar, más fácilmente a través de una biblioteca como ncurses . Para operaciones más complejas, los programas pueden usar llamadas al sistema ioctl especiales de consola y terminal . Los programas gráficos pueden usar bibliotecas como DirectFB , DRI , SDL o la anterior SVGALib .
Sistemas Unix
Las estaciones de trabajo Unix , como las fabricadas por Sun o Silicon Graphics , no incluían consolas virtuales. El único propósito de una consola sería arreglar el sistema para que pudiera iniciarse el entorno gráfico.
Los servidores basados en Sun Niagara que ejecutan virtualización con Logical Domains obtienen servicios de consola virtual del dominio Control .
Ver también
- Escritorio virtual , funciona de manera similar a una consola virtual, pero funciona en escritorios gráficos en lugar de un símbolo del sistema
- Consola del sistema para la consola no virtual
- Terminal de texto para la interfaz textual en general
- Pseudo terminal para aún más consolas virtuales
- Emulador de terminal para un programa de aplicación que tiene la misma función que una consola virtual textual
Notas
- ^ "Mecanismo de ruta de confianza para entornos de terminales virtuales" . FreePatentsOnline.com . Consultado el 9 de abril de 2008 .
La patente de Estados Unidos 4945468 enumera Xenix como técnica anterior en esta área. - ^ Guzaitis, Joe (noviembre de 1983). "CP / M concurrente" . BYTE . págs. 257-268 . Consultado el 19 de marzo de 2016 .
- ^ "Volcados de pantalla" . El CÓMO del teclado y la consola de Linux . El proyecto de documentación de Linux . Consultado el 31 de julio de 2008 .
Se puede acceder al contenido actual de la pantalla de / dev / ttyN usando el dispositivo / dev / vcsN (donde `vcs 'significa` pantalla de consola virtual'). [...] Desde un programa, generalmente es mejor usar / dev / vcsaN ('pantalla de consola virtual con atributos') en su lugar - comienza con un encabezado que indica el número de filas y columnas y la ubicación del cursor. Consulte vcs (4).
Referencias
- Manual de FreeBSD, capítulo 3.2 Consolas y terminales virtuales
enlaces externos
- El CÓMO del teclado y la consola de Linux
- Comando chvt de Linux para cambiar vt de cmdline
- XENIX: la breve historia de amor de Microsoft con Unix