Interfejs użytkownika oparty na tekście - Text-based user interface

Z Wikipedii, wolnej encyklopedii
Niektórzy menedżerowie plików implementują TUI ( tutaj: Midnight Commander )
Vim to bardzo powszechnie używany edytor tekstu TUI

W obliczeniowej , interfejsy tekstowych użytkownika ( TUI ) (naprzemienne końcowe interfejsy użytkownika , w celu odzwierciedlenia zależności od właściwości terminali komputerowych , a nie tylko tekst) jest retronim opisującą typ interfejsu użytkownika (UI), jako wspólne pierwszą formę z interakcją człowiek-komputerowego przed pojawieniem graficznych interfejsów użytkownika (GUI). Podobnie jak GUI, mogą wykorzystywać cały obszar ekranu i akceptować mysz i inne dane wejściowe. Mogą również używać kolorów i często strukturyzują wyświetlacz za pomocą specjalnych znaków graficznych, takich jak ┌ i ╣, określanych w Unicode jako zestaw do rysowania pudełek. Współczesny kontekst użytkowania to zwykle emulator terminala .

Rodzaje terminali tekstowych

Z aplikacji tekstowej „s punktu widzenia ekranu tekstowego (i łączności z nim) może należeć do jednej z trzech typów (tutaj uporządkowanych w kolejności malejącej dostępności):

  1. Oryginalny wyświetlacz w trybie tekstowym , sterowany za pomocą karty wideo lub samego centralnego procesora. Jest to normalny stan aplikacji działającej lokalnie na różnego rodzaju komputerach osobistych i urządzeniach mobilnych . Jeśli system operacyjny nie odstrasza , inteligentny program może wykorzystać pełną moc sprzętowego trybu tekstowego.
  2. Emulator trybu tekstowego . Przykładami są xterm dla X Window System i konsola win32 (w trybie okienkowym) dla Microsoft Windows . Zwykle obsługuje to programy, które oczekują wyświetlania w trybie tekstowym, ale mogą działać znacznie wolniej. Niektóre funkcje zaawansowanego trybu tekstowego, takie jak ładowanie własnej czcionki , prawie na pewno staną się niedostępne.
  3. Zdalny terminal tekstowy . Możliwości komunikacyjne zwykle zostają zredukowane do linii szeregowej lub jej emulacji, prawdopodobnie z kilkoma ioctl () jako kanałem pozapasmowym w takich przypadkach jak Telnet i Secure Shell . To najgorszy przypadek, ponieważ ograniczenia programowe utrudniają korzystanie z możliwości zdalnego urządzenia wyświetlającego.

W Linuksie i innych systemach typu Unix program łatwo dostosowuje się do każdego z trzech przypadków, ponieważ ten sam interfejs (mianowicie standardowe strumienie ) kontroluje wyświetlacz i klawiaturę. Ponadto wyspecjalizowane biblioteki programistyczne pomagają w wyprowadzaniu tekstu w sposób odpowiedni dla danego urządzenia wyświetlającego i interfejsu do niego. Zobacz poniżej dla porównania do Windows.

Na terminalach zgodnych z ANSI

Norma American National Standards Institute (ANSI) ANSI X3.64 definiuje standardowy zestaw sekwencji specjalnych , których można używać do sterowania terminalami w celu tworzenia TUI (patrz kod ucieczki ANSI ). Sekwencje ucieczki mogą być obsługiwane we wszystkich trzech przypadkach wymienionych w powyższej sekcji, umożliwiając dowolne ruchy kursora i zmiany kolorów. Jednak nie wszystkie terminale są zgodne z tym standardem i istnieje wiele niekompatybilnych, ale funkcjonalnie równoważnych sekwencji.

W DOS i Microsoft Windows

FreeDOS interfejs użytkownika Edycja

W komputerach osobistych IBM i kompatybilnych , wywołania systemowe Basic Input Output System ( BIOS ) i DOS umożliwiają pisanie tekstu na ekranie, a sterownik ANSI.SYS może przetwarzać standardowe sekwencje specjalne ANSI. Jednak programiści szybko się zorientowali, że zapisywanie danych bezpośrednio do bufora ekranu jest znacznie szybsze i prostsze w programowaniu oraz mniej podatne na błędy; Aby uzyskać szczegółowe informacje, zobacz tryb tekstowy zgodny z VGA . Ta zmiana w metodach programowania zaowocowała powstaniem wielu programów DOS TUI. Środowisko konsoli win32 słynie z emulacji niektórych funkcji trybu tekstowego EGA / VGA, w szczególności losowego dostępu do bufora tekstowego, nawet jeśli aplikacja działa w oknie. Z drugiej strony programy działające pod Windows (zarówno natywne, jak i aplikacje DOS) mają znacznie mniejszą kontrolę nad wyświetlaczem i klawiaturą niż programy Linux i DOS, ze względu na wspomnianą wcześniej warstwę konsoli win32.

Kursor myszy w narzędziu Impulse Tracker . Bardziej precyzyjny kursor (rozdzielczość na piksel) uzyskano poprzez ponowne wygenerowanie glifów znaków użytych tam, gdzie kursor był widoczny, przy każdym ruchu myszy w czasie rzeczywistym.

Najczęściej programy te używały niebieskiego tła na ekranie głównym, z białymi lub żółtymi znakami, chociaż często miały również możliwość dostosowania kolorów przez użytkownika. Często używali znaków do rysowania pudełek w stronie kodowej IBM 437 . Później na interfejs silnie wpłynęły graficzne interfejsy użytkownika (GUI), dodając rozwijane menu , nakładające się okna , okna dialogowe i widżety GUI obsługiwane przez mnemoniki lub skróty klawiaturowe . Wkrótce dodano wejście myszy - w rozdzielczości tekstu jako proste kolorowe pudełko lub w rozdzielczości graficznej dzięki zdolności adapterów Enhanced Graphics Adapter (EGA) i Video Graphics Array (VGA) do przedefiniowania kształtów znaków tekstu za pomocą oprogramowania  - zapewniając dodatkowe funkcje.

Niektóre godne uwagi programy tego typu to Microsoft Word , DOS Shell , WordPerfect , Norton Commander , oparty na Turbo Vision Borland Turbo Pascal i Turbo C (ten ostatni zawierał bibliotekę conio ), Lotus 1-2-3 i wiele innych. Niektóre z tych interfejsów przetrwały nawet w okresie Microsoft Windows 3.1x na początku lat 90. Na przykład kompilator Microsoft C 6.0, używany do pisania programów z prawdziwym graficznym interfejsem użytkownika w 16-bitowym systemie Windows, nadal ma własne TUI.

Od samego początku Microsoft Windows zawiera konsolę do wyświetlania oprogramowania DOS. Późniejsze wersje dodały konsolę Win32 jako natywny interfejs dla interfejsu wiersza poleceń i programów TUI. Konsola zwykle otwiera się w trybie okna, ale można ją przełączyć na pełny, prawdziwy ekran trybu tekstowego i odwrotnie, naciskając jednocześnie klawisze Alt i Enter . Tryb pełnoekranowy nie jest dostępny w systemie Windows Vista i nowszych wersjach, ale może być używany z niektórymi obejściami.

W systemach typu Unix

Migawka 'XFdrake', TUI używanego w Mandriva Linux do konfiguracji systemu graficznego

W uniksowych systemach operacyjnych TUI są często konstruowane przy użyciu biblioteki sterującej terminalem curses lub ncurses (w większości zgodnej biblioteki) lub alternatywnej biblioteki S-Lang . Pojawienie się biblioteki curses wraz z Berkeley Unix stworzyło przenośne i stabilne API, dla którego można pisać TUI. Możliwość komunikowania się z różnymi typami terminali tekstowych przy użyciu tych samych interfejsów doprowadziła do szerszego stosowania „wizualnych” programów uniksowych, które zajmowały cały ekran terminala zamiast używać prostego interfejsu liniowego. Widać to w edytorach tekstowych , takich jak VI , programy pocztowe , takie jak sosna lub mutt , narzędzia do zarządzania systemem, takie jak SMIT , SAM , FreeBSD „s Sysinstall i przeglądarek internetowych , takich jak ryś . Niektóre aplikacje, takie jak w3m , oraz starsze wersje pine i vi używają mniej wydajnej biblioteki termcap , wykonując wiele funkcji związanych z curses w aplikacji. Niestandardowe aplikacje TUI oparte na widżetach można łatwo tworzyć za pomocą programu dialogowego (opartego na ncurses ) lub programu Whiptail (opartego na S-Lang ).

Ponadto wzrost popularności Linuksa sprowadził wielu byłych użytkowników DOS na platformę podobną do systemu Unix, co wzmocniło wpływ DOS na wiele TUI. Na przykład program minicom jest wzorowany na popularnym programie DOS Telix . Niektóre inne programy TUI, takie jak pulpit Twin , zostały przeniesione .

Większość systemów operacyjnych typu Unix (Linux, FreeBSD itp.) Obsługuje konsole wirtualne , zwykle dostępne za pomocą kombinacji klawiszy Ctrl-Alt-F. Na przykład w systemie Linux można uzyskać dostęp do maksymalnie 64 konsol (12 za pomocą klawiszy funkcyjnych), z których każda jest wyświetlana w pełnoekranowym trybie tekstowym.

Wolne oprogramowanie Program GNU ekranu zapewnia zarządzanie wieloma sesji wewnątrz jednej TUI, a więc mogą być traktowane jako jak menedżer okien dla trybu tekstowego i interfejsów wiersza polecenia. Tmux też może to zrobić.

Zastrzeżony edytor tekstu macOS BBEdit zawiera funkcję arkusza powłoki, która działa jako pełnoekranowe okno powłoki. Darmo Emacs edytor tekstu można uruchomić wewnątrz powłoki jednego ze swoich buforów aby zapewnić podobną funkcjonalność. W Emacsie istnieje kilka implementacji powłoki, ale nadaje się ona tylko do uruchamiania programów TUI. Pozostałe tryby wspólnej obudowy, a tylko naśladować linii poleceń i programów TUI będzie narzekać „Terminal nie jest w pełni funkcjonalny” lub zniekształcone wyświetlanie interfejsu. W wolnych Vim i Neovim edytory tekstowe mają okna terminala (symulacja xterm ). Ta funkcja jest przeznaczona do uruchamiania zadań, równoległych kompilacji lub testów, ale może być również używana (z podziałem okien i stronami kart) jako lekki multiplekser terminala. ansi-termshelleshell

OpenVMS

VAX / VMS (później znany jako OpenVMS ) miał podobne udogodnienia do curses znanych jako narzędzie do zarządzania ekranem lub SMG. Można to wywołać z wiersza poleceń lub wywołać z programów korzystających z biblioteki SMG $.

Oberon

Zrzut ekranu pulpitu systemu Oberon pokazujący obraz i kilka przeglądarek tekstu

Innym rodzajem TUI jest podstawowy interfejs systemu operacyjnego Oberon , wydanego po raz pierwszy w 1988 roku i nadal utrzymywanego. W przeciwieństwie do większości innych tekstowych interfejsów użytkownika, Oberon nie używa konsoli trybu tekstowego ani terminala, ale wymaga dużego wyświetlacza z mapami bitowymi, na którym tekst jest głównym celem kliknięć myszą. Polecenia w formacie można aktywować środkowym kliknięciem, podobnie jak hiperłącza . Tekst wyświetlany w dowolnym miejscu na ekranie można edytować, a po sformatowaniu za pomocą wymaganej składni polecenia można kliknąć środkowym przyciskiem myszy i wykonać. Dowolny plik tekstowy zawierający odpowiednio sformatowane polecenia można wykorzystać jako tzw. Tekst narzędzia , służąc w ten sposób jako konfigurowalne przez użytkownika menu. Nawet wynik poprzedniego polecenia można edytować i używać jako nowego polecenia. Podejście to radykalnie różni się od konwencjonalnych menu konsoli zorientowanych na dialog lub interfejsów wiersza poleceń . Module.Procedure parameters ~

Ponieważ nie wykorzystuje widżetów graficznych , tylko zwykły tekst, ale oferuje funkcjonalność porównywalną z graficznym interfejsem użytkownika z menedżerem okien kafelkowych , jest nazywany tekstowym interfejsem użytkownika lub TUI. Krótkie wprowadzenie znajduje się w drugim akapicie na stronie czwartej pierwszego opublikowanego Raportu o systemie Oberon .

Interfejs użytkownika Oberona wpłynął na projekt edytora tekstu Acme i klienta poczty e-mail dla systemu operacyjnego Plan 9 firmy Bell Labs .

W systemach wbudowanych

Wbudowany system wyświetlający menu na ekranie LCD

Nowoczesne systemy wbudowane mogą wyświetlać TUI na monitorze, podobnie jak komputery osobiste. Ta funkcjonalność jest zwykle realizowana za pomocą wyspecjalizowanych układów scalonych, modułów lub przy użyciu FPGA .

Obwody lub moduły wideo są zwykle sterowane za pomocą komend zgodnych z VT100 ustawianych przez UART , konstrukcje FPGA zwykle pozwalają na bezpośredni dostęp do pamięci wideo.

Inne zastosowania

Zobacz też

Przykłady bibliotek programistycznych

Bibliografia