Текстовый пользовательский интерфейс
Эта статья нуждается в дополнительных цитатах для проверки . ( сентябрь 2014 г. ) |
В вычислительной технике текстовые пользовательские интерфейсы ( TUI ) (альтернативно пользовательские интерфейсы терминалов , отражающие зависимость от свойств компьютерных терминалов , а не только от текста) — это ретроним, описывающий тип пользовательского интерфейса (UI), распространенный как ранняя форма. взаимодействия человека с компьютером до появления растровых дисплеев и современных традиционных графических интерфейсов пользователя (GUI). Как и современные графические интерфейсы, они могут использовать всю область экрана и принимать действия с помощью мыши и других средств ввода. Они также могут использовать цвет и часто структурировать отображение, используя символы рисования прямоугольников, такие как ┌ и ╣. Современный контекст использования обычно представляет собой эмулятор терминала .
Типы текстовых терминалов
[ редактировать ]С текстового приложения точки зрения текстовый экран (и связь с ним) может принадлежать к одному из трех типов (здесь они упорядочены в порядке убывания доступности):
- Настоящий текстовый дисплей, управляемый видеоадаптером или самим центральным процессором. Это нормальное состояние для локально запущенного приложения на различных типах персональных компьютеров и мобильных устройств . не препятствует Если операционная система , умная программа может использовать всю мощь аппаратного текстового режима.
- текстового режима Эмулятор . Примерами являются xterm для X Window System и консоль win32 (в оконном режиме) для Microsoft Windows . Обычно это поддерживает программы, которые ожидают отображения в реальном текстовом режиме, но могут работать значительно медленнее. Некоторые функции расширенного текстового режима, такие как загрузка собственного шрифта , почти наверняка станут недоступны.
- Удаленный текстовый терминал . Возможности связи обычно сводятся к последовательной линии или ее эмуляции, возможно, с небольшим количеством ioctl () в качестве внеполосного канала в таких случаях, как Telnet и Secure Shell . Это худший случай, поскольку программные ограничения мешают использованию возможностей удаленного устройства отображения.
В Linux и других Unix-подобных системах программа легко приспосабливается к любому из трех случаев, поскольку один и тот же интерфейс (а именно стандартные потоки ) управляет дисплеем и клавиатурой. См . ниже сравнение с Windows.
множество библиотек программирования TUI, Доступно которые помогают разработчикам создавать приложения TUI .
На ANSI-совместимых терминалах
[ редактировать ]Американского национального института стандартов (ANSI) Стандарт ANSI X3.64 определяет стандартный набор escape-последовательностей , которые можно использовать для управления терминалами для создания TUI (см. escape-код ANSI ). Escape-последовательности могут поддерживаться для всех трех случаев, упомянутых в предыдущем разделе, что позволяет осуществлять произвольные перемещения курсора и изменение цвета.Однако не все терминалы соответствуют этому стандарту, и существует множество несовместимых, но функционально эквивалентных последовательностей.
Под DOS и Microsoft Windows
[ редактировать ]На персональных компьютерах IBM и совместимых с ними базовая система ввода-вывода ( BIOS ) и системные вызовы DOS позволяют писать текст на экране, а драйвер ANSI.SYS может обрабатывать стандартные escape-последовательности ANSI. Однако вскоре программисты узнали, что запись данных непосредственно в экранный буфер намного быстрее и проще в программировании и менее подвержена ошибкам; см . в текстовом режиме, совместимом с VGA подробности . Это изменение в методах программирования привело к появлению множества программ TUI для DOS. Среда консоли Windows известна своей эмуляцией некоторых функций текстового режима EGA/VGA, в частности произвольного доступа к текстовому буферу, даже если приложение запускается в окне. С другой стороны, программы, работающие под Windows (как собственные, так и DOS-приложения), имеют гораздо меньший контроль над дисплеем и клавиатурой, чем программы Linux и DOS, из-за вышеупомянутого уровня консоли Windows.
Чаще всего в этих программах использовался синий фон главного экрана с белыми или желтыми символами, хотя обычно они также имели пользовательскую настройку цвета. Они часто использовали символы рисования прямоугольников IBM в кодовой странице 437 . Позже на интерфейс оказали глубокое влияние графические пользовательские интерфейсы (GUI), добавив раскрывающиеся меню , перекрывающиеся окна , диалоговые окна и виджеты GUI, управляемые с помощью мнемоники или сочетаний клавиш . Вскоре был добавлен ввод с помощью мыши – либо с текстовым разрешением в виде простого цветного прямоугольника, либо с графическим разрешением благодаря способности адаптеров дисплея Enhanced Graphics Adaptor (EGA) и Video Graphics Array (VGA) переопределять формы текстовых символов с помощью программного обеспечения , обеспечивая дополнительные функции.
Некоторыми известными программами такого рода были Microsoft Word , DOS Shell , WordPerfect , Norton Commander , Turbo Vision на базе Borland Turbo Pascal и Turbo C (последний включал 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 .
Подсистема Windows для Linux , добавленная в Windows компанией Microsoft в 2019 году, поддерживает запуск Linux текстовых приложений в Windows, в консоли Windows , терминале Windows и других терминалах на базе Windows.
В Unix-подобных системах
[ редактировать ]В Unix-подобных операционных системах TUI часто создаются с использованием библиотеки управления терминалом Curses , или ncurses (в основном совместимая библиотека), или альтернативной библиотеки S-Lang . Появление библиотеки проклятий в Berkeley Unix создало переносимый и стабильный API, для которого можно было писать TUI. Возможность общаться с различными текстовых терминалов типами , используя одни и те же интерфейсы , привела к более широкому использованию «визуальных» программ Unix, которые занимали весь экран терминала вместо использования простого линейного интерфейса. Это можно увидеть в текстовых редакторах, таких как vi , почтовых клиентах таких как pine или mutt , инструментах управления системой, таких как SMIT , SAM , FreeBSD Sysinstall , и веб-браузерах, таких как lynx . Некоторые приложения, такие как w3m и более старые версии pine и vi, используют менее функциональную библиотеку termcap , выполняющую многие функции, связанные с проклятиями внутри приложения. Пользовательские TUI-приложения на основе виджетов можно легко разработать с помощью диалоговой программы (на основе ncurses ) или программы Whiptail (на основе S-длинный ).
Кроме того, рост популярности Linux привел многих бывших пользователей DOS к Unix-подобной платформе, что усилило влияние DOS на многие TUI. Программа minicom , например, создана по образцу популярной DOS-программы Telix . Некоторые другие программы TUI, такие как Twin Desktop, были перенесены .
Большинство Unix-подобных операционных систем (Linux, FreeBSD и т. д.) поддерживают виртуальные консоли , доступ к которым обычно осуществляется с помощью комбинации клавиш Ctrl-Alt-F. Например, в Linux можно получить доступ к 64 консолям (12 с помощью функциональных клавиш), каждая из которых отображается в полноэкранном текстовом режиме.
Бесплатная программа обеспечивает управление несколькими сеансами внутри одного TUI, поэтому ее GNU Screen можно рассматривать как оконный менеджер для текстового режима и интерфейсов командной строки. Tmux также может это сделать.
Собственный macOS текстовый редактор BBEdit включает в себя функцию рабочего листа оболочки , которая работает как полноэкранное окно оболочки. Бесплатный может запускать оболочку внутри одного из своих буферов , текстовый редактор Emacs обеспечивая аналогичную функциональность. В Emacs есть несколько реализаций оболочки, но только ansi-term
подходит для запуска программ TUI. Другие распространенные режимы оболочки, shell
и eshell
только эмулировать командные строки, а программы TUI будут жаловаться «Терминал не полностью функционален» или отображать искаженный интерфейс. Бесплатные имеют окна терминала текстовые редакторы Vim и Neovim (имитирующие xterm ). Эта функция предназначена для запуска заданий, параллельных сборок или тестов, но ее также можно использовать (с разделением окон и страницами вкладок) в качестве облегченного мультиплексора терминала.
OpenVMS
[ редактировать ]VAX/VMS (позже известный как OpenVMS ) имел сходство с проклятиями , известное как Screen Management или SMG. Его можно вызвать из командной строки или из программ, использующих библиотеку SMG$. [3]
Оберон
[ редактировать ]Другой вид TUI — это основной интерфейс операционной системы Oberon , впервые выпущенный в 1988 году и поддерживаемый до сих пор. В отличие от большинства других текстовых пользовательских интерфейсов, Оберон не использует консоль или терминал с текстовым режимом, а требует большого растрового дисплея, на котором текст является основной целью для щелчков мыши. Аналогично ссылке в гипертексте команда имеет формат Module.Procedure parameters ~
и активируется щелчком средней кнопки мыши. Текст, отображаемый в любом месте экрана, можно редактировать, а если он отформатирован с использованием требуемого командного синтаксиса, его можно щелкнуть средней кнопкой мыши и выполнить. Любой текстовый файл, содержащий команды в соответствующем формате, может использоваться как так называемый инструментальный текст , служащий, таким образом, настраиваемым пользователем меню. Даже вывод предыдущей команды можно редактировать и использовать в качестве новой команды. Этот подход радикально отличается как от традиционных диалоговых консольных меню, так и от интерфейсов командной строки .
Поскольку он не использует графические виджеты , а только простой текст, но предлагает функциональность, сравнимую с графическим пользовательским интерфейсом с тайловым оконным менеджером , его называют текстовым пользовательским интерфейсом или TUI. Краткое введение см. во втором абзаце на четвертой странице первого опубликованного отчета о системе Оберон . [4]
Oberon Пользовательский интерфейс повлиял на дизайн текстового редактора Acme и почтового клиента для операционной системы Plan 9 от Bell Labs .
Во встроенных системах
[ редактировать ]Современные встроенные системы способны отображать TUI на мониторе, как персональные компьютеры. Эта функциональность обычно реализуется с помощью специализированных интегральных схем, модулей или с помощью FPGA .
Видеосхемы или модули обычно управляются с помощью VT100 -совместимого набора команд через UART . [ нужна ссылка ] Конструкции FPGA обычно допускают прямой доступ к видеопамяти. [ нужна ссылка ]
Другое использование
[ редактировать ]- Полноэкранный редактор 8-битных компьютеров Commodore 64 для своего времени был передовым в своем сегменте рынка. Пользователи могли перемещать курсор по всей области экрана, вводя и редактируя строки программы BASIC , а также прямого режима команды Commodore . Все 8-битные компьютеры использовали набор символов PETSCII , который включал глифы символов, подходящие для создания TUI.
- Среда программирования Apple Macintosh Programmer's Workshop включала Commando, оболочку TUI. Это послужило источником вдохновения для создания рабочего листа оболочки BBEdit.
- Более поздние Apple II модели включали MouseText — набор графических символов, используемых для создания TUI.
- Компьютер Corvus Concept 1982 года использовал текстовый интерфейс на основе функциональных клавиш на полностраничном поворотном дисплее.
См. также
[ редактировать ]- Интерфейс командной строки
- Консольное приложение
- Пользовательский интерфейс на естественном языке
- Текстовая игра , игра с использованием TUI.
- текстовый режим VGA
- МДА
Примеры библиотек программирования
[ редактировать ]- проклятия (библиотека программирования)
- ncurses
- СДК
- Newt , набор инструментов на основе виджетов
- Сленг
- Турбо Видение
- Ранние версии Visual Basic
Ссылки
[ редактировать ]- ^ cmd подсказка в полноэкранном режиме в Windows 7 . Социальный.technet.microsoft.com. Проверено 15 июня 2013 г.
- ^ Уоррен, Том (6 мая 2019 г.). «Microsoft представляет Windows Terminal, новое приложение командной строки для Windows» . Грань .
- ^ «Руководство по управлению экраном OpenVMS RTL (SMG$)» . hpe.com . 2001 . Проверено 1 января 2021 г.
- ^ Вирт, Никлаус ; Гуткнехт, Юрг (1988). Система Оберон (PDF) (Технический отчет). ETH Швейцарский федеральный технологический институт, Цюрих, Институт компьютерных наук. Том 88. doi : 10.3929/ethz-a-000487176 .