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 la interacción persona-computadora , antes de la llegada de las pantallas de mapa de bits y las modernas interfaces gráficas de usuario (GUI) convencionales. Al igual que las GUI modernas, pueden utilizar toda el área de la pantalla y aceptar entradas del mouse y de otro tipo. También pueden usar color y, a menudo, estructurar la visualización utilizando caracteres de dibujo de cuadros como ┌ y ╣. El contexto de uso moderno suele ser un emulador de terminal .

Tipos de terminales de texto

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

  1. Una auténtica pantalla en modo texto , controlada por un adaptador de vídeo 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 disuade , un programa inteligente puede explotar todo el poder de un modo de texto de hardware.
  2. Un emulador en modo texto . Algunos ejemplos son xterm para X Window System y la consola win32 (en modo ventana) para Microsoft Windows . Por lo general, esto admite programas que esperan una visualización en modo de texto real, pero que pueden funcionar considerablemente más lento. Es casi seguro que algunas funciones del modo de texto avanzado, como la carga de fuentes propias , dejen de estar disponibles.
  3. Un terminal de texto remoto . Las capacidades de comunicación generalmente se reducen 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 remota.

Bajo 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, flujos estándar ) controla la pantalla y el teclado. Consulte a continuación una comparación con Windows.

Muchas bibliotecas de programación TUI están 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 usar para controlar terminales para crear 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.

Bajo DOS y Microsoft Windows

La interfaz de usuario de edición de FreeDOS

En las computadoras personales IBM y compatibles , el sistema básico de entrada y salida ( BIOS ) y las llamadas al sistema DOS brindan una forma de escribir texto en la pantalla, y el controlador ANSI.SYS podría procesar secuencias de escape ANSI estándar. Sin embargo, los programadores pronto aprendieron 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 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 de DOS.El entorno de la consola de Windows es conocido por su emulación de ciertas características del modo de texto EGA/VGA, particularmente 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 aplicaciones nativas como de DOS) tienen mucho menos control de la pantalla y el teclado que los programas de Linux y DOS, debido a la capa de consola de Windows antes mencionada.

Cursor del mouse 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, con cada movimiento del mouse en tiempo real. [ cita necesaria ]

La mayoría de las veces esos programas usaban un fondo azul para la pantalla principal, con caracteres blancos o amarillos, aunque comúnmente también tenían personalización del color por parte del usuario. A menudo utilizaban caracteres de dibujo de cuadros en la página de códigos 437 de IBM . Más tarde, la interfaz quedó profundamente influenciada por las interfaces gráficas de usuario (GUI), añadiendo menús desplegables , ventanas superpuestas , cuadros de diálogo y widgets GUI operados mediante mnemónicos o atajos de teclado . Pronto se agregó la entrada del mouse , ya sea con resolución de texto como un simple cuadro de color o con 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 mediante software  , proporcionando funciones adicionales.

Algunos programas notables de este tipo fueron Microsoft Word , DOS Shell , WordPerfect , Norton Commander , Borland Turbo Pascal y Turbo C basados ​​en Turbo Vision (este último incluía la biblioteca conio ), 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 los años 1990. Por ejemplo, el compilador Microsoft C 6.0, utilizado para escribir programas GUI reales en Windows de 16 bits , todavía tiene su propia TUI.

Desde sus inicios, Microsoft Windows incluye una consola para mostrar el software DOS. Las versiones posteriores agregaron la consola de Windows como interfaz nativa para la interfaz de línea de comandos y los programas TUI. La consola generalmente se abre en modo ventana, pero se puede cambiar a pantalla en modo texto verdadero completo y viceversa presionando las teclas Alt e Enter juntas. El modo de pantalla completa no está disponible en Windows Vista y versiones posteriores, pero se puede utilizar con algunas soluciones. [1]

Windows Terminal es un emulador de terminal de varias 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

Instantánea de 'XFdrake', una TUI utilizada en Mandriva Linux para configurar el sistema gráfico
btop: utilidad de gestión de tareas para Linux y otros sistemas operativos similares a Unix

En los sistemas operativos tipo Unix , las TUI a menudo se construyen 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 escribir TUI. La capacidad de hablar con varios tipos de terminales de texto utilizando las mismas interfaces llevó a un uso más generalizado de programas Unix "visuales", que ocupaban toda la pantalla del 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 de sistemas 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 , realizando muchas de las funciones asociadas con curses dentro de la aplicación. Las aplicaciones TUI personalizadas basadas en widgets se pueden desarrollar fácilmente utilizando el programa de diálogo (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, sigue el modelo del popular programa DOS Telix . Se trasladaron algunos otros programas de TUI, como el escritorio Twin .

La mayoría de los sistemas operativos tipo Unix (Linux, FreeBSD, etc.) admiten consolas virtuales , a las que normalmente se accede 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 gratuito GNU Screen permite gestionar múltiples sesiones dentro de una única TUI, por lo que puede considerarse como un administrador de ventanas para interfaces en modo texto y de línea de comandos. Tmux también puede hacer esto.

BBEdit, el editor de texto patentado de macOS , incluye una función de hoja de trabajo de shell que funciona como una ventana de shell de pantalla completa. El editor de texto gratuito de Emacs puede ejecutar un shell dentro de uno de sus búferes para proporcionar una funcionalidad similar. Hay varias implementaciones de shell en Emacs, pero sólo es adecuada para ejecutar programas TUI. Los otros modos de shell comunes, y solo emula líneas de comando y programas TUI, se quejarán "El terminal no es completamente funcional" o mostrarán una interfaz confusa. Los editores de texto gratuitos Vim y Neovim tienen ventanas de terminal (simulando xterm ). La función está destinada a ejecutar trabajos, compilaciones paralelas o pruebas, pero también se puede utilizar (con divisiones de ventanas y pestañas) como un multiplexor de terminal liviano. ansi-termshelleshell

AbiertoVMS

VAX/VMS (más tarde conocido como OpenVMS ) tenía una función similar a las maldiciones conocida como función de gestión de pantalla o SMG. Esto podría invocarse desde la línea de comandos o desde programas que utilicen 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 , lanzada por primera vez en 1988 y aún mantenida. 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. Los comandos en el formato se pueden activar con un clic central, como los hipervínculos . El texto que se muestra en cualquier lugar 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 ejecutar. Cualquier archivo de texto que contenga comandos con el formato adecuado se puede utilizar como el llamado texto de herramienta , sirviendo así como un menú configurable por el usuario. Incluso el resultado de un comando anterior se puede editar y utilizar como un comando nuevo. Este enfoque es radicalmente diferente tanto de los menús de consola convencionales orientados al diálogo como de las interfaces de línea de comandos .Module.Procedure parameters ~

Dado que no utiliza widgets gráficos , solo texto sin formato, pero ofrece una funcionalidad comparable a una GUI con un administrador de ventanas en mosaico , se la denomina 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 Acme y el cliente de correo electrónico para el sistema operativo Plan 9 de Bell Labs .

En sistemas integrados

Sistema integrado que muestra el menú en una pantalla LCD

Los sistemas integrados modernos son capaces de mostrar TUI en un monitor como las computadoras personales. Esta funcionalidad generalmente se implementa mediante circuitos integrados especializados, módulos o mediante FPGA .

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

Otros usos

Ver también

Ejemplos de bibliotecas de programación.

Referencias

  1. ^ cmd indica pantalla completa en Windows 7. Social.technet.microsoft.com. Recuperado 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". El borde .
  3. ^ "Manual de administración de pantalla OpenVMS RTL (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.