Interfaz de usuario de texto

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 28 de febrero de 2022; las comprobaciones requieren 3 ediciones .

La interfaz de usuario de texto , TPI ( eng.  Interfaz de usuario de texto, TUI ; también interfaz de usuario de caracteres, CUI ) es un tipo de interfaz de usuario que utiliza solo un conjunto de caracteres alfanuméricos y caracteres pseudográficos para la entrada y salida y la presentación de información . Se caracteriza por una baja demanda de recursos de los equipos de entrada-salida (en particular, la memoria ) y una alta velocidad de visualización de la información. Apareció en una de las etapas iniciales del desarrollo de la tecnología informática , con el desarrollo de capacidades de hardware destinadas a implementar la interfaz de línea de comandos que apareció anteriormente , que, a su vez, es heredera del uso de teletipos como interfaz para la tecnología informática. . La interfaz de línea de comandos tiene una serie de ventajas de usabilidad sobre la interfaz gráfica , por lo que los programas con una interfaz de texto se crean y utilizan hasta el día de hoy, especialmente en áreas específicas y en equipos de baja potencia.

La desventaja de este tipo de interfaz son los medios visuales limitados debido a la cantidad limitada de caracteres incluidos en la fuente proporcionada por el hardware.

Los programas con una interfaz de texto pueden implementar una interfaz de ventana , lo que se ve especialmente facilitado por el uso de símbolos pseudográficos.

Interfaz de línea de comandos

Una interfaz de texto que reproduce las capacidades de un teletipo, es decir, imita una cinta interminable de papel desplazándose en la pantalla, en la que el usuario puede ingresar el texto de los comandos y debajo recibir los resultados de su trabajo también en forma de texto. , se denomina interfaz de línea de comandos . Además, estos programas a menudo se denominan programas de consola  , porque los sistemas donde la información se ingresa y se emite a través de una consola de texto, básicamente implementan la interfaz de línea de comandos.

Características de la interfaz de texto

En el caso más simple, una interfaz basada en texto usa una interfaz de línea de comandos , pero muchos programas usan elementos interactivos para crear una interfaz más fácil de usar que se acerque a la gráfica de manera conveniente .

La interfaz de texto puede implementar todos los elementos básicos de la interfaz utilizados en la interfaz gráfica: menús , botones , interruptores , casillas de verificación, listas desplegables , barras de desplazamiento, etc. Muchos programas implementaron un sistema de ventanas avanzado, con la ayuda de bibliotecas como CScape , D-Flat , Turbo Vision y muchas otras, algunas tenían temas cambiables (como DOS Navigator ) y admitían varios dispositivos de interacción interactiva como mouse , joystick , lápiz óptico .

A nivel de programa, los programas de consola utilizan dispositivos estándar de entrada-salida ( stdin, stdout, stderr) para la entrada y salida de información, aunque pueden abrir otros archivos , conexiones de red y realizar otras acciones disponibles en el entorno que los ejecuta. La salida de caracteres imprimibles y stdouthace stderrque esos caracteres aparezcan en el dispositivo de salida y sean recibidos por el usuario.

Los programas de consola para sistemas operativos más avanzados , especialmente UNIX , tienden a ejecutarse en una clase bastante amplia de implementaciones de interfaz de usuario. Para simplificar la escritura de tales programas, se usa ampliamente la biblioteca ncurses .

Implementación de la interfaz de texto

No se requiere que el programa de la consola se encargue de la implementación de la interacción del usuario en sí, limitándose a E/S en dispositivos estándar , utilizando bibliotecas como ncurses u otras interfaces de programación . La interacción real con el usuario generalmente la lleva a cabo el sistema operativo u otro software.

La implementación clásica de una interfaz de texto, que data de la primera mitad del siglo XX , es un dispositivo de entrada-salida alfanumérico, por ejemplo, un conjunto de teclado y ADC ( teleimpresora ). Posteriormente, en lugar de ATsPU, se comenzaron a utilizar monitores equipados con un generador de caracteres, lo que permitió organizar de manera rápida y conveniente un diálogo con el usuario. Casi todas las computadoras modernas están o pueden estar equipadas con tales dispositivos . Estos conjuntos de monitor y teclado (a veces con la adición de un mouse ) se denominan consola de computadora.

De acuerdo con la tradición de los programas de consola que utilizan el teclado y la ADPU para la entrada y la salida, respectivamente, la interacción de dichos programas con el usuario se redujo a la lectura desde la entrada estándar y la salida a la salida estándar. Por lo tanto, fue posible redirigir los flujos de entrada y salida interactuando con el usuario a través de otros dispositivos, incluidos los conectados a través de la red , así como mediante el uso de programas especiales: emuladores de terminal , por ejemplo, dibujando una ventana con texto en la interfaz gráfica de usuario. ( ventana de texto ).

En la década de 1970 y más tarde, incluso se produjeron dispositivos especiales que implementan una interfaz de texto: terminales de texto conectadas a través de un puerto serie a una computadora directamente o mediante un módem . Con la difusión de las computadoras personales , las funciones de una terminal de texto, por regla general, las realiza una computadora, en la que se ejecuta el programa de la consola u otra. Los programas Telnet y ssh permiten que un usuario interactúe con un programa de consola que se ejecuta en una computadora remota (generalmente con UNIX) a través de Internet o una red de área local . Los programas xterm , rxvt , konsole y muchos otros implementan una interfaz de texto a través de una ventana de texto en el entorno del Sistema X Window .

Se ha utilizado un enfoque alternativo a la salida de la consola en las computadoras personales, en particular (aunque no exclusivamente) la PC IBM que ejecuta DOS . El programa no solo puede generar datos a través de la salida estándar, sino que también puede cambiar directamente el contenido de un área de memoria determinada asociada con el generador de caracteres del monitor , lo que lleva a un cambio inmediato en los datos visibles en el monitor. Dichos programas también pueden ejecutarse en un entorno de Microsoft Windows . Además, Windows tiene soporte para ventanas de texto que es en muchos aspectos superior al de DOS, incluso para aplicaciones nativas de Windows.

Linux ofrece aún más opciones para los programas de consola. En particular, incluso sin ninguna interfaz gráfica, varios programas que se ejecutan simultáneamente pueden interactuar con el usuario sin conflicto, creando la ilusión de que hay varias consolas (consolas virtuales) en el sistema.

En los sistemas compatibles con POSIX , como UNIX y Linux, la interacción del usuario con el terminal se lleva a cabo mediante un subsistema especial denominado abstracción TTY .

Ejemplos de programas de consola

Algunos programas con TPI también pueden funcionar en modo consola: