Jump to content

Эмулятор терминала

(Перенаправлено из эмуляции терминала )
xterm — эмулятор терминала, разработанный для системы X Window.
Windows Terminal — эмулятор терминала с открытым исходным кодом для Windows 10 и Windows 11.

Эмулятор терминала или приложение терминала — это компьютерная программа которая имитирует видеотерминал , в какой-либо другой архитектуре дисплея. обычно является синонимом оболочки или текстового терминала Хотя термин « терминал» , он охватывает все удаленные терминалы, включая графические интерфейсы. Эмулятор терминала внутри графического пользовательского интерфейса часто называют окном терминала .

Окно терминала предоставляет пользователю доступ к текстовому терминалу и всем его приложениям, таким как интерфейсы командной строки (CLI) и текстового пользовательского интерфейса приложения (TUI). Они могут работать либо на той же машине, либо на другой через telnet , ssh , коммутируемое соединение или через прямое последовательное соединение . В Unix-подобных операционных системах обычно к локальному компьютеру подключено одно или несколько окон терминала.

Терминалы обычно поддерживают набор escape-последовательностей для управления цветом, положением курсора и т. д. Примеры включают семейство стандартов последовательности управления терминалами, известных как ECMA-48 , ANSI X3.64 или ISO/IEC 6429 .

На заре компьютерных технологий, с появлением интерактивных вычислений, преобладающей моделью был центральный компьютер, подключенный к нескольким терминалам. [1] Эта конфигурация, известная как централизованная модель или модель мэйнфрейма, включала в себя мощный центральный компьютер, который выполнял все задачи обработки, а терминалы служили устройствами ввода/вывода для взаимодействия пользователей с системой. Эти системы изначально были основаны на персонажах.

Символьно-ориентированные терминалы

[ редактировать ]
Televideo ASCII Терминал символьного режима

Символьно-ориентированный терминал — это тип компьютерного терминала, который обменивается данными со своим хостом по одному символу за раз, в отличие от блочно-ориентированного терминала , который обменивается данными блоками данных. Это наиболее распространенный тип терминала данных, поскольку его легко реализовать и запрограммировать. Соединение с мэйнфреймом или терминальным сервером осуществляется через последовательные каналы RS-232, Ethernet или другие собственные протоколы .

Символьно-ориентированные терминалы могут быть «тупыми» или «умными». Тупые терминалы [2] это те, которые могут интерпретировать ограниченное количество управляющих кодов (CR, LF и т. д.), но не имеют возможности обрабатывать специальные escape-последовательности, выполняющие такие функции, как очистка строки, очистка экрана или управление положением курсора. В этом контексте тупые терминалы иногда называют стеклянными телетайпами , поскольку они, по сути, имеют те же ограниченные функциональные возможности, что и механический телетайп. Этот тип тупого терминала по-прежнему поддерживается в современных Unix-подобных системах путем установки переменной среды TERM к dumb. Интеллектуальные или интеллектуальные терминалы — это терминалы, которые также имеют возможность обрабатывать escape-последовательности, в частности escape-последовательности VT52, VT100 или ANSI.

Эмуляторы

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

Когда в 1980-х годах персональные компьютеры стали повсеместными, они предложили возможность запуска программного обеспечения на персональном компьютере пользователя, предоставив возможность заменить дорогие и занимающие много места аппаратные терминалы чем-то, что имело дополнительные функции. [3] Сразу стало доступно программное обеспечение, которое могло имитировать функции аппаратных терминалов на ПК. Примерами такого программного обеспечения для DOS были Telix или Telemate, которые были опубликованы в 1988 году и могли эмулировать терминал DEC VT102. [4]

Рабочие станции , обычно работающие под управлением версий Unix , также стали обычным явлением в 1980-х годах. Системы Unix обычно предоставляли доступ к командной строке с помощью локально подключенных или коммутируемых терминалов. Рабочие станции Unix были разработаны для использования в основном через графический интерфейс пользователя (GUI); Чтобы обеспечить доступ к командной строке, графический интерфейс включал приложения-эмуляторы терминала, которые вели себя как локально подключенные терминалы.

В 1990-е годы появились новые операционные системы, такие как Windows и OS/2 , обеспечившие техническую основу для большего количества эмуляторов терминала, таких как Telix для Windows , ZOC для OS/2 или PuTTY , который был первоначально выпущен для Windows в 1998 году и который (вместе с его производные) по сей день остается очень популярным выбором. [5]

Благодаря успеху Linux , особенно работающего в центрах обработки данных и облачных серверах, [6] [ мертвая ссылка ] необходимость доступа к удаленным компьютерам через символьные терминалы остается. Это видно по тому факту, что сегодня списки эмуляторов терминала, которые могут служить альтернативой вышеупомянутому PuTTY, предлагают более 100 альтернатив. [7] [ сомнительно обсудить ]

Примеры эмулируемых терминалов

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

Многие эмуляторы терминала были разработаны для таких терминалов, как VT52 , VT100 , VT220 , VT320 , IBM 3270/8/9/E , IBM 5250 , IBM 3179G , Data General D211, Hewlett-Packard HP700/92, Sperry/Unisys 2000-series. UTS60 , Burroughs/Unisys A-серии T27/TD830/ET1100, ADDS ViewPoint, Sun консоль , QNX , AT386, SCO-ANSI, SNI 97801, Televideo и Wyse 50/60. Кроме того, были разработаны программы для эмуляции других эмуляторов терминала, таких как xterm и различных консольных терминалов (например, для Linux ). Наконец, некоторые эмуляторы просто ссылаются на стандарт, например ANSI . Такие программы доступны на многих платформах: от DOS и Unix до Windows и macOS, а также встроенных операционных систем, используемых в мобильных телефонах и промышленном оборудовании.

Детали реализации

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

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

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

В прошлом Unix и Unix-подобные системы использовали устройства последовательного порта, такие как порты RS-232 , и предоставляли /dev/* файлы устройств для них. [8]

В эмуляторах терминала эти файлы устройств эмулируются с помощью пары псевдотерминальных устройств. Эта пара используется для эмуляции физического порта/подключения к конечной точке хост-компьютера — аппаратному обеспечению компьютера, предоставляемому API-интерфейсами операционной системы, некоторым другим программным обеспечением, таким как rlogin , telnet , SSH или другим. [9] Например, в системах Linux это будут /dev/ptyp0 (для главной стороны) и /dev/ttyp0 (для ведомой стороны) псевдотерминальные устройства соответственно.

Существуют также специальные виртуальной консоли, такие как файлы /dev/console. В текстовом режиме запись в файл отображает текст на виртуальной консоли, а чтение из файла возвращает текст, который пользователь записывает на виртуальную консоль. Как и в случае с другими текстовыми терминалами , существуют также специальные escape-последовательности , управляющие символы и функции , которые программа может использовать, проще всего через такую ​​библиотеку, как ncurses . Для более сложных операций программы могут использовать специальные ioctl системные вызовы консоли и терминала. Устройства можно сравнивать, используя шаблоны vcs («экран виртуальной консоли») и vcsa («экран виртуальной консоли с атрибутами»), например: /dev/vcs1 и /dev/vcsa1. [10]

Некоторые эмуляторы терминала также включают escape-последовательности для настройки поведения терминала, чтобы обеспечить хорошее взаимодействие между терминалом и программами, работающими внутри него, например, для настройки брекетинга вставки .

Виртуальные консоли можно настроить в файле /etc/inittab читается с помощью init текстовый режим входа в — обычно он запускает процесс getty для нескольких виртуальных консолей. X Window System можно настроить в /etc/inittab или с помощью менеджера дисплея X. В ряде дистрибутивов Linux используется systemd вместо init , что также позволяет настраивать виртуальную консоль.

Инструменты интерфейса командной строки

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

Типичные системные программы Linux, используемые для доступа к виртуальным консолям, включают:

  • chvt переключить текущую виртуальную консоль
  • openvt запустить программу на новой виртуальной консоли
  • deallocvt закрыть неиспользуемую в данный момент виртуальную консоль

Локальное эхо

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

Эмуляторы терминала могут реализовывать функцию локального эха , которую ошибочно можно назвать « полудуплексной » или все же немного неправильно «эхоплексной» (которая формально является механизмом обнаружения ошибок, а не опцией отображения ввода). [11] [12] [13] [14]

Построчный режим/Локальное редактирование

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

Эмуляторы терминала могут реализовывать локальное редактирование, также известное как «построчный режим». Его также ошибочно называют « полудуплексным ». [ нужна ссылка ] В этом режиме эмулятор терминала отправляет в хост-систему только полные строки ввода. Пользователь вводит и редактирует строку, но во время редактирования она сохраняется локально в эмуляторе терминала. Он не передается до тех пор, пока пользователь не сигнализирует о его завершении, обычно с помощью ↵ Enter клавиша на клавиатуре или какая-либо кнопка «отправить» в пользовательском интерфейсе. В этот момент передается вся строка. Построчный режим подразумевает локальное эхо, так как в противном случае пользователь не сможет видеть линию в процессе ее редактирования и построения. [11] [15] Однако построчный режим не зависит от режима эха и не требует локального эха. При вводе пароля, например, возможен построчный ввод с локальным редактированием, но локальное эхо отключается (иначе пароль будет отображаться). [16]

Сложности построчного режима иллюстрируются опцией построчного режима в протоколе telnet. Чтобы реализовать его правильно, реализация сетевого виртуального терминала, предоставляемая программой эмулятора терминала, должна быть способна распознавать и правильно обрабатывать события «прерывания» и «прерывания», которые поступают в середине локального редактирования строки. [17]

Синхронные терминалы

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

В асинхронных терминалах данные могут передаваться в любом направлении в любое время. В синхронных терминалах протокол контролирует, кто и когда может отправлять данные. IBM 3270, Терминалы на базе используемые с мейнфреймами IBM, являются примером синхронных терминалов . Они работают по существу в режиме «экран за раз» (также известном как блочный режим ). Пользователи могут вносить многочисленные изменения в страницу, прежде чем отправить обновленный экран на удаленный компьютер в качестве одного действия.

Эмуляторы терминала, имитирующие протокол 3270, доступны для большинства операционных систем и могут использоваться как системами администрирования, такими как z9 , так и теми, кто использует соответствующие приложения, такие как CICS .

Другие примеры синхронных терминалов включают IBM 5250 , ICL 7561, Honeywell Bull VIP7800 и Hewlett-Packard 700/92.

Виртуальные консоли

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

Виртуальные консоли , также называемые виртуальными терминалами, представляют собой эмуляцию текстовых терминалов , использующих клавиатуру и монитор персонального компьютера или рабочей станции. Слово «текст» является ключевым, поскольку виртуальные консоли не являются терминалами с графическим интерфейсом и не работают внутри графического интерфейса. Виртуальные консоли присутствуют в большинстве Unix-подобных систем. Они в основном используются для доступа к серверам и взаимодействия с ними без использования графической среды рабочего стола.

См. также

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

Примечания

[ редактировать ]
  1. ^ FU Berlin, 3. Архитектура миникомпьютера.
  2. ^ «Что такое тупой терминал? Определение и значение» . BusinessDictionary.com . Архивировано из оригинала 13 августа 2020 года . Проверено 13 марта 2019 г.
  3. ^ «Эмулирование терминала на персональных компьютерах» .
  4. ^ «Телемат Вики» .
  5. ^ «SSH-клиенты для Windows» .
  6. ^ «Использование Linux в дата-центре» .
  7. ^ «Альтернативы шпаклевке» .
  8. ^ «Краткая история эмуляции терминала | Турбософт» . www.ttwin.com . Проверено 4 октября 2021 г.
  9. ^ «Страница руководства Ubuntu: tty — общий интерфейс терминала» . manpages.ubuntu.com . Проверено 4 октября 2021 г.
  10. ^ «Дамп экрана» . HOWTO по клавиатуре и консоли Linux . Проект документации Linux . Проверено 31 июля 2008 г. Доступ к текущему содержимому экрана /dev/ttyN можно получить с помощью устройства /dev/vcsN (где «vcs» означает «экран виртуальной консоли»). [...] Из программы обычно лучше использовать /dev/vcsaN («экран виртуальной консоли с атрибутами») — он начинается с заголовка, указывающего количество строк и столбцов, а также расположение курсора. См. vcs(4).
  11. ^ Перейти обратно: а б Дэйнтит 2004 , с. 171.
  12. ^ Вейк 2000 , «эхо», с. 478.
  13. ^ Weik 2000 , «эхоплекс», с. 479.
  14. ^ Weik 2000 , «режим эхоплекса», с. 479.
  15. ^ Бангиа 2010 , с. 324.
  16. ^ Стивенс и Райт 1994 , с. 413.
  17. ^ Миллер 2009 , с. 590, 591.
  • Бангиа, Рамеш (2010). «терминал линейного режима». Словарь информационных технологий . Лакшми Публикации, ООО ISBN  978-93-8029-815-3 .
  • Дэйнтит, Джон (2004). «эхо». Оксфордский словарь вычислений (5-е изд.). Издательство Оксфордского университета. ISBN  978-0-19-860877-6 .
  • Миллер, Филип М. (2009). TCP/IP – Полное руководство по протоколам . Том. 2 – Приложения, доступ и безопасность данных. Универсал-Издательство. ISBN  978-1-59942-493-4 .
  • Стивенс, В. Ричард ; Райт, Гэри Р. (1994). TCP/IP проиллюстрирован . Серия профессиональных компьютеров Аддисона-Уэсли. Том. 1: Протоколы. Аддисон-Уэсли. ISBN  978-0-201-63346-7 .
  • Вейк, Мартин Х. (2000). Словарь по информатике и коммуникациям . Том. 1. Спрингер. ISBN  978-0-7923-8425-0 . {{cite encyclopedia}}: Отсутствует или пусто |title= ( помощь )
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7642a487e04aab7624716322b9f66f13__1722288000
URL1:https://arc.ask3.ru/arc/aa/76/13/7642a487e04aab7624716322b9f66f13.html
Заголовок, (Title) документа по адресу, URL1:
Terminal emulator - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)