Sudėtinga tekstinė sąsaja, veikianti grafinės sąsajos lange ir pati turinti grafinį išvedimą. To nepaisant, naudotojas ir kompiuteris šioje programoje daugiausia sąveikauja per greta grafiko matomas tekstines komandas. Naudotojo komandos rodomos mėlyna spalva, programos atsakymai į jas – juoda.
**Tekstinė sąsaja** – tokia sąsaja, kuomet naudotojas ir kompiuteris sąveikauja keisdamiesi tekstais (ne grafika, ne garsu ir ne pelės judesiais). Tai nereiškia, jog tokioje sąsajoje negali būti grafikos, garso ar kitokių įrenginių; tiesiog skirtingai nuo grafinės sąsajos jų vaidmuo nėra pagrindinis. Iki maždaug 1980 m. tai buvo pagrindinė sąsaja daugumai kompiuterių. Tekstinės sąsajos metu naudotojas renka tekstines komandas, nurodydamas po jų įvairius parametrus ir raktus. Programos paleidžiamos surenkant jų vardus ar nurodant bylą, kurioje yra reikiamos paleisti programos kodas. Kompiuteriuose su grafine sąsaja tekstinė sąsaja paprastai galima tam skirtame lange.

Trūkumai
--------

Tekstinė sąsaja yra mažiau patogi, sunkiau išmokstama ir reikalauja daugiau dėmesio; būtent dėl jos ilgą laiką kompiuterio valdymas buvo laikomas sunkia užduotimi. Esant gerai grafinei sąsajai su tekstų redaktoriumi ar panašia programa neretai galima dirbti visiškai nepasiruošus, pamažu išmokstant darbo eigoje. Su tekstine sąsaja tai negali pavykti; būtina susipažinti su dokumentacija, žinoti ko nori ir kokios komandos tam reikalingos. Siekiant palengvinti mokymąsi, paprastai daug dokumentacijos saugoma jau pačioje sąsajoje, turint specialias komandas (*help*, *man*) jai surasti ir parodyti. Kai kurios programos (ypač tekstų redaktoriai) grynoje tekstinėje sąsajoje gali būti labai sunkiai valdomos: pirmieji redaktoriai turėjo komandas tekstui įterpti, įsivaizduojamam žymekliui tekste perkelti ir pan. Vėlesnių redaktorių (tokių kaip Vi) sąsaja įvedimo požiūriu yra daugiau grafinė: naudotojas mato žymeklį, tekstą, jo pakeitimai redaguojamam tekstui iškart matyti ekrane, nėra specialių komandų žymekliui perkelti (naudojami rodyklių klavišai), nors ekranas ir dirba vien tekstiniu režimu. Tekstinė sąsaja gali būti labai neproduktyvi, jei nuolat pasikartojančias komandas vis reikia rinkti iš naujo; šiuolaikinės tekstinės sąsajos paprastai turi „istorijos" klavišą pakartotinai pasiųsti neseniai įvestą komandą. Klaidingai surinktos komandos paprastai „nepataiko" į laukiamą sintaksę ir tegaunamas pranešimas apie klaidą; visgi retais atvejais smulki klaida vieną komandą paverčia logiškai teisinga ir galima vykdyti kitą, kurios padariniai gali būti sunkiai numatomi ir ne iš karto pastebėti.

Privalumai
----------

Tekstinė sąsaja dažnai gali būti daug galingesnė nei grafinė sąsaja, nes įvairūs galimi raktai ir opcijos naudotojui nerodomi: tai naudotojo darbas juos prisiminti ir įvesti. Dėl šios priežasties raktų ir opcijų gali būti labai daug. Grafinėje sąsajoje galimas pasirinkti opcijas reikia iš anksto atvaizduoti, taigi dėl ribotų ekrano matmenų, papildomo darbo jų vaizdavimo programavimui galimybių paprastai būna mažiau. Jei neprisimena, naudotojas ieško reikalingų komandų bei opcijų dokumentacijoje. Tekstinėje sąsajoje taip pat daug lengviau automatizuoti pasikartojančius veiksmus – tai tiesiog pakartotinai renkami tekstai, kuriuos galima užrašyti atskiroje byloje, papildyti įvairiomis sąlyginėmis komandomis. Dėl šios priežasties tekstinę sąsają įvaldęs naudotojas efektyvus, jei nuolat pasikartoja ta pati ar labai panaši užduotis. Automatizuoti grafinės sąsajos pele atliekamus veiksmus daug sudėtingiau. Veiksmus su tekstine sąsaja taip pat lengviau aptarti įvairiuose pagalbos forumuose.

Tekstinė sąsaja taip pat reikalauja mažiau kompiuterio resursų (grafinis išvedimas ir įvedimas kompiuteriui sudėtingesnis), gerai veikia dirbant su mašina per atstumą (tekstus perduoti daug lengviau ir greičiau nei besikeičiantį ekrano vaizdą). Ji taip pat yra ir saugesnė, labiau patikima, nes turint mažiau kodo, jį lengviau nuodugniai patikrinti (grafines sąsajas taip pat daug sunkiau testuoti). Todėl ji dažnai tebenaudojama sąveikauti su ribotų galimybių kontroleriais, kurie grafinei sąsajai neturi pakankamai resursų. Vien tekstinė sąsaja taip pat dažna Interneto serveriuose, kuriuos tvarko ir valdo patyrę specialistai, taigi nebūtina, jog sąsaja būtu greitai ir lengvai išmokstama. Pavyzdžiui, Ubuntu serverio variantai pagal nutylėjimą pateikiami vien su tekstine sąsaja, teigiant, jog grafinė mažiau saugi, neefektyvi ir patyrusiam administratoriui (ar norinčiam tokiu tapti) jokioms užduotims nereikalinga[1], nors norint ir gali būti įkelta.

Programavimas
-------------

Tekstinę sąsają naudojanti programa pradedama vykdyti nuo vieno (įėjimo) taško. Vykdoma programa iš pradžių perskaito visas jai nurodytas opcijas ir parametrus (jei juos naudoja), po to atlieka kas liepta ir tada užsibaigia. Tokią programą lengviau parašyti ir testuoti, nors naudotojui ji ir mažiau patogi. Programą taip pat paprasta „prikabinti" prie Interneto serverio (CGI), priimant parametrus ir pateikiant apskaičiuotus rezultatus su naršykle dirbančiam naudotojui. Nėra sudėtinga ir sujungti keletą programų į grandinę, vienai automatiškai perduodant kitos darbo rezultatus vos jie apskaičiuojami. Įvairios „dalinai naudotojui draugiškos" tekstinės sąsajos programos gali turėti savo, nuo operacinės sistemos nepriklausomą tekstinę ar net grafinę sąsają.

Nuorodos
--------

1. ↑  Ubuntu komentarai apie grafinę ir tekstinę sąsajas serveriams