Articulo de referencia

Interfaz de usuario basada en texto

Algunos gestores de archivos implementan una interfaz de texto ( por ejemplo: Midnight Commander ). Vim es un editor de texto con interfaz de texto muy utilizado. En informática...

Algunos gestores de archivos implementan una interfaz de texto ( por ejemplo: Midnight Commander ).
Vim es un editor de texto con interfaz de texto muy utilizado.

En informática , las interfaces de usuario basadas en texto ( TUI ) (o interfaces de usuario de terminal , para reflejar una dependencia de las propiedades de los terminales de computadora y no solo del texto) son un retrónimo que describe un tipo de interfaz de usuario (UI) común como una forma temprana de interacción humano-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 usar toda el área de la pantalla y pueden aceptar entradas de ratón y otras. También pueden usar color y a menudo estructuran la visualización usando caracteres de dibujo de cajas como ┌ y ╣. El contexto de uso moderno suele ser un emulador de terminal .

Tipos de terminales de texto

En los primeros años de la informática, los terminales de texto solían ser dispositivos con teclado e impresora. Sin embargo, actualmente predominan los dispositivos con teclado y pantalla.

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 pantalla local en modo texto , controlada por un adaptador de vídeo o el propio procesador central. Esta es la condición habitual para una aplicación que se ejecuta localmente en diversos tipos de ordenadores personales y dispositivos móviles . Si el sistema operativo no lo impide , un programa inteligente puede aprovechar al máximo el potencial del modo texto del hardware.
  2. Un emulador de modo texto . Algunos ejemplos son TN3270 , xterm para el sistema X Window y la consola win32 (en modo ventana) para Microsoft Windows . Generalmente, admite programas que requieren una visualización en modo texto real, pero puede funcionar considerablemente más lento. Ciertas funciones de un modo texto avanzado, como la carga de fuentes personalizadas , casi con seguridad dejarán de estar disponibles.
  3. Un terminal de texto remoto . Las capacidades de comunicación suelen reducirse a una línea serie o su emulación, posiblemente con algunas llamadas ioctl () como canal fuera de banda en casos como Telnet y Secure Shell . Este es el peor escenario, ya que las restricciones de software limitan el uso de las capacidades de un dispositivo de visualización remoto.

Desde el punto de vista de la aplicación de texto , el tipo de visualización está determinado por la API, por ejemplo, curses , TPUT .

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

Existen numerosas bibliotecas de programación TUI disponibles para ayudar a los desarrolladores a crear aplicaciones TUI .

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 que los terminales creen interfaces de texto (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.

MS-DOS y Windows

La interfaz de usuario de FreeDOS Edit

En los ordenadores compatibles con IBM PC , el sistema básico de entrada/salida ( BIOS ) y las llamadas al sistema MS-DOS permitían 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, 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 lugar a numerosos programas TUI para DOS.El entorno de consola de Windows es conocido por emular ciertas características del modo 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 aplicaciones nativas como de DOS) tienen mucho menos control sobre la pantalla y el teclado que los programas de Linux y DOS, debido a la capa de consola de Windows mencionada anteriormente.

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

Por lo general, estos programas utilizaban un fondo azul para la pantalla principal, con caracteres blancos o amarillos, aunque también permitían la personalización del color por parte del usuario. A menudo empleaban caracteres de dibujo de recuadros de la página de códigos 437 de IBM . Posteriormente, la interfaz se vio profundamente influenciada por las interfaces gráficas de usuario (GUI), incorporando menús desplegables , ventanas superpuestas , cuadros de diálogo y widgets de GUI que se operaban mediante mnemónicos o atajos de teclado . Pronto se añadió la entrada de ratón , ya sea a resolución de texto como un simple recuadro de color o a 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  , lo que proporcionaba funciones adicionales.

Algunos programas destacados 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 la época 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 interfaz gráfica de usuario (GUI) en Windows de 16 bits , aún conserva su propia interfaz de texto (TUI).

Desde sus inicios, Microsoft Windows incluye una consola para mostrar software de 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 pantalla completa en modo texto verdadero y viceversa pulsando simultáneamente las teclas Alt y Enter . El modo de pantalla completa no está disponible en Windows Vista ni en versiones posteriores, pero puede utilizarse con algunas soluciones alternativas. [ 1 ]

Windows Terminal es un emulador de terminal con 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 añadió a Windows en 2019, permite ejecutar aplicaciones de texto de Linux en Windows, dentro de la consola de Windows , la Terminal de Windows y otras terminales basadas en Windows.

Sistemas tipo Unix

XFdrake, una interfaz de usuario de texto (TUI) utilizada en Mandriva Linux para configurar el sistema gráfico.
btop, una utilidad de gestión de tareas para Linux y otros sistemas operativos tipo Unix.

En los sistemas operativos tipo Unix , las interfaces de usuario de texto (TUI) suelen construirse utilizando la biblioteca de control de terminal curses , o ncurses (una biblioteca mayormente compatible), o la 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 comunicarse con varios tipos de terminales de texto utilizando las mismas interfaces propició 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 observar en editores de texto como vi , clientes de correo electrónico 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 antiguas de pine y vi utilizan la biblioteca termcap, menos potente , 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 dialog (basado en ncurses ) o el programa Whiptail (basado en S-Lang ).

Además, el auge de Linux atrajo a muchos antiguos usuarios de DOS a una plataforma similar a Unix, lo que propició la influencia de DOS en muchas interfaces de usuario de texto (TUI). El programa minicom , por ejemplo, está inspirado en el popular programa de DOS Telix . Otros programas TUI, como el entorno de escritorio Twin , también fueron adaptados .

La mayoría de los sistemas operativos tipo Unix (Linux, FreeBSD, etc.) admiten consolas virtuales , a las que normalmente se accede mediante la 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 texto a pantalla completa.

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

El editor de texto propietario de macOS, BBEdit, incluye una función de hoja de trabajo de shell que funciona como una ventana de shell a pantalla completa. El editor de texto gratuito 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 solo es adecuada para ejecutar programas TUI. Los otros modos de shell comunes, y solo emulan líneas de comandos y los programas TUI mostrarán el error "Terminal no es completamente funcional" o mostrarán una interfaz ilegible. Los editores de texto gratuitos Vim y Neovim tienen ventanas de terminal (simulando xterm ). La función está pensada para ejecutar tareas, compilaciones paralelas o pruebas, pero también se puede usar (con divisiones de ventana 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 curses llamada Screen Management o SMG. Esta podía invocarse desde la línea de comandos o llamarse desde programas que usaran 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 que aún recibe mantenimiento. A diferencia de la mayoría de las demás interfaces de usuario basadas en texto, Oberon no utiliza una consola o terminal en modo texto, sino que requiere una pantalla grande de mapa de bits, en la que el texto es el objetivo principal de los clics del ratón. De forma análoga a un enlace en hipertexto , un comando tiene el formato y se activa con un clic central del ratón. El texto que se muestra en cualquier parte de la pantalla se puede editar y, si está formateado con la sintaxis de comando requerida, se puede hacer clic central y ejecutar. Cualquier archivo de texto que contenga comandos con el formato adecuado se puede utilizar como un llamado texto de herramientas , sirviendo 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 , pero guarda algunas similitudes con la interfaz de hoja de cálculo del Macintosh Programmer's Workshop . Module.Procedure parameters ~

Dado que no utiliza widgets gráficos , sino solo texto plano, pero ofrece una funcionalidad comparable a la de una interfaz gráfica de usuario ( GUI) con un gestor de ventanas en mosaico , se la denomina Interfaz de Usuario de Texto (TUI, por sus siglas en inglés). Para una breve introducción, véase 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 cliente de correo electrónico Acme para el sistema operativo Plan 9 de Bell Labs .

Sistemas embebidos

Sistema embebido que muestra un menú en una pantalla LCD.

Los sistemas embebidos modernos son capaces de mostrar interfaces de usuario textuales (TUI) en un monitor, al igual que los ordenadores personales. Esta funcionalidad se suele implementar mediante circuitos integrados especializados, módulos o FPGA .

Los circuitos o módulos de vídeo suelen controlarse mediante un conjunto de comandos compatible con VT100 a través de UART ; los diseños FPGA suelen permitir el acceso directo a la memoria de vídeo.

Otros usos

  • El editor de pantalla completa de los ordenadores Commodore 64 de 8 bits era avanzado para su segmento de mercado en aquel momento. Los usuarios podían mover el cursor por toda la pantalla, introduciendo y editando líneas de código BASIC , así como comandos de modo directo . Todos los ordenadores Commodore de 8 bits utilizaban el conjunto de caracteres PETSCII , que incluía glifos adecuados para crear una interfaz de usuario de texto (TUI).
  • El entorno de programación Macintosh Programmer's Workshop de Apple incluía Commando, un intérprete de comandos con interfaz de texto. Este fue el que inspiró la hoja de trabajo del intérprete de comandos de BBEdit.
  • Los modelos posteriores de Apple II incluían MouseText , un conjunto de glifos gráficos utilizados para crear una interfaz de usuario de texto (TUI).
  • El ordenador Corvus Concept de 1982 utilizaba una interfaz de texto basada en teclas de función en una pantalla giratoria de página completa.

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. Archivado del original el 4 de diciembre de 2020. 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 .
Obtenido de " https://en.wikipedia.org/w/index.php?title=Text-based_user_interface&oldid=1333551376 "