# Interfície de text

Interfície de text o Interfície d'usuari basada en text (TUI), és un símbol retònim encunyat en algun moment després de la invenció de les interfícies gràfiques d'usuari (GUI). Una TUI mostra gràfics per ordinador en mode de text. Les TUI han avançat pot, comparades amb les interfícies gràfiques, poden utilitzar tota l'àrea de pantalla i poden acceptar entrades de ratolí i altres dispositius.

## Tipus de terminals de text

Des del punt de vista de l'aplicació de text, una pantalla de text (i les comunicacions amb ella) poden pertànyer a un dels tres tipus (aquí ordenats per ordre d'accessibilitat decreixent):
* Una pantalla de mode de text genuïna, controlada per un adaptador de vídeo o el propi processador central. Aquesta és una condició normal per a una aplicació en execució local en diversos tipus d'ordinador personal i dispositius mòbils. Si el sistema operatiu no ho impedeix, un programa intel·ligent pot explotar tota la potència d'un maquinari en mode text.
* Un emulador de mode de text. Alguns exemples són la consola xTerm per al sistema X Window i la consola win32 (en mode finestra) per al Microsoft Windows. Normalment, suporta programes que esperen una visualització en mode text real, però que poden funcionar considerablement més lent. Certes funcions d'un mode de text avançat, com ara una càrrega de tipus de lletra propi, no solen estar disponibles.
* Un terminal de text remot. Les capacitats de comunicació solen reduir-se a una línia o a la seva emulació, possiblement amb pocs ioctl (s) com a canal fora de banda en casos com Telnet i Secure Shell. Aquest és el pitjor dels casos, ja que les restriccions de programari dificulten l'ús de capacitats d'un dispositiu de visualització remot.
Sota Linux i altres sistemes similars a Unix, un programa s'adapta fàcilment a qualsevol dels tres casos perquè la mateixa interfície (és a dir, fluxos estàndard) controla la pantalla i el teclat. A més, les biblioteques de programació especialitzades ajuden a emetre el text d'una manera adequada al dispositiu de visualització donat i a la seva interfície. Vegeu a continuació una comparació amb Windows.

## Terminals compatibles ANSI

L'estàndard ANSI X3.64 de l' Institut Nacional d'Estàndard Americà (ANSI) defineix un conjunt estàndard de seqüències d' escapament que es poden utilitzar per emprar terminals per crear TUIs (vegeu el codi d'escapament ANSI). Les seqüències d'escapament poden ser compatibles amb els tres casos esmentats a la secció anterior, que permeten moviments aleatoris del cursor i canvis de color. No obstant això, no tots els terminals segueixen aquest estàndard i existeixen moltes seqüències no compatibles però funcionalment equivalents.

## MS-DOS i Microsoft Windows

Als ordinadors personals i compatibles d' IBM, les trucades del sistema de sortida d'entrada bàsica (BIOS) i del sistema DOS proporcionen una manera d'escriure text a la pantalla i l' ANSI. El controlador SYS podria processar seqüències d'escapament ANSI estàndard. No obstant això, els programadors aviat van saber que escriure dades directament al buffer de pantalla era molt més ràpid i senzill de programar i menys propens a errors; consulteu el mode de text compatible amb VGA per poder obtenir més informació. Aquest canvi de mètodes de programació va resultar en molts programes DOS TUI. L'entorn de la consola win32 és conegut per la seva emulació de determinades funcions de mode de text EGA / VGA, especialment l'accés aleatori al buffer de text, fins i tot si l'aplicació s'executa en una finestra. D'altra banda, els programes que s'executen sota Windows (tant les aplicacions natives com les aplicacions DOS) tenen molt menys control de la pantalla i el teclat que els programes Linux i DOS poden tenir, a causa de la capa de consola win32 esmentada.
Sovint, aquests programes utilitzaven un fons blau per a la pantalla principal, amb caràcters blancs o grocs, tot i que normalment també tenien personalització de color per a usuaris. Sovint utilitzaven caràcters de marc de text de la pàgina de codi 437 d' IBM. Posteriorment, la interfície es va veure profundament influenciada per les interfícies gràfiques d'usuari (GUI), afegint menús desplegables, superposicions de finestres, quadres de diàleg i widgets de GUI operats per mnemònics o dreceres de teclat. Aviat s'hi va afegir l'entrada del ratolí - bé a la resolució de text com a caixa de colors simple o per resolució gràfica gràcies a la capacitat dels adaptadors de gràfics millorats (EGA) i de la gtargeta VGA per redefinir les formes de caràcters de text mitjançant el programari i proporcionar funcions addicionals.
Alguns programes destacats d'aquest tipus van ser Microsoft Word, DOS Shell, WordPerfect, Norton Commander, Turbo Vision basat en Borland Turbo Pascal i Turbo C (aquest últim incloïa la biblioteca conio), Lotus 1-2-3 i molts altres. Algunes d'aquestes interfícies van sobreviure fins i tot durant el període de Microsoft Windows 3.1x a principis dels anys noranta. Per exemple, el compilador Microsoft C 6.0, que s'utilitza per escriure programes de GUI reals sota Windows de 16 bits, encara té el seu propi TUI.
Des del seu inici, Microsoft Windows inclou una consola per mostrar el programari DOS. Les versions posteriors van afegir la consola Win32 com a interfície nativa per a la interfície de línia d'ordres i els programes TUI. La consola generalment s'obre en mode finestra, però es pot canviar a la pantalla de mode de text complet i veritable i viceversa prement les tecles Alt i Retorn junts. El mode de pantalla completa no està disponible a Windows Vista i posteriors, però es pot utilitzar amb algunes solucions.

## Sistemes tipus Unix

En sistemes operatius similars a Unix, sovint es construeixen TUIs utilitzant les CURSES de la biblioteca de control de terminal, o ncurses, una biblioteca majoritàriament compatible.
L'arribada de la biblioteca de Curses amb Berkeley Unix ha creat una API portàtil i estable per a la qual escriure TUIs. La capacitat de parlar amb diversos tipus de terminals de text utilitzant les mateixes interfícies va provocar un ús més generalitzat de programes Unix "visuals", que van ocupar tota la pantalla del terminal en lloc d'utilitzar una interfície de línia senzilla. Això es pot veure en els editors de text com VI, clients de correu, eines de gestió de sistemes, com ara la Smit, SAM, FreeBSD 's Sysinstall i navegadors web com ara el linx. Algunes aplicacions, com ara W3m i versions anteriors de pine i vi utilitzen la biblioteca de capçaleres de menor rendiment, realitzant moltes de les funcions associades a CURSES dins de l'aplicació.
A més, l'augment de la popularitat del Linux va portar a molts antics usuaris de DOS a una plataforma similar a Unix, que ha impulsat una influència del DOS en molts tipus de TUIs. El programa minicom, per exemple, es basa en el popular programa Telix de MS-DOS. Alguns altres programes TUI, com ara l'escriptori Twin, van ser duts a terme.
La majoria dels sistemes operatius similars a Unix (Linux, FreeBSD, etc.) donen suport a les consoles virtuals, normalment accedides per una combinació de tecles Ctrl-Alt-F. Per exemple, a Linux es pot accedir fins a 64 consoles (12 a través de tecles de funció), cada una de les quals es mostra en mode de text a pantalla completa.
El programa sota llicència GNU Screen proporciona la gestió de diverses sessions dins d'un sol TUI i, per tant, es pot considerar que és com un gestor de finestres per a interfícies en mode text i en línia. Tmux també pot fer-ho.
L'editor de text propietari de macOS BBEdit inclou una funció de full de treball de l'intèrpret d'ordres que funciona com a finestra de l'intèrpret d'ordres de pantalla completa. L'editor de text gratuït, Emacs pot executar un intèrpret d'ordres dins d'un dels seus buffers per proporcionar funcionalitats similars. Hi ha diverses implementacions del shell a Emacs, però només el mode ansi-term és adequat per executar aplicacions TUI. Els altres modes comuns shell i eshell només emulen les línies de comandament i les aplicacions TUI es queixen amb el misstge: "El terminal no és completament funcional" o mostra una interfície confusa. Els gratuïtes Vim i Neovim editors de text tenen finestres de terminal (simulant xterm). La funció està pensada per executar treballs, versions paral·leles o proves, però també es pot utilitzar (amb separacions de finestres i pàgines de pestanyes) com a multiplexor de terminal de pes lleuger.

## OpenVMS

VAX / VMS i el desenvolupament posterior d'OpenVMS tenia una facilitat similar a CURSES conegudes com a instal·lació de gestió de pantalla o SMG. Això es pot invocar des de la línia d'ordres o des del programa que utilitza la biblioteca SMG $.

## Oberon

Un altre tipus de TUI és la interfície principal del sistema operatiu Oberon, publicada per primera vegada el 1988 i encara enús. A diferència de la majoria d'interfícies d'usuaris basades en text, Oberon no utilitza una consola o terminal de mode de text, però requereix una alta resolució de mapa de bits, sobre el text objectiu principal dels clics del ratolí. Ordres en el format Module. Procedure parameters ~ es pot activar amb un clic central, com els enllaços. El text que es mostra en qualsevol lloc de la pantalla es pot editar i, si es formata amb la sintaxi requerida, es pot fer clic i executar-lo. Qualsevol fitxer de text que conté ordres amb format adequat es pot utilitzar com eina de text, servint així com un menú configurable per l'usuari. Fins i tot la sortida d'una ordre anterior es pot editar i utilitzar com a nova comanda. Aquest enfocament és radicalment diferent tant dels menús de consola orientats al diàleg com de les interfícies de línia d'ordres.
Com que no utilitza widgets gràfics, només text normal, però ofereix funcionalitats comparables a una interfície gràfica d'usuari amb un gestor de finestres de mosaic, es coneix com a interfície d'usuari de text o TUI. Per a una breu introducció, vegeu el segon paràgraf de la pàgina quatre del primer informe publicat sobre el sistema Oberon.
La interfície d'usuari d' Oberon va influir en el disseny de l'editor de text Acme i del client de correu electrònic del Pla 9 del sistema operatiu Bell Labs .

## Sistemes embedded

Els sistemes integrats moderns són capaços de mostrar TUI en un monitor com a ordinadors personals. Aquesta funcionalitat normalment s'implementa mitjançant circuits integrats especialitzats, mòduls o utilitzant FPGA.
Els circuits o mòduls de vídeo solen controlar-se mitjançant un comandament compatible amb VT100 configurat per UART, dissenys FPGA solen permetre l'accés directe de memòria de vídeo.

## Altres usos

* L' editor de pantalla completa dels Commodore 64 de 8 bits es va avançar en el seu segment de mercat per al seu temps. Els usuaris podrien moure el cursor per tota l'àrea de pantalla, introduint i editant les línies del programa BASIC, així com les ordres del mode directe. Tots els ordinadors de Commodore de 8 bits utilitzaven el joc de caràcters PETSCII, que incloïa glifs de caràcters adequats per fer un TUI.
* L'entorn de programació de Workshop del programador Macintosh d'Apple incloïa Command, un intèrpret d'ordres TUI. Va ser la inspiració per al full de treball de shell de BBEdit.
* Els models més recents d'Apple II van incloure MouseText, un conjunt de glifs gràfics utilitzats per fer un TUI.
* L'ordinador Corvus Concept de 1982 va utilitzar una interfície de text basada en tecles de funció en una pantalla pivotant de pàgina completa.

### Exemples i llibreries

* Curses (biblioteca de programació)
* Ncurses
* Scream Tracker
* Impulse Tracker
* Newt
* Turbo Vision
* Versions primitives de Visual Basic

## Vegeu també

* Línia d'ordres
* Marc de text
* Interfície d'usuari de llengua natural
* VisiCalc

## Referències

* ↑ cmd prompt full screen in Windows 7 Arxivat 2013-01-03 at Archive.is. Social.technet.microsoft.com. Retrieved on 2013-06-15.
* ↑ Niklaus Wirth & Jürg Gutknecht: (1988) The Oberon System. Report Nr. 88.