В какой степени эмуляторы терминалов xterm, xterm-color и linux основаны на VT100?

Я понимаю, что все эти эмуляторы терминала получают поведение кода управления ASCII и escape-последовательности ANSI из стандарта VT100. Я также понимаю, что существует стандарт ANSI для поведения терминала, основанный либо на VT100, либо на VT102. Правильно ли я в этом понимании? Кроме того, какие другие функции или поведение выведены из VT100?

Хотя в 1970-х и 1980-х годах было несколько популярных терминалов, по какой-то причине первоначальные разработчики xterm, начиная с конца 1980-х годов, решили использовать vt100 в качестве модели. С самого начала были различия (например, альтернативный режим экрана, на который могли повлиять терминалы Hewlett Package).

ANSI x3.64 не основывался на vt100; DEC был одним из нескольких производителей, которые участвовали в разработке стандарта. Как и большинство стандартов, это компромисс. Большая часть vt100 соответствует стандарту ANSI x3.64, давно заменен ISO-6429 (ECMA-48). Он реализует, возможно, четверть ECMA-48 и предоставляет некоторые функции, не входящие в стандарт.

Некоторые функции vt100, не входящие в стандарт, включают:

  • прокрутка (и прокрутка полей)
  • двузначные символы
  • сохранить / восстановить позицию курсора

Вы использовали два из этих трех, зная или нет. ECMA-48 описывает различные элементы управления для прокрутки, которые vt100 не реализовал, но поддерживаются в xterm (и некоторые из имитаторов xterm).

Другие ANSI-совместимые терминалы, такие как эмулятор консоли Sun, не реализовали эти функции (и отправка прокрутки области побег имеет интересные результаты).

Строго говоря, vt100 не поддерживал элементы управления для вставки и удаления строк. Это было сделано в vt102 (что большинство людей считают «vt100»). Они входят в серию: полный эмулятор vt100 может эмулировать vt52, vt220 может эмулировать vt100, vt420 может эмулировать vt220 / vt100 / vt52.

К середине 1990-х годов у xterm были некоторые функции переключения символов, связанные с vt220. Дальнейшая разработка добавила все, кроме мягких шрифтов из репертуара vt220 (например, двухзначные символы, это не используется из многих других программ, кроме vttest). Это описано в разделе справочной страницы « Эмуляции» .

В то время как ISO-6429 определял последовательности выделения цвета , они не поддерживались моделями vt100 / vt220. Они были поддержаны в модели vt525, о которой я сказал, был разработан и изготовлен Wyse. Ни DEC, ни Wyse не сделали терминалов довольно долгое время, и поведение цветов в этом терминале не повлияло на развитие xterm. Это оказало некоторое влияние на консоль Linux, но побега цветовой палитры консоли Linux полностью вышла за рамки любого стандарта. Его экранирование выбора цвета основано на ANSI, но, скорее всего, имитирует консоли AT & T (и SCO), а не читает сам стандарт.

http://vt100.net/ – отличный ресурс. Вы в целом правы; однако, стандарт ANSI, о котором идет речь, ANSI X3.64 и VT100 были разработаны одновременно. VT100 был первым терминалом, поддерживающим стандарт, и стандарт был разработан с использованием DEC. См. https://en.wikipedia.org/wiki/ANSI_escape_code для более длительного обсуждения. xterm и его родственники эмулируют достаточно VT220 для поддержки vi , vim , mc и вообще приложений, использующих curses . Они не пытаются полностью подражать. И xterm включает эмуляцию Tektronix 4010 для использования графическими приложениями.

Самое главное, что xterm и его братья и сестры, а VT220 – не цвет . Большинство ВТ – монохромные устройства (черный и выбор времени янтарного, зеленого или белого цвета); первым DEC-терминалом для поддержки цвета был VT340. Команды выбора цвета определены в международном стандарте ISO 6429, преемнике ANSI X3.64. xterm также может загружать и отображать пользовательские шрифты.

Терминалы серии VT200 представили цифровую клавиатуру (с золотым ключом, где ключ NumLock находится на обычной клавиатуре ПК, он был фактически окрашен в желтый цвет), который использовался EDT, EVE, TPU и другими замечательными текстовыми редакторами от DEC (для RSX и VMS) для команд редактирования текста вместо обычных клавиш с Alt. Это ввело идею «режима клавиатуры приложения», где клавиши на цифровой клавиатуре не отправляют цифры, а специальные коды для использования полноэкранными приложениями.

Попробуйте ответить на запрос в комментариях, консоль Linux (то есть интерфейс символьных ячеек, доступный при загрузке Linux в текстовом режиме или доступный из многих графических интерфейсов с помощью Ctrl-Alt-F1 в Ctrl-Alt-F6, который идентифицирует себя как linux ) эмулирует VT102, но может загружать и отображать пользовательские шрифты и способен к цвету; команды выбора цвета такие же, как и для xterm .