Встроенный терминал Proxy32

**** - indicates changed section

1. Общие сведения о терминалах
    1.1 Что такое эмулятор терминала?
    1.2 Буфер обратной прокрутки экрана терминала
    1.3 Поиск информации в буфере обратной прокрутки терминала
    1.4 Копирование и вставка текста через клипборд
    1.5 Разделение сессии терминала между многими пользователями

2. Описание встроенного терминала ****

    2.1. Возможности встроенного терминала ****
        2.1.1. Общие сведения ****
        2.1.2. Органы управления в окне встроенного терминала ****
        2.1.3. Прокрутка буфера во встроенном терминале
        2.1.4. Закладки и поиск в буфере обратной прокрутки терминала
        2.1.5. Операции копирования и вставки через клипборд
        2.1.6. Разделение сессии терминала между многими пользователями
        2.1.7. Управление скоростью потока принимаемых данных в терминале

    2.2. Создание, подключение, отключение и переподключение окон встроенного терминала ****
        2.2.1. Краткие вводные сведения. ****
        2.2.2. Способы создания и подключения окна встроенного терминала ****
        2.2.3. Использование пускачей для создания и подключения окон встроенного терминала ****
        2.2.4. Отключение, переподключение и сигнализация о состоянии терминала (кнопка CONNECT/DISCONNECT) ****
        2.2.5. Использование параметров подстановки в пускачах для создания и подключения окон встроенных терминалов ****
        2.2.6. AUTOLOGIN и пароли ****

    2.3. Создание пускачей встроенных терминалов Proxy32 ****
        2.3.1. Создание пускачей SHELL-TERMINAL с помощью кнопки “New” ****
        2.3.2. Создание пускачей SHELL-TERMINAL с помощью редактора Proxy32 TreeNode Editor ****
        2.3.3. Редактирование (модификация) пускачей SHELL-TERMINAL ****
        2.3.4. Создание и редактирование пускачей TELNET-TERMINAL и COM-PORT-TERMINAL ****

    2.4. Об автоматизации работы во встроенном терминале ****

    2.5. Описание меню окна встроенного терминала ****
        2.5.1 Подменю “File” ****
        2.5.2 Подменю “Edit” ****
        2.5.3 Подменю “Control” ****
            2.5.3.1 Command “Control/Show LauncherTree Favorites Menu” ****
            2.5.3.2 Подменю “Control/Connect via TELNET, COM-PORT or SHELL” ****
            2.5.3.3 Подменю “Control/Sharing Terminal Session with other users” ****
            2.5.3.4 Command “Control/Send TELNET/COM-PORT Break (Break key)” ****
            2.5.3.5 Подменю “Control/Log File and Scroll Buffer” ****
            2.5.3.6 Подменю “Control/LINE TERMINATORS” ****
            2.5.3.7 Подменю “Control/TERMINAL WINDOW RESIZE AND NAWS” ****
            2.5.3.8 Подменю “Control/TERMINAL SPARE BOOLEAN SETTINGS” ****
            2.5.3.9 Подменю “Control/TERMINAL EMULATOR SETTINGS” ****
            2.5.3.10 Подменю “Control/WORKAROUNDS” ****
        2.5.4 Подменю “View” ****
        2.5.5 Подменю “HelpOnMouseAndKbd” ****

1. Общие сведения о терминалах

1.1 Что такое эмулятор терминала?

Терминал функционально состоит из клавиатуры, экрана и модуля подключения, который соединяет клавиатуру и экран с местным или удаленным компьютером, чтобы посылать текстовые команды с клавиатуры и получать в ответ текст с результатами выполнения команд на экран.

Аппаратно реализованные терминалы в настоящее время практически вытеснены персональными компьютерами, на которых запущены программы, которые называются эмуляторами терминалов. В таких программах экран терминала представлен окном программы эмулятора терминала, а роль клавиатуры терминала выполняет клавиатура персонального компьютера.

В программе эмулятора терминала модуль подключения позволяет подключаться либо напрямую к программе текстового управления местным компьютером (local shell), либо через протоколы COM-PORT, TELNET, SSH, TELNET-TLS к программе текстового управления удаленным компьютером (remote shell).

Программа эмулятора терминала должна иммитировать поведение аппаратного терминала. Она должна понимать все команды управления экраном, которые понимал конкретный аппаратный терминал, который она иммитирует. Наиболее популярный набор иммитируемых команд соответствует аппаратному терминалу VT100 фирмы DEC. Широко используемый эмулятор терминала XTERM расширил этот набор команд. Было написано много программ, расчитанных на работу с XTERM, поэтому в настоящее время большинство эмуляторов терминала поддерживают набор команд эмулятора терминала XTERM. На практике подавляющее большинство эмуляторов поддерживает не все, а лишь подмножество команд эмулятора XTERM. Если эмулятор терминала используется для замены конкретного аппаратного терминала в существующей системе, то точность эмуляции может иметь большое значение, а если эмулятор терминала используется с современными серверами или телекоммуникационным оборудованием, то обычно используется только очень небольшой набор команд терминала, поэтому точность эмуляции в такой ситуации не является критической.

1.2 Буфер обратной прокрутки экрана терминала

Современные эмуляторы терминалов имеют большой текстовый буфер обратной прокрутки экрана, в котором пользователь может посмотреть все предыдущие команды, которые он посылал и, соответствено, все отклики, которые он получал на эти команды. Размер буфера обратной прокрутки измеряется количеством строк, которые он может хранить. Большинство эмуляторов терминала имеют ограниченный размер буфера обратной прокрутки экрана (в некоторых эмуляторах максимальный размер составляет 128000 строк).

Когда пользователь работает с современным оборудованием через терминал, это оборудование может выдавать на экран терминала миллионы строк диагностической информации. Если эмулятор терминала имеет ограниченный буфер обратной прокрутки, то пользователь может столкнуться с ситуацией, когда необходимая диагностическая информация не помещается в буфер обратной прокрутки. При работе с эмулятором, который имеет ограниченный буфер пользователь должен заранее включить протоколирование сессии терминала в файл, а когда диагностическая информация не помещается в буфер обратной прокрутки, то пользователь должен открыть файл протокола сессии терминала и искать в нем необходимую диагностическую информацию.

В связи с ростом сложности современного оборудования объем диагностической информации, выдаваемой на экран терминала, постоянно увеличивается, поэтому размер буфера обратной прокрутки является одной из важнейших характеристик эмулятора терминала.

1.3 Поиск информации в буфере обратной прокрутки терминала

Если буфер обратной прокрутки содержит миллионы строк, то возникает проблема поиска нужной информации в этом буфере. Если пользователь знает, как выглядит необходимая информация, то он может задать образец текста для поиска нужной информации в буфере (если эмулятор терминала имеет функцию поиска текста в буфере). В большинстве случаев пользователь не знает точный образец текста, а знает только отдельные части такого текста, поэтому современные эмуляторы терминала позволяют задавать образец для текстового поиска не только буквально (literal search), но и с помощью специального языка текстовых шаблонов (REGEX search). Когда текстовый поиск по какой-либо причине не дает желаемого результата, то пользователь может прокрутить буфер обратной прокрутки и визуально найти нужную часть диагностической информации.

Когда буфер содержит миллионы строк диагностической информации, удобство использования прокрутки в буфере обратной прокрутки является важным параметром эмулятора терминала.

1.4 Копирование и вставка текста через клипборд

Часто пользователю приходится вводить повторяющиеся команды, в которых меняется небольшая часть текста или команды, которые приведены в текстовых документах. В такой ситуации вместо того, чтобы каждый раз печатать команды вручную пользователь может использовать команды копирования и вставки текста через клипборд. Кроме того, иногда диагностическая информация, находящаяся на экране терминала, должна быть выборочно скопирована в текстовый документ. Для этого пользователь также должен использовать команды копирования и вставки текста через клипборд. В эмуляторе терминала, как правило, текст, выделенный в буфере обратной прокрутки экрана копируется на клипборд, а при выполнении операции вставки текст, находящийся на клипборде посылается на удаленный компьютер так, как если бы он был напечатан вручную. Зачастую большую часть времени работы в терминале пользователь проводит, выполняя операции копирования/вставки текста через клипборд. В большинстве эмуляторов терминала текст из буфера обратной прокрутки не копируется на клипборд, если размер этого текста превышает некоторый недокументированный предел, так что пользователь должен экспериментально установить, какой максимальный размер текста он может скопировать на клипборд в один прием. Точно также в некоторых эмуляторах терминала можно вставить текст из клипборда только, если размер текста на клипборде не превышает некоторый недокументированный предел, так что пользователь должен экспериментально установить, какой максимальный размер текста можно вставить из клипборда в один прием. Если пользователь должен скопировать большой объем текста из терминала в текстовый документ или из текстового документа в терминал, то такие недокументированне ограничения на размер буфера вставки и копирования в терминале существенно осложняют и замедляют работу, вызывая большое количество ошибок. Одной из наиболее часто встречающихся ошибок является вставка неправильного текста из клипборда в терминал, так как пользователь думал, что клипборд содержит один текст, а на самом деле клипборд содержал другой текст. Это происходит потому, что пользователь не имеет возможности видеть содержимое клипборда перед вставкой. В некоторых эмуляторах терминала каждая операция вставки или копирования требует нескольких шагов (несколько нажатий мыши или выбора из выпадающих меню), что может существенно замедлить и осложнить работу, а также приводить к ошибкам. Удобство и надежность работы с клипбордом, в частности, отсутствие ограничений на размер буфера вставки и копирования, простота процедуры выделения/копирования и вставки текста, возможность видеть содержимое клипборда перед операцией вставки и т.д. являются важнейшими функциями эмулятора терминала.

1.5 Разделение сессии терминала между многими пользователями

При работе с современным оборудованием часто требуется привлечение большого числа людей, каждый из которых является экспертом по отдельным компонентам оборудования. Для этого в современных эмуляторах терминала имеется функция разделения одной сессии терминала между многими пользователями. При использовании такой функции терминал основного пользователя подключается непосредственно к удаленному оборудованию, а терминалы привлеченных экспертов подключаются к терминалу основного пользователя. При этом все пользователи могут посылать со своего терминала текстовые команды в удаленное оборудование (по очереди) и все пользователи могут видеть в своем терминале результаты выполнения команд. Наличие функции разделения сессии терминала между многими пользователями является важнейшей характеристикой современного эмулятора терминала.

Встроенный терминал Proxy32 был разработан с учетом всех перечисленных выше требований к современному эмулятору терминала.