Este artículo demuestra cómo acceder al contenido de una consola virtual en Linux desde cualquier terminal utilizando la herramienta screendump
.
Una consola virtual (VC), o terminal virtual (VT), es la combinación conceptual de teclado y pantalla (entrada y salida estándar, respectivamente) que representa una interfaz de usuario característica de los sistemas operativos de la familia Unix. En Linux y otras plataformas, típicamente las primeras 6 consolas virtuales (vcs
o virtual console screen) proveen una terminal de texto con un login a una shell como sh o Bash. Es posible acceder al contenido de cualquiera de estas consolas desde una terminal en Linux mediante screendump
.
Las consolas virtuales son representadas por dispositivos especiales como /dev/tty
, /dev/tty*
, /dev/console
, /dev/vcs*
(virtual console screen), /dev/vcsa
(virtual console screen with attributes), etc.
Los archivos especiales /dev/vcs[1-63]
son dispositivos de caracteres que representan la memoria actualmente mostrada en cada consola virtual.
A veces puede llegar a ser necesario visualizar el contenido de una consola virtual, por ejemplo en el caso de errores o mensajes arrojados por salida estándar por demonios en segundo plano. Esto puede ser especialmente útil en sistemas a los que se accede vía SSH, en los cuales no es posible acceder directamente a una consola virtual (ya sea acceder físicamente a los periféricos o mediante consolas remotas como iDRAC/iLO/IMM).
Por ello es útil conocer este tipo de herramientas, que pueden "sacarnos del paso" cuando las papas queman.
El utilitario screendump
, provisto por el paquete kbd en Debian y derivados,permite volcar por pantalla el contenido de cualquier consola virtual. Simplemente se debe pasar como parámetro el número de consola que corresponde con el dispositivo /dev/vcs[1-63]
.
Por ejemplo, para visualizar la TTY número 1:
root@hal9000:~# screendump 1 | head Devuan GNU/Linux 3 hal9000 tty1 hal9000 login:
Se observa el prompt de login de la consola virtual.
Para más información, consultar las siguientes páginas de manual:
man screendump man vcs man tty man setterm
Referencias