Gestión y cambio de consolas TTY en Ubuntu con chvt

Introducción y contexto operativo

En sistemas GNU/Linux como Ubuntu, la capacidad de interactuar con consolas virtuales independientes (TTY) constituye una herramienta indispensable para cualquier administrador de sistemas. Cuando la interfaz gráfica de usuario sufre un bloqueo o resulta necesario aislar labores administrativas en modo texto puro, la manipulación directa de terminales virtuales ofrece una vía de rescate fiable. En esta guía examinaremos cómo alternar pantallas mediante chvt y cómo supervisar el ciclo de vida de estos canales con utilidades complementarias del sistema.

Identificación de la sesión actual y la consola TTY activa

La herramienta tty consulta la entrada estándar para identificar la ruta del dispositivo de terminal asociado al proceso en ejecución. La respuesta not a tty confirma que el contexto actual corresponde a una sesión no interactiva o ejecutada por un flujo automatizado, sin conexión a una consola física (tty) ni a un emulador gráfico (pts).

Comprobación del dispositivo de terminal activo

A continuación, el comando who permite auditar los usuarios con sesión iniciada y sus correspondientes terminales. El hecho de que no devuelva ninguna línea de texto indica que no hay cuentas de usuario interactivas autenticadas en ese momento en el sistema.

Listado de sesiones interactivas de usuario con who

Para conocer cuál es la consola virtual proyectada físicamente en pantalla, se recurre a fgconsole. La siguiente instrucción comprueba si la herramienta existe en el entorno y, en caso contrario, descarga y configura el paquete de utilidades kbd.

which fgconsole || (sudo apt-get update -qq && sudo apt-get install -y kbd)

Una vez disponible, ejecutamos fgconsole para interrogar al controlador de pantalla sobre la terminal en primer plano. La salida 1 indica que la pantalla activa del monitor corresponde a la primera terminal del sistema (tty1).

fgconsole

Conmutación de pantallas TTY mediante el comando chvt

Antes de modificar el display, verificamos la presencia del binario chvt, garantizando su instalación mediante el paquete kbd en caso de faltar. El resultado /usr/bin/chvt ratifica que el ejecutable está listo para su uso en la ruta administrativa habitual.

which chvt || (sudo apt-get update -qq && sudo apt-get install -y kbd)

El comando chvt (change virtual terminal) fuerza al adaptador de vídeo a alternar de inmediato hacia la consola virtual indicada. Al invocar sudo chvt 1, se aplican privilegios de superusuario para situar el monitor en tty1. Fiel al principio de silencio de UNIX, la operación exitosa conmuta la imagen sin generar mensajes superfluos en la salida estándar.

sudo chvt 1

Siguiendo el mismo mecanismo, la orden sudo chvt 2 redirige la pantalla física a la segunda terminal (tty2). En distribuciones modernas de Ubuntu, las primeras consolas suelen alternarse entre el gestor de pantalla gráfico (GDM/GNOME) y terminales auxiliares de diagnóstico. La culminación limpia del comando sin avisos de error ratifica que el hardware conmutó de pantalla satisfactoriamente.

sudo chvt 2

Ejecución de procesos en terminales independientes con openvt

El comando openvt permite instanciar una terminal virtual desocupada para despachar en ella un comando específico sin interrumpir la consola en la que se trabaja. Al ejecutar sudo openvt -c 3 -- ls -la /var/log, se reserva la terminal tty3 y se asigna a esta la visualización del directorio /var/log. La ausencia de advertencias confirma la correcta inicialización del proceso en segundo plano.

sudo openvt -c 3 – ls -la /var/log

Para visualizar el resultado de la tarea recién enviada a tty3, cambiamos el visor físico con sudo chvt 3. Este salto ubica de forma instantánea al operador frente a la salida generada por la instrucción previa. La transición se efectúa limpiamente y sin mensajes de error en la consola origen.

sudo chvt 3

Liberación de recursos y cierre de consolas con deallocvt

Cuando una terminal virtual concluye su ciclo de uso, es recomendable liberar la memoria que el núcleo de Linux reserva para su búfer. La instrucción deallocvt asume esta tarea de limpieza; al correr sudo deallocvt 3, se desmonta la asignación de recursos correspondiente a tty3. El retorno silencioso confirma que el kernel recicló la memoria de manera exitosa.

sudo deallocvt 3

Si volvemos a consultar la terminal en primer plano con fgconsole, el valor reportado sigue siendo 3. Este comportamiento ilustra una particularidad técnica: desasignar la estructura interna de una consola no expulsa al monitor a otra terminal a menos que se fuerce activamente un nuevo cambio mediante chvt.

fgconsole

Dominar la gestión de consolas virtuales con chvt, fgconsole, openvt y deallocvt brinda un control indispensable para solventar fallos en el entorno gráfico y gestionar sesiones locales de bajo nivel en cualquier servidor Ubuntu.