Tekstbaseret brugergrænseflade - Text-based user interface

Nogle filadministratorer implementerer en TUI ( her: Midnight Commander )
Vim er en meget udbredt TUI -teksteditor

I computing er tekstbaserede brugergrænseflader ( TUI ) (skiftevis brugergrænseflader , der afspejler en afhængighed af computerterminalernes egenskaber og ikke kun tekst), et retronym, der beskriver en type brugergrænseflade (UI), der er almindelig som en tidlig form af interaktion mellem mennesker og computere , før grafiske brugergrænseflader (GUI'er) kom. Ligesom GUI'er kan de bruge hele skærmområdet og acceptere mus og andre input. De kan også bruge farve og ofte strukturere displayet ved hjælp af særlige grafiske tegn som ┌ og ╣, der i Unicode omtales som " bokstegning" -sættet . Den moderne brugskontekst er normalt en terminalemulator .

Typer af tekstterminaler

Set fra tekstprogrammets synspunkt kan en tekstskærm (og kommunikation med den) tilhøre en af ​​tre typer (her ordnet efter faldende tilgængelighed):

  1. En ægte teksttilstand , der styres af en videoadapter eller selve den centrale processor. Dette er en normal betingelse for et lokalt kørende program på forskellige typer personlige computere og mobile enheder . Hvis det ikke afskrækkes af operativsystemet, kan et smart program udnytte den fulde effekt af en hardware teksttilstand.
  2. En tekst-mode emulator . Eksempler er xterm til X Window System og win32 -konsol (i vinduetilstand) til Microsoft Windows . Dette understøtter normalt programmer, der forventer en ægte teksttilstand, men kan køre betydeligt langsommere. Visse funktioner i en avanceret teksttilstand, f.eks. Upload af en egen skrifttype , bliver næsten helt sikkert utilgængelige.
  3. En fjerntekstterminal . Kommunikationskapaciteterne bliver normalt reduceret til en seriel linje eller dens emulering, muligvis med få ioctl () som en out-of-band- kanal i tilfælde som Telnet og Secure Shell . Dette er i værste fald, fordi softwarebegrænsninger forhindrer brugen af ​​funktioner på en ekstern skærmenhed.

Under Linux og andre Unix-lignende systemer passer et program let til enhver af de tre sager, fordi den samme grænseflade (nemlig standardstrømme ) styrer skærmen og tastaturet. Også specialiseret programmering biblioteker hjælp til output teksten på en måde egnet til den givne skærm og interface til det. Se nedenfor for en sammenligning med Windows.

På ANSI-kompatible terminaler

American National Standards Institute (ANSI) standard ANSI X3.64 definerer et standardsæt af flugtsekvenser , der kan bruges til at drive terminaler til at oprette TUI'er (se ANSI -flugtkode ). Escape -sekvenser understøttes muligvis i alle tre tilfælde, der er nævnt i ovenstående afsnit, hvilket tillader vilkårlige markørbevægelser og farveændringer. Imidlertid følger ikke alle terminaler denne standard, og der findes mange ikke-kompatible, men funktionelt ækvivalente sekvenser.

Under DOS og Microsoft Windows

Den FreeDOS Rediger brugergrænseflade

IBM Personal Computers og kompatible computere giver Basic Input Output System ( BIOS ) og DOS -systemopkald en måde at skrive tekst på skærmen, og ANSI.SYS -driveren kunne behandle standard ANSI -escape -sekvenser. Men programmører lærte hurtigt, at skrive data direkte til skærmen bufferen var langt hurtigere og enklere at programmere, og mindre fejlbehæftet; se VGA-kompatibel teksttilstand for detaljer. Denne ændring i programmeringsmetoder resulterede i mange DOS TUI -programmer.Den win32 konsol miljø er berygtet for sin emulering af visse EGA / VGA tekst-mode funktioner, især tilfældig adgang til tekst buffer, selv om programmet kører i et vindue. På den anden side har programmer, der kører under Windows (både native- og DOS -applikationer) meget mindre kontrol over skærmen og tastaturet, end Linux og DOS -programmer kan have på grund af det førnævnte win32 -konsollag.

Musemarkør i Impulse Tracker . En mere præcis markør (opløsning pr. Pixel) blev opnået ved at regenerere tegnene, der blev brugt, hvor markøren var synlig, ved hver musebevægelse i realtid.

Oftest brugte disse programmer en blå baggrund til hovedskærmen med hvide eller gule tegn, selvom de normalt også havde brugerfarvetilpasning. De brugte ofte bokstegningstegn i IBM's kodeside 437 . Senere blev grænsefladen dybt påvirket af grafiske brugergrænseflader (GUI), tilføjelse af rullemenuer , overlappende vinduer , dialogbokse og GUI-widgets, der drives af mnemonics eller tastaturgenveje . Snart blev musen input tilføjet - enten ved tekstopløsning som en enkel farvet boks eller med grafisk opløsning takket være muligheden for Enhanced Graphics Adapter (EGA) og Video Graphics Array (VGA) displayadaptere til at omdefinere tekstkarakterformerne ved hjælp af software  - yderligere funktioner.

Nogle bemærkelsesværdige programmer af denne art var Microsoft Word , DOS Shell , WordPerfect , Norton Commander , Turbo Vision- baseret Borland Turbo Pascal og Turbo C (sidstnævnte inkluderede conio- biblioteket ), Lotus 1-2-3 og mange andre. Nogle af disse grænseflader overlevede selv under Microsoft Windows 3.1x -perioden i begyndelsen af ​​1990'erne. For eksempel har Microsoft C 6.0-kompilatoren, der bruges til at skrive ægte GUI-programmer under 16-bit Windows, stadig sin egen TUI.

Siden starten har Microsoft Windows en konsol til visning af DOS -software. Senere versioner tilføjede Win32-konsollen som en indbygget grænseflade til kommandolinjegrænseflade og TUI-programmer. Konsollen åbner normalt i vinduetilstand, men den kan skiftes til fuld, sand tekstskærm og omvendt ved at trykke på Alt og Enter -tasterne sammen. Fuldskærmstilstand er ikke tilgængelig i Windows Vista og nyere, men kan muligvis bruges sammen med nogle løsninger.

Under Unix-lignende systemer

Snapshot af 'XFdrake', en TUI, der bruges i Mandriva Linux til at konfigurere det grafiske system

I Unix-lignende operativsystemer, tuis er ofte konstrueret under anvendelse af de terminale kontrol Bibliotek forbandelser eller ncurses (en hovedsagelig kompatibel bibliotek), eller den alternative S-Lang bibliotek. Fremkomsten af forbandelsesbiblioteket med Berkeley Unix skabte en bærbar og stabil API, som man kan skrive TUI'er til. Muligheden for at tale med forskellige tekstterminaltyper ved hjælp af de samme grænseflader førte til mere udbredt brug af "visuelle" Unix -programmer, som optog hele terminalskærmen i stedet for at bruge en simpel linjegrænseflade. Dette kan ses i tekstredigeringsprogrammer som vi , mailklienter såsom fyrretræ eller mutt , systemstyringsværktøjer som SMIT , SAM , FreeBSD 's Sysinstall og webbrowsere som lynx . Nogle applikationer, såsom w3m , og ældre versioner af pine og vi bruger det mindre kompatible termcap- bibliotek og udfører mange af de funktioner, der er forbundet med forbandelser i applikationen. Tilpassede TUI-applikationer baseret på widgets kan let udvikles ved hjælp af dialogprogrammet (baseret på ncurses ) eller Whiptail- programmet (baseret på S-Lang ).

Derudover bragte stigningen i Linux's popularitet mange tidligere DOS-brugere til en Unix-lignende platform, som har fremmet en DOS-indflydelse i mange TUI'er. Programmet minicom er for eksempel modelleret efter det populære DOS -program Telix . Nogle andre TUI -programmer, såsom Twin -skrivebordet, blev portet over.

De fleste Unix-lignende operativsystemer (Linux, FreeBSD osv.) Understøtter virtuelle konsoller , der typisk fås via en Ctrl-Alt-F-tastekombination. For eksempel kan du få adgang til op til 64 konsoller under Linux (12 via funktionstaster), der hver vises i fuldskærms-teksttilstand.

Den gratis software program GNU Screen giver mulighed for styring af flere sessioner i en enkelt TUI, og så kan opfattes som værende ligesom en vindueshåndtering til tekst-mode og kommando-line grænseflader. Tmux kan også gøre dette.

Den proprietære macOS- teksteditor BBEdit indeholder en shell-regnearksfunktion , der fungerer som et fuldskærmskalvindue. Den gratis Emacs -teksteditor kan køre en skal inde i en af ​​dens buffere for at give lignende funktionalitet. Der er flere shellimplementeringer i Emacs, men er kun ansi-termvelegnet til at køre TUI -programmer. De andre almindelige shell -tilstande shellog eshellkun efterligne kommandolinjer og TUI -programmer vil klage "Terminalen er ikke fuldt funktionsdygtig" eller vise en forkert grænseflade. De frie Vim og Neovim teksteditorer har terminal vinduer (simulerer xterm ). Funktionen er beregnet til at køre job, parallelle builds eller tests, men kan også bruges (med vinduesopdelinger og fanesider) som en let terminalmultiplexer.

OpenVMS

VAX/VMS (senere kendt som OpenVMS ) havde en lignende facilitet som forbandelser kendt som Screen Management facilitet eller SMG. Dette kan påberåbes fra kommandolinjen eller kaldes fra programmer ved hjælp af SMG $ -biblioteket.

Oberon

Skærmbillede af skrivebordet på et Oberon System, der viser et billede og flere tekstfremvisere

En anden slags TUI er den primære grænseflade for Oberon -operativsystemet , der først blev udgivet i 1988 og stadig vedligeholdes. I modsætning til de fleste andre tekstbaserede brugergrænseflader bruger Oberon ikke en teksttilstandskonsol eller terminal, men kræver et stort bitkortlagt display, hvor tekst er det primære mål for museklik. Kommandoer i formatet kan aktiveres med et midt-klik, f.eks. Hyperlinks . Tekst, der vises hvor som helst på skærmen, kan redigeres, og hvis den formateres med den nødvendige kommandosyntaks, kan den klikkes på midten og udføres. Enhver tekstfil, der indeholder passende formaterede kommandoer, kan bruges som en såkaldt værktøjstekst og fungerer således som en brugerkonfigurerbar menu. Selv output fra en tidligere kommando kan redigeres og bruges som en ny kommando. Denne tilgang er radikalt forskellig fra både konventionelle dialogorienterede konsolmenuer eller kommandolinjegrænseflader . Module.Procedure parameters ~

Da den ikke bruger grafiske widgets , kun ren tekst, men tilbyder sammenlignelig funktionalitet til en GUI med en flisevindue -manager , kaldes den en tekstbrugergrænseflade eller TUI. For en kort introduktion, se 2. afsnit på side fire i den første offentliggjorte rapport om Oberon -systemet .

Oberons brugergrænseflade påvirkede designet af Acme -teksteditoren og e -mail -klienten til Plan 9 fra Bell Labs -operativsystemet.

I indlejrede systemer

Indlejret system, der viser menu på en LCD -skærm

Moderne integrerede systemer er i stand til at vise TUI på en skærm som personlige computere. Denne funktionalitet implementeres normalt ved hjælp af specialiserede integrerede kredsløb, moduler eller ved hjælp af FPGA .

Videokredsløb eller moduler styres normalt ved hjælp af VT100 -kompatibel kommando, der er sat over UART , FPGA -designs tillader normalt direkte videohukommelsesadgang.

Andre anvendelser

Se også

Eksempler på programmeringsbiblioteker

Referencer