Jump to content

Возможности терминала

В вычислительной технике и телекоммуникациях возможности терминала это различные функции терминала, выходящие за рамки тех, которые доступны в чистом телетайпе , которые могут использовать хост-системы (и программы, которые на них работают). Это (в основном) управляющие коды и escape-коды , которые можно отправлять или получать с терминала. Escape-коды, отправляемые на терминал, выполняют различные функции, на которые способен ЭЛТ- терминал (и программные эмуляторы терминала ), но не телетайп; например, перемещение курсора терминала в нужное положение на экране, очистка и прокрутка всего экрана или его частей, включение и выключение подключенных принтеров, программирование программируемых функциональных клавиш, изменение цветов и атрибутов отображения (например, обратного видео ) и настройка отображения строки заголовка. Escape-коды, полученные от терминала, обозначают такие вещи, как функциональная клавиша , клавиша со стрелкой и другие специальные клавиши ( клавиша Home , клавиша завершения , клавиша справки , клавиша PgUp , клавиша PgDn , клавиша вставки , клавиша удаления и т. д.). нажатия клавиш . [1] [2]

Unix и POSIX: termcap, terminfo и др.

[ редактировать ]

В Unix и других POSIX -совместимых системах, поддерживающих терминальный интерфейс POSIX , эти возможности закодированы в базах данных, которые настраиваются системным администратором и доступны из программ через библиотеку terminfo (которая заменяет старую библиотеку termcap ), на которую, в свою очередь, встроенные библиотеки, такие как библиотеки Curses и ncurses , с помощью которых прикладные программы используют возможности терминала для предоставления текстовых пользовательских интерфейсов с окнами, диалоговыми окнами, кнопками, метками, полями ввода, меню и т. д. [3] [4] Цель состоит в том, чтобы это позволило прикладным программам быть независимыми от фактических характеристик терминала. Им не нужно жестко встраивать в свой код какие-либо управляющие коды или escape-последовательности, и поэтому не возникает проблем при использовании на ряде терминалов с различными возможностями. [5]

срок действия

[ редактировать ]

The Библиотека termcap (для « терминала ограничения возможностей ») была разработана для систем BSD. Он использует базу данных, хранящуюся в файле /etc/термкап . Эта база данных состоит из серии записей (каждая из которых состоит из одной или нескольких строк в файле, соединенных символами обратной косой черты на концах каждой строки, продолжающейся на следующую), каждая из которых представляет возможности определенного терминала. Поля записи содержат имя или имена типа терминала, за которыми следует последовательность возможностей, разделенных двоеточиями. [3] [2] Сами поля возможностей делятся на три группы:

характеристики терминала
К ним относятся такие вещи, как (номинальное) количество строк и столбцов на дисплее терминала, автоматически ли выходные данные переносятся на следующую строку, когда достигают конца строки, и так далее. [2]
последовательности управления, отправляемые в качестве вывода на терминал
Они включают в себя управляющие коды и escape-последовательности, отправляемые на терминал для выполнения им некоторого действия (не обязательно действия по отображению). Примером одного из простейших является последовательность вывода для очистки экрана, которая может представлять собой перевод страницы (ASCII FF) символ на некоторых типах терминалов, но может быть, скажем, escape-последовательностью ␛2J на терминале, которому требуются escape-последовательности ANSI . [6] [2]
последовательности управления, отправленные терминалом в качестве ввода
Они включают в себя управляющие коды и escape-последовательности, которые терминал отправляет хосту для представления различных действий и событий, таких как функциональных клавиш и клавиш со стрелками . нажатие [2]

термининформация

[ редактировать ]

Библиотека terminfo (« терминальная информация » ) была разработана для систем System V. Он использует базу данных, хранящуюся в нескольких файлах в каталоге, которые могут быть по-разному (в разных Unices и POSIX-совместимых системах). /usr/lib/terminfo , /usr/share/terminfo или даже /usr/share/lib/terminfo . [5] (Его расположение даже не одинаково в разных дистрибутивах Linux . [7] )

В отличие от базы данных termcap, база данных terminfo представляет собой машиночитаемую базу данных, созданную из удобного для чтения человеком формата исходного файла с помощью служебной программы. тик . Их можно декомпилировать из машиночитаемой формы обратно в удобочитаемую форму с помощью другой служебной программы. инфокмп . [8] Например, команда для вывода удобочитаемой формы определения терминала «vt100»: [7]

infocmp vt100

Использование машиночитаемого формата было призвано избежать ненужных накладных расходов в прикладных программах, использующих такие системы, как библиотека termcap, на повторный анализ содержимого базы данных для чтения полей записи. Использование нескольких файлов было сделано для того, чтобы избежать подобных накладных расходов, связанных с анализом содержимого базы данных для поиска записи базы данных для целевого типа терминала. Индекс имени типа терминала, по сути, представляет собой обычную структуру каталогов файловой системы Unix/POSIX. Первоначально в Unix были серьезные проблемы с производительностью при работе с большими каталогами, содержащими множество файлов, поэтому terminfo использует двухуровневую структуру, разделяя записи каталога по первым буквам на ряд подкаталогов. Более поздние форматы файловых систем, используемые в системах Unix, не так сильно страдают от таких проблем (поскольку их структуры каталогов на диске больше не представляют собой простые массивы записей, а организованы в деревья или хеш-таблицы), и поэтому необходимость в этом элементе дизайна , который все еще существует в современных реализациях terminfo, с тех пор исчез. [8]

Вспомогательные программы для реализации возможностей терминала

[ редактировать ]

В системах Unix Команда tput команды используется для поиска конкретной возможности в базе данных системы и вывода ее на стандартный вывод (который, предположительно, является терминалом, с помощью которого должна выполняться функция, обозначенная этой возможностью). [1] Одна из самых простых операций – очистка экрана. Имя поля базы данных, в котором хранится выходная последовательность, ясно , поэтому аргументы команды для tput программа для очистки экрана [1]

tput clear

Другая операция — это инициализация или сброс терминала до известного состояния по умолчанию (атрибутов символов, шрифтов, цветов и т. д.). Команды для этого: [9]

tput init

и

tput reset

Обычно Команда tput использует тип терминала, указанный в TERM Переменная среды , одна из управляющих переменных среды терминального интерфейса POSIX . Однако это можно переопределить, чтобы принудительно tput для поиска другого типа терминала в базе данных с параметром командной строки для команды. [1] Так, например, чтобы выполнить последовательность сброса, соответствующую типу терминала с именем «vt100» в базе данных (обычно терминал DEC VT100 ), независимо от типа терминала, указанного в переменных среды, команда:

tput -T vt100 reset

Что поддерживает что

[ редактировать ]

Использованные источники

[ редактировать ]
  • Афзал, Амир (2008). UNIX без границ: начальный подход (5-е изд.). Прентис Холл. ISBN  978-0-13-119449-6 .
  • Блюм, Ричард (2008). Библия командной строки Linux и сценариев оболочки . Библейская серия. Джон Уайли и сыновья. ISBN  978-0-470-25128-7 .
  • Гроб, Стивен (1991). UNIX system V, выпуск 4: полный справочник . Осборн МакГроу-Хилл. ISBN  978-0-07-881653-6 .
  • Фриш, Элин (2002). Основное системное администрирование . Краткое руководство (3-е изд.). O'Reilly Media, Inc. ISBN  978-0-596-00343-2 .
  • Кумар, Судхир (2004). Энциклопедия операционной системы . Публикации Anmol PVT. ООО. ISBN  978-81-261-1792-5 .
  • Раймонд, Эрик С. (2004). Искусство программирования Unix . Серия профессиональных компьютеров Аддисона-Уэсли. Аддисон-Уэсли. ISBN  978-0-13-142901-7 .
  • Уинзор, Дженис (2001). Руководство расширенного системного администратора Solaris 8 (3-е изд.). Прентис Холл PTR. ISBN  978-0-13-027703-9 .

Дальнейшее чтение

[ редактировать ]
  • Стрэнг, Джон; Муи, Линда; О'Рейли, Тим (1991). Termcap и terminfo . Краткий справочник (3-е изд.). O'Reilly Media, Inc. ISBN  978-0-937175-22-4 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e1268c6fb33e4dde3af6ed08a4ae5711__1696382280
URL1:https://arc.ask3.ru/arc/aa/e1/11/e1268c6fb33e4dde3af6ed08a4ae5711.html
Заголовок, (Title) документа по адресу, URL1:
Terminal capabilities - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)