Текстовый пользовательский интерфейс

Тип интерфейса, основанный на выводе на текстовый дисплей или управлении им
Некоторые файловые менеджеры реализуют TUI ( здесь: Midnight Commander )
Vim — очень широко используемый текстовый редактор TUI.

В вычислительной технике текстовые пользовательские интерфейсы ( TUI ) (альтернативно терминальные пользовательские интерфейсы , чтобы отразить зависимость от свойств компьютерных терминалов , а не только от текста) — это ретроним, описывающий тип пользовательского интерфейса ( UI ), распространенный как ранняя форма взаимодействия человека с компьютером , до появления растровых дисплеев и современных обычных графических пользовательских интерфейсов ( GUI ). Как и современные GUI , они могут использовать всю область экрана и могут принимать мышь и другие входные данные. Они также могут использовать цвет и часто структурируют отображение с помощью символов рисования прямоугольников , таких как ┌ и ╣ . Современный контекст использования обычно представляет собой эмулятор терминала .

Типы текстовых терминалов

С точки зрения текстового приложения текстовый экран (и связь с ним) может относиться к одному из трех типов (здесь они упорядочены в порядке убывания доступности):

  1. Подлинный текстовый режим отображения, управляемый видеоадаптером или самим центральным процессором. Это нормальное состояние для локально запущенного приложения на различных типах персональных компьютеров и мобильных устройств . Если операционная система не препятствует этому , умная программа может использовать всю мощь аппаратного текстового режима.
  2. Эмулятор текстового режима . Примерами являются xterm для X Window System и win32 console (в оконном режиме) для Microsoft Windows . Обычно он поддерживает программы, которые ожидают реального отображения в текстовом режиме, но может работать значительно медленнее. Некоторые функции расширенного текстового режима, такие как загрузка собственных шрифтов , почти наверняка станут недоступными.
  3. Удаленный текстовый терминал . Возможности коммуникации обычно сводятся к последовательной линии или ее эмуляции, возможно, с несколькими ioctl () в качестве внеполосного канала в таких случаях, как Telnet и Secure Shell . Это наихудший случай, поскольку программные ограничения препятствуют использованию возможностей удаленного устройства отображения.

В Linux и других Unix-подобных системах программа легко приспосабливается к любому из трех случаев, поскольку один и тот же интерфейс (а именно, стандартные потоки ) управляет дисплеем и клавиатурой. Ниже приведено сравнение с Windows.

Доступно множество библиотек программирования TUI, помогающих разработчикам создавать приложения TUI .

На ANSI-совместимых терминалах

Стандарт ANSI X3.64 Американского национального института стандартов (ANSI) определяет стандартный набор escape-последовательностей , которые могут использоваться для управления терминалами для создания TUI (см. escape-код ANSI ). Escape-последовательности могут поддерживаться для всех трех случаев, упомянутых в предыдущем разделе, позволяя произвольные перемещения курсора и изменение цвета. Однако не все терминалы следуют этому стандарту, и существует множество несовместимых, но функционально эквивалентных последовательностей.

Под DOS и Microsoft Windows

Пользовательский интерфейс FreeDOS Edit

На персональных компьютерах IBM и совместимых с ними базовая система ввода-вывода ( BIOS ) и системные вызовы DOS предоставляют возможность писать текст на экране, а драйвер ANSI.SYS может обрабатывать стандартные escape-последовательности ANSI. Однако вскоре программисты поняли, что запись данных непосредственно в буфер экрана намного быстрее и проще для программирования, а также менее подвержена ошибкам; подробности см . в разделе Текстовый режим, совместимый с VGA . Это изменение в методах программирования привело к появлению множества программ TUI для DOS.Консольная среда Windows печально известна своей эмуляцией определенных функций текстового режима EGA/VGA, в частности, произвольным доступом к текстовому буферу, даже если приложение работает в окне. С другой стороны, программы, работающие под Windows (как собственные, так и DOS-приложения), имеют гораздо меньший контроль над дисплеем и клавиатурой, чем программы Linux и DOS, из-за вышеупомянутого уровня консоли Windows.

Курсор мыши в Impulse Tracker . Более точный курсор (разрешение на пиксель) был достигнут путем повторной генерации глифов символов, используемых там, где курсор был виден, при каждом движении мыши в реальном времени. [ необходима цитата ]

Чаще всего эти программы использовали синий фон для главного экрана с белыми или желтыми символами, хотя обычно они также имели пользовательскую настройку цвета. Они часто использовали символы рисования прямоугольников в кодовой странице IBM 437. Позже интерфейс стал сильно зависеть от графических пользовательских интерфейсов (GUI), добавив выпадающие меню , перекрывающиеся окна , диалоговые окна и виджеты GUI, управляемые мнемоникой или сочетаниями клавиш . Вскоре был добавлен ввод мыши — либо в текстовом разрешении в виде простого цветного прямоугольника, либо в графическом разрешении благодаря способности адаптеров дисплеев Enhanced Graphics Adapter (EGA) и Video Graphics Array (VGA) переопределять формы текстовых символов программным обеспечением  — предоставляя дополнительные функции.

Некоторые известные программы такого рода: Microsoft Word , DOS Shell , WordPerfect , Norton Commander , Borland Turbo Pascal и Turbo C на основе Turbo Vision (последний включал библиотеку conio ), Lotus 1-2-3 и многие другие. Некоторые из этих интерфейсов сохранились даже в период Microsoft Windows 3.1x в начале 1990-х годов. Например, компилятор Microsoft C 6.0, используемый для написания настоящих программ с графическим интерфейсом пользователя под 16-разрядной Windows, до сих пор имеет свой собственный TUI.

С момента своего запуска Microsoft Windows включает консоль для отображения программного обеспечения DOS. Более поздние версии добавили консоль Windows в качестве собственного интерфейса для интерфейса командной строки и программ TUI. Консоль обычно открывается в оконном режиме, но ее можно переключить в полноэкранный режим, настоящий текстовый режим и наоборот, нажав клавиши Alt и Enter одновременно. Полноэкранный режим недоступен в Windows Vista и более поздних версиях, но может использоваться с некоторыми обходными путями. [1]

Windows Terminal — это эмулятор терминала с несколькими вкладками , разработанный Microsoft для Windows 10 и более поздних версий [2] в качестве замены Windows Console .

Подсистема Windows для Linux , добавленная в Windows корпорацией Microsoft в 2019 году, поддерживает запуск текстовых приложений Linux в Windows, в консоли Windows , терминале Windows и других терминалах на базе Windows.

В Unix-подобных системах

Снимок «XFdrake», TUI-интерфейса, используемого в Mandriva Linux для настройки графической системы
btop — утилита управления задачами для Linux и других unix-подобных ОС

В операционных системах типа Unix TUI часто создаются с использованием библиотеки управления терминалом curses , или ncurses (в основном совместимая библиотека), или альтернативной библиотеки S-Lang . Появление библиотеки curses в Berkeley Unix создало переносимый и стабильный API, для которого можно писать TUI. Возможность общаться с различными типами текстовых терминалов с использованием тех же интерфейсов привела к более широкому использованию «визуальных» программ Unix, которые занимали весь экран терминала вместо использования простого строчного интерфейса. Это можно увидеть в текстовых редакторах, таких как vi , почтовых клиентах , таких как pine или mutt , инструментах управления системой, таких как SMIT , SAM, Sysinstall FreeBSD и веб-браузерах, таких как lynx . Некоторые приложения, такие как w3m , и более старые версии pine и vi используют менее функциональную библиотеку termcap , выполняющую многие функции, связанные с curses внутри приложения. Пользовательские приложения TUI на основе виджетов можно легко разрабатывать с помощью программы dialog (на основе ncurses ) или программы Whiptail (на основе S-Lang ).

Кроме того, рост популярности Linux привел многих бывших пользователей DOS на Unix-подобную платформу, что способствовало влиянию DOS во многих TUI. Программа minicom , например, создана по образцу популярной DOS-программы Telix . Некоторые другие программы TUI, такие как Twin desktop, были перенесены .

Большинство Unix-подобных операционных систем (Linux, FreeBSD и т. д.) поддерживают виртуальные консоли , доступ к которым обычно осуществляется с помощью комбинации клавиш Ctrl-Alt-F. Например, в Linux можно получить доступ к 64 консолям (12 через функциональные клавиши), каждая из которых отображается в полноэкранном текстовом режиме.

Бесплатная программа GNU Screen позволяет управлять несколькими сеансами внутри одного TUI, и поэтому ее можно рассматривать как оконный менеджер для текстового режима и интерфейсов командной строки. Tmux также может это делать.

Проприетарный текстовый редактор macOS BBEdit включает функцию рабочего листа оболочки , которая работает как полноэкранное окно оболочки. Бесплатный текстовый редактор Emacs может запускать оболочку внутри одного из своих буферов для обеспечения аналогичной функциональности. В Emacs есть несколько реализаций оболочки, но подходит только для запуска программ TUI. Другие распространенные режимы оболочки и только эмулируют командные строки и программы TUI, будут жаловаться «Терминал не полностью функционален» или отображать искаженный интерфейс. Бесплатные текстовые редакторы Vim и Neovim имеют окна терминала (имитирующие xterm ). Эта функция предназначена для запуска заданий, параллельных сборок или тестов, но также может использоваться (с разделением окон и вкладками) как легковесный мультиплексор терминала. ansi-termshelleshell

OpenVMS

VAX/VMS (позже известный как OpenVMS ) имел схожую с curses возможность , известную как Screen Management facility или SMG. Ее можно было вызвать из командной строки или из программ, использующих библиотеку SMG$. [3]

Оберон

Скриншот рабочего стола системы Oberon, на котором показано изображение и несколько просмотрщиков текста

Другой вид TUI — это основной интерфейс операционной системы Oberon , впервые выпущенный в 1988 году и до сих пор поддерживаемый. В отличие от большинства других текстовых пользовательских интерфейсов, Oberon не использует текстовую консоль или терминал, а требует большой растровый дисплей, на котором текст является основной целью для щелчков мыши. Аналогично ссылке в гипертексте , команда имеет формат и активируется щелчком средней кнопки мыши. Текст, отображаемый в любом месте экрана, можно редактировать, и если он отформатирован с требуемым синтаксисом команды, его можно щелкнуть средней кнопкой и выполнить. Любой текстовый файл, содержащий соответствующим образом отформатированные команды, можно использовать в качестве так называемого текста инструмента , таким образом служа настраиваемым пользователем меню. Даже вывод предыдущей команды можно редактировать и использовать в качестве новой команды. Этот подход радикально отличается как от обычных диалоговых консольных меню, так и от интерфейсов командной строки .Module.Procedure parameters ~

Поскольку он не использует графические виджеты , только простой текст, но предлагает сопоставимую функциональность с GUI с тайловым оконным менеджером , его называют текстовым пользовательским интерфейсом или TUI. Для краткого введения см. 2-й абзац на странице четыре первого опубликованного Отчета о системе Oberon . [4]

Пользовательский интерфейс Oberon оказал влияние на дизайн текстового редактора Acme и почтового клиента для операционной системы Plan 9 от Bell Labs .

Во встраиваемых системах

Встроенная система, отображающая меню на ЖК-экране

Современные встраиваемые системы способны отображать TUI на мониторе, подобном персональным компьютерам. Эта функциональность обычно реализуется с использованием специализированных интегральных схем, модулей или с использованием FPGA .

Видеосхемы или модули обычно управляются с помощью VT100 -совместимого набора команд через UART , [ требуется ссылка ] Конструкции FPGA обычно допускают прямой доступ к видеопамяти. [ требуется ссылка ]

Другие применения

  • Полноэкранный редактор 8-битных компьютеров Commodore 64 был передовым в своем сегменте рынка для своего времени. Пользователи могли перемещать курсор по всей области экрана, вводить и редактировать строки программы BASIC , а также команды прямого режима . Все 8-битные компьютеры Commodore использовали набор символов PETSCII , который включал глифы символов, подходящие для создания TUI.
  • Среда программирования Apple Macintosh Programmer's Workshop включала Commando, оболочку TUI. Она стала источником вдохновения для рабочего листа оболочки BBEdit.
  • Более поздние модели Apple II включали MouseText — набор графических глифов, используемых для создания TUI.
  • Компьютер Corvus Concept 1982 года выпуска использовал текстовый интерфейс на основе функциональных клавиш на полностраничном поворотном дисплее.

Смотрите также

Примеры библиотек программирования

Ссылки

  1. ^ полноэкранное командное приглашение в Windows 7. Social.technet.microsoft.com. Получено 15.06.2013.
  2. ^ Уоррен, Том (6 мая 2019 г.). «Microsoft представляет Windows Terminal, новое приложение командной строки для Windows». The Verge .
  3. ^ "Руководство по управлению экраном OpenVMS RTL (SMG$)". hpe.com . 2001 . Получено 01.01.2021 .
  4. ^ Вирт, Никлаус ; Гуткнехт, Юрг (1988). Система Оберон (PDF) (Технический отчет). ETH Eidgenössische Technische Hochschule Zürich, Институт информатики. Том. 88. дои : 10.3929/ethz-a-000487176.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Text-based_user_interface&oldid=1243639734"