stringtranslate.com

Interfaz de usuario basada en texto

Algunos administradores de archivos implementan una TUI ( aquí: Midnight Commander )
Vim es un editor de texto TUI muy utilizado

En informática , las interfaces de usuario basadas en texto ( TUI ) (alternativamente interfaces de usuario de terminal , para reflejar una dependencia de las propiedades de los terminales de computadora y no solo del texto) es un retrónimo que describe un tipo de interfaz de usuario (UI) común como una forma temprana de interacción hombre-computadora , antes del advenimiento de las pantallas de mapa de bits y las interfaces gráficas de usuario (GUI) convencionales modernas . Al igual que las GUI modernas, pueden usar toda el área de la pantalla y pueden aceptar entradas del mouse y otras. También pueden usar color y, a menudo, estructuran la pantalla usando caracteres de dibujo de cajas como ┌ y ╣. El contexto moderno de uso suele ser un emulador de terminal .

Tipos de terminales de texto

Desde el punto de vista de una aplicación de texto , una pantalla de texto (y las comunicaciones con ella) pueden pertenecer a uno de tres tipos (aquí ordenados en orden decreciente de accesibilidad):

  1. Una pantalla en modo texto genuina , controlada por un adaptador de video o por el propio procesador central. Esta es una condición normal para una aplicación que se ejecuta localmente en varios tipos de computadoras personales y dispositivos móviles . Si el sistema operativo no lo impide , un programa inteligente puede aprovechar al máximo el poder de un modo texto de hardware.
  2. Un emulador de modo texto . Algunos ejemplos son xterm para el sistema X Window y la consola win32 (en modo ventana) para Microsoft Windows . Normalmente, admite programas que esperan una visualización en modo texto real, pero puede funcionar considerablemente más lento. Es casi seguro que algunas funciones de un modo texto avanzado, como la carga de una fuente propia , no estén disponibles.
  3. Un terminal de texto remoto . Las capacidades de comunicación suelen reducirse a una línea serial o su emulación, posiblemente con algunos ioctl () como canal fuera de banda en casos como Telnet y Secure Shell . Este es el peor de los casos, porque las restricciones de software dificultan el uso de las capacidades de un dispositivo de visualización remoto.

En Linux y otros sistemas similares a Unix , un programa se adapta fácilmente a cualquiera de los tres casos porque la misma interfaz (es decir, los flujos estándar ) controla la pantalla y el teclado. Vea a continuación una comparación con Windows.

Hay muchas bibliotecas de programación TUI disponibles para ayudar a los desarrolladores a crear aplicaciones TUI .

En terminales compatibles con ANSI

El estándar ANSI X3.64 del Instituto Nacional Estadounidense de Estándares (ANSI) define un conjunto estándar de secuencias de escape que se pueden utilizar para hacer que los terminales creen interfaces de usuario de interfaz (TUI) (consulte el código de escape ANSI ). Las secuencias de escape pueden ser compatibles con los tres casos mencionados en la sección anterior, lo que permite movimientos arbitrarios del cursor y cambios de color. Sin embargo, no todos los terminales siguen este estándar y existen muchas secuencias no compatibles pero funcionalmente equivalentes.

En DOS y Microsoft Windows

La interfaz de usuario de FreeDOS Edit

En las computadoras personales IBM y compatibles , el sistema básico de entrada y salida ( BIOS ) y las llamadas al sistema DOS proporcionan una forma de escribir texto en la pantalla, y el controlador ANSI.SYS podía procesar secuencias de escape ANSI estándar. Sin embargo, los programadores pronto descubrieron que escribir datos directamente en el búfer de pantalla era mucho más rápido y sencillo de programar, y menos propenso a errores; consulte el modo de texto compatible con VGA para obtener más detalles. Este cambio en los métodos de programación dio como resultado muchos programas TUI DOS.El entorno de consola de Windows es conocido por su emulación de ciertas características del modo de texto EGA/VGA, en particular el acceso aleatorio al búfer de texto, incluso si la aplicación se ejecuta en una ventana. Por otro lado, los programas que se ejecutan en Windows (tanto las aplicaciones nativas como las de DOS) tienen mucho menos control de la pantalla y el teclado que los programas de Linux y DOS, debido a la mencionada capa de consola de Windows.

Cursor del ratón en Impulse Tracker . Se logró un cursor más preciso (resolución por píxel) regenerando los glifos de los caracteres utilizados donde el cursor era visible, en cada movimiento del ratón en tiempo real. [ cita requerida ]

La mayoría de las veces, estos programas usaban un fondo azul para la pantalla principal, con caracteres blancos o amarillos, aunque comúnmente también tenían la personalización del color del usuario. A menudo usaban caracteres de dibujo de cuadros en la página de códigos 437 de IBM . Más tarde, la interfaz se vio profundamente influenciada por las interfaces gráficas de usuario (GUI), agregando menús desplegables , ventanas superpuestas , cuadros de diálogo y widgets GUI operados por mnemotécnicos o atajos de teclado . Pronto se agregó la entrada del mouse , ya sea en resolución de texto como un simple cuadro de color o en resolución gráfica gracias a la capacidad de los adaptadores de pantalla Enhanced Graphics Adapter (EGA) y Video Graphics Array (VGA) para redefinir las formas de los caracteres de texto por software  , proporcionando funciones adicionales.

Algunos programas notables de este tipo fueron Microsoft Word , DOS Shell , WordPerfect , Norton Commander , Borland Turbo Pascal y Turbo C (este último incluía la biblioteca conio ) basados ​​en Turbo Vision , Lotus 1-2-3 y muchos otros. Algunas de estas interfaces sobrevivieron incluso durante el período de Microsoft Windows 3.1x a principios de la década de 1990. Por ejemplo, el compilador Microsoft C 6.0, utilizado para escribir programas con verdadera GUI en Windows de 16 bits , todavía tiene su propia TUI.

Desde sus inicios, Microsoft Windows incluye una consola para visualizar el software DOS. Las versiones posteriores añadieron la consola de Windows como interfaz nativa para la interfaz de línea de comandos y los programas TUI. La consola suele abrirse en modo ventana, pero se puede cambiar a modo de pantalla completa, de texto real, y viceversa, pulsando las teclas Alt y Enter juntas. El modo de pantalla completa no está disponible en Windows Vista y versiones posteriores, pero se puede utilizar con algunas soluciones alternativas. [1]

Windows Terminal es un emulador de terminal de múltiples pestañas que Microsoft ha desarrollado para Windows 10 y versiones posteriores [2] como reemplazo de Windows Console .

El subsistema de Windows para Linux , que Microsoft agregó a Windows en 2019, admite la ejecución de aplicaciones basadas en texto de Linux en Windows, dentro de la consola de Windows , la Terminal de Windows y otras terminales basadas en Windows.

En sistemas tipo Unix

Captura de pantalla de 'XFdrake', una TUI utilizada en Mandriva Linux para configurar el sistema gráfico
btop - utilidad de administración de tareas para Linux y otros sistemas operativos tipo Unix

En sistemas operativos tipo Unix , las TUI se construyen a menudo utilizando la biblioteca de control de terminal curses o ncurses (una biblioteca mayoritariamente compatible), o la biblioteca alternativa S-Lang . La llegada de la biblioteca curses con Berkeley Unix creó una API portátil y estable para la que escribir TUI. La capacidad de comunicarse con varios tipos de terminales de texto utilizando las mismas interfaces llevó a un uso más extendido de programas Unix "visuales", que ocupaban toda la pantalla de la terminal en lugar de utilizar una interfaz de línea simple. Esto se puede ver en editores de texto como vi , clientes de correo como pine o mutt , herramientas de administración del sistema como SMIT , SAM, Sysinstall de FreeBSD y navegadores web como lynx . Algunas aplicaciones, como w3m y versiones anteriores de pine y vi, utilizan la biblioteca termcap , menos capaz , que realiza muchas de las funciones asociadas con curses dentro de la aplicación. Se pueden desarrollar fácilmente aplicaciones TUI personalizadas basadas en widgets utilizando el programa dialog (basado en ncurses ) o el programa Whiptail (basado en S-Lang ).

Además, el aumento de la popularidad de Linux llevó a muchos antiguos usuarios de DOS a una plataforma similar a Unix, lo que ha fomentado la influencia de DOS en muchas TUI. El programa minicom , por ejemplo, está basado en el popular programa DOS Telix . Algunos otros programas TUI, como el escritorio Twin , fueron adaptados .

La mayoría de los sistemas operativos tipo Unix (Linux, FreeBSD, etc.) admiten consolas virtuales , a las que se accede normalmente mediante una combinación de teclas Ctrl-Alt-F. Por ejemplo, en Linux se puede acceder a hasta 64 consolas (12 mediante teclas de función), cada una de las cuales se muestra en modo de texto de pantalla completa.

El programa de software libre GNU Screen permite gestionar varias sesiones dentro de una única interfaz de usuario única, por lo que puede considerarse como un gestor de ventanas para interfaces de línea de comandos y de modo texto. Tmux también puede hacer esto.

El editor de texto propietario de macOS BBEdit incluye una función de hoja de cálculo de shell que funciona como una ventana de shell de pantalla completa. El editor de texto gratuito Emacs puede ejecutar un shell dentro de uno de sus buffers para proporcionar una funcionalidad similar. Hay varias implementaciones de shell en Emacs, pero solo es adecuado para ejecutar programas TUI. Los otros modos de shell comunes, y solo emulan líneas de comando y programas TUI, se quejarán de que "Terminal no es completamente funcional" o mostrarán una interfaz ilegible. Los editores de texto gratuitos Vim y Neovim tienen ventanas de terminal (que simulan xterm ). La función está pensada para ejecutar trabajos, compilaciones paralelas o pruebas, pero también se puede utilizar (con divisiones de ventanas y páginas de pestañas) como un multiplexor de terminal ligero. ansi-termshelleshell

OpenVMS

VAX/VMS (más tarde conocido como OpenVMS ) tenía una función similar a Curse, conocida como Screen Management Facility o SMG. Esta función se podía invocar desde la línea de comandos o desde programas que utilizaban la biblioteca SMG$. [3]

Oberón

Captura de pantalla del escritorio de un sistema Oberon que muestra una imagen y varios visores de texto

Otro tipo de TUI es la interfaz principal del sistema operativo Oberon , lanzado por primera vez en 1988 y aún mantenido. A diferencia de la mayoría de las otras interfaces de usuario basadas en texto, Oberon no utiliza una consola o terminal en modo texto, sino que requiere una gran pantalla de mapa de bits, en la que el texto es el objetivo principal de los clics del mouse. De manera análoga a un enlace en hipertexto , un comando tiene el formato y se activa con un clic central del mouse. El texto que se muestra en cualquier parte de la pantalla se puede editar y, si se formatea con la sintaxis de comando requerida, se puede hacer clic con el botón central y ejecutarlo. Cualquier archivo de texto que contenga comandos con el formato adecuado se puede utilizar como un llamado texto de herramienta , que sirve así como un menú configurable por el usuario. Incluso la salida de un comando anterior se puede editar y utilizar como un nuevo comando. Este enfoque es radicalmente diferente tanto de los menús de consola orientados al diálogo convencionales como de las interfaces de línea de comandos .Module.Procedure parameters ~

Dado que no utiliza widgets gráficos , sino solo texto sin formato, pero ofrece una funcionalidad comparable a una GUI con un administrador de ventanas en mosaico , se lo conoce como Interfaz de usuario de texto o TUI. Para una breve introducción, consulte el segundo párrafo de la página cuatro del primer Informe publicado sobre el sistema Oberon . [4]

La interfaz de usuario de Oberon influyó en el diseño del editor de texto y el cliente de correo electrónico Acme para el sistema operativo Plan 9 de Bell Labs .

En sistemas embebidos

Sistema integrado que muestra el menú en una pantalla LCD

Los sistemas integrados modernos son capaces de mostrar la interfaz de usuario de un ordenador en un monitor, como los ordenadores personales. Esta funcionalidad suele implementarse mediante circuitos integrados especializados, módulos o mediante FPGA .

Los circuitos o módulos de video generalmente se controlan mediante un conjunto de comandos compatible con VT100 a través de UART . [ cita requerida ] Los diseños FPGA generalmente permiten el acceso directo a la memoria de video. [ cita requerida ]

Otros usos

Véase también

Ejemplos de bibliotecas de programación

Referencias

  1. ^ Símbolo del sistema en pantalla completa en Windows 7. Social.technet.microsoft.com. Consultado el 15 de junio de 2013.
  2. ^ Warren, Tom (6 de mayo de 2019). "Microsoft presenta Windows Terminal, una nueva aplicación de línea de comandos para Windows". The Verge .
  3. ^ "Manual de administración de pantalla RTL de OpenVMS (SMG$)". hpe.com . 2001 . Consultado el 1 de enero de 2021 .
  4. ^ Wirth, Niklaus ; Gutknecht, Jürg (1988). El sistema Oberon (PDF) (Informe técnico). ETH Eidgenössische Technische Hochschule Zürich, Institut für Informatik. vol. 88. doi : 10.3929/ethz-a-000487176.