This article needs additional citations for verification. (September 2014) |
В вычислительной технике текстовые пользовательские интерфейсы ( TUI ) (альтернативно терминальные пользовательские интерфейсы , чтобы отразить зависимость от свойств компьютерных терминалов , а не только от текста) — это ретроним, описывающий тип пользовательского интерфейса ( UI ), распространенный как ранняя форма взаимодействия человека с компьютером , до появления растровых дисплеев и современных обычных графических пользовательских интерфейсов ( GUI ). Как и современные GUI , они могут использовать всю область экрана и могут принимать мышь и другие входные данные. Они также могут использовать цвет и часто структурируют отображение с помощью символов рисования прямоугольников , таких как ┌ и ╣ . Современный контекст использования обычно представляет собой эмулятор терминала .
В Linux и других Unix-подобных системах программа легко приспосабливается к любому из трех случаев, поскольку один и тот же интерфейс (а именно, стандартные потоки ) управляет дисплеем и клавиатурой. Ниже приведено сравнение с Windows.
Доступно множество библиотек программирования TUI, помогающих разработчикам создавать приложения TUI .
Стандарт ANSI X3.64 Американского национального института стандартов (ANSI) определяет стандартный набор escape-последовательностей , которые могут использоваться для управления терминалами для создания TUI (см. escape-код ANSI ). Escape-последовательности могут поддерживаться для всех трех случаев, упомянутых в предыдущем разделе, позволяя произвольные перемещения курсора и изменение цвета. Однако не все терминалы следуют этому стандарту, и существует множество несовместимых, но функционально эквивалентных последовательностей.
На персональных компьютерах IBM и совместимых с ними базовая система ввода-вывода ( BIOS ) и системные вызовы DOS предоставляют возможность писать текст на экране, а драйвер ANSI.SYS может обрабатывать стандартные escape-последовательности ANSI. Однако вскоре программисты поняли, что запись данных непосредственно в буфер экрана намного быстрее и проще для программирования, а также менее подвержена ошибкам; подробности см . в разделе Текстовый режим, совместимый с VGA . Это изменение в методах программирования привело к появлению множества программ TUI для DOS.Консольная среда Windows печально известна своей эмуляцией определенных функций текстового режима EGA/VGA, в частности, произвольным доступом к текстовому буферу, даже если приложение работает в окне. С другой стороны, программы, работающие под Windows (как собственные, так и DOS-приложения), имеют гораздо меньший контроль над дисплеем и клавиатурой, чем программы Linux и DOS, из-за вышеупомянутого уровня консоли Windows.
Чаще всего эти программы использовали синий фон для главного экрана с белыми или желтыми символами, хотя обычно они также имели пользовательскую настройку цвета. Они часто использовали символы рисования прямоугольников в кодовой странице 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 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-term
shell
eshell
VAX/VMS (позже известный как OpenVMS ) имел схожую с curses возможность , известную как Screen Management facility или SMG. Ее можно было вызвать из командной строки или из программ, использующих библиотеку SMG$. [3]
Другой вид TUI — это основной интерфейс операционной системы Oberon , впервые выпущенный в 1988 году и до сих пор поддерживаемый. В отличие от большинства других текстовых пользовательских интерфейсов, Oberon не использует текстовую консоль или терминал, а требует большой растровый дисплей, на котором текст является основной целью для щелчков мыши. Аналогично ссылке в гипертексте , команда имеет формат и активируется щелчком средней кнопки мыши. Текст, отображаемый в любом месте экрана, можно редактировать, и если он отформатирован с требуемым синтаксисом команды, его можно щелкнуть средней кнопкой и выполнить. Любой текстовый файл, содержащий соответствующим образом отформатированные команды, можно использовать в качестве так называемого текста инструмента , таким образом служа настраиваемым пользователем меню. Даже вывод предыдущей команды можно редактировать и использовать в качестве новой команды. Этот подход радикально отличается как от обычных диалоговых консольных меню, так и от интерфейсов командной строки .Module.Procedure parameters ~
Поскольку он не использует графические виджеты , только простой текст, но предлагает сопоставимую функциональность с GUI с тайловым оконным менеджером , его называют текстовым пользовательским интерфейсом или TUI. Для краткого введения см. 2-й абзац на странице четыре первого опубликованного Отчета о системе Oberon . [4]
Пользовательский интерфейс Oberon оказал влияние на дизайн текстового редактора Acme и почтового клиента для операционной системы Plan 9 от Bell Labs .
Современные встраиваемые системы способны отображать TUI на мониторе, подобном персональным компьютерам. Эта функциональность обычно реализуется с использованием специализированных интегральных схем, модулей или с использованием FPGA .
Видеосхемы или модули обычно управляются с помощью VT100 -совместимого набора команд через UART , [ требуется ссылка ] Конструкции FPGA обычно допускают прямой доступ к видеопамяти. [ требуется ссылка ]