Встроенный терминал 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” ****

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

2.1. Возможности встроенного терминала

2.1.1. Общие сведения

При каждом старте программы Proxy32 в рабочем пространстве Workspace0 создается окно встроенного терминала, подключенного к оболочке CYGWIN bash.

CYGWIN bash - это универсальная оболочка, которая обеспечивает доступ к управлению локальным компьютером (через команды: cd, pwd, ls, rmdir, cat, less, vi, rm, grep, mc), а также позволяет вызывать любую из коммуникационных оболочек CYGWIN (ssh, sftp, ftp, telnet) и через них подключаться к удаленным компьютерам.

В CYGWIN bash встроенном терминале перечисленные выше команды могут вводиться пользователем вручную, однако к достоинствам встроенного терминала Proxy32 следует отнести возможность автоматизации работы в терминале (автоматическое выполнение заранее подготовленных команд, скриптов и плагин), а также автоматизацию процесса создания и подключения самого терминала (см. п.п. 2.2 и 2.4). Подготовка команд и скриптов не требует знания языков программирования. Для подготовки плагины требуется знание программирования. При этом плагина для взаимодействия терминала с удаленным оборудованием может быть написана программистом на любом языке программирования, чтобы управлять терминалом через стандартные потоки ввода/вывода STDIN/STDOUT/STDERR.

Другим достоинством встроенного терминала является возможность разделения сессии терминала с удаленными пользователями. Для обеспечения этой функции каждое окно встроенного терминала имеет TELNET-TLS сервер. Если локальный пользователь начинает работать в терминале CYGWIN bash а затем подключается через коммуникационную оболочку CYGWIN (через ssh или telnet) к удаленному оборудованию, то такую сессию терминала нежелательно разделять с удаленным пользователем. Проблема состоит в том, что после окончания работы с удаленным оборудованием при отключении коммуникационной оболочки разделяемый терминал остается подключенным к оболочке bash, предоставляя удаленному пользователю полный доступ к управлению локальным компьютером (через команды bash), что нежелательно. По соображениям безопасности сессия терминала, которая разделяется с удаленным пользователем, не должна иметь доступ к локальной оболочке bash. Поэтому в Proxy32 предусмотрена возможность подключения встроенного терминала не только к оболочке bash, но и напрямую к коммуникационным оболочкам CYGWIN (ssh, telnet, ftp, sftp). В последнем случае при разрыве соединения процесс коммуникационной оболочки завершается и разделяемый терминал остается никуда не подключенным.

В Proxy32 обеспечивается возможность подключения вновь создаваемого окна терминала, а также переподключения (отключение и новое подключение) уже существующего окна терминала к любой оболочке, а также к TELNET серверу, TELNET-TLS серверу или COM-PORTу.

Встроенный терминал может использовать протокол TELNET-TLS, как для разделения сессии терминала, так и для подключения к удаленному оборудованию. Протокол TLS обеспечивает шифрование передаваемых данных, а также двустороннюю аутентикацию с помощью цифровых сертификатов.

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

Для этого встроенный терминал имеет:

– неограниченный буфер обратной прокрутки с нумерацией строк; – неограниченный размер буфера “копирования текста” (при копировании из буфера обратной прокрутки на клипбоард или в файл); – 1МБ буфер вклеивания текста из клипбоард в терминал по одиночному нажатию мышки; - поиск текста в буфере обратной прокрутки по REGEX-шаблонам и по точному совпадению с заданной строкой поиска. Найденные строки автоматически помещаются в закладки. Пользователь может быстро находить отмеченные закладками строки в буфере обратной прокрутки; – создание пользователем закладок на выделенные строки в буфере обратной прокрутки. Пользователь может быстро находить отмеченные закладками строки в буфере обратной прокрутки; – встроенный в терминал список истории команд с автоматическим созданием закладок для команд в буфере обратной прокрутки. Пользователь может быстро находить отмеченные закладками строки в буфере обратной прокрутки; - двойную полоску прокрутки (одну точную, одну грубую), чтобы облегчить навигацию в буфере обратной прокрутки, когда он содержит десятки миллионов строк; – окно отображения содержимого клипбоарда (чтобы убедиться в том, что клипбоард содержит нужную команду перед тем как вклеить ее в терминал одиночным нажатием мышки); – кнопку просмотра файла протокола сессии (log) терминала в выбранном текстовом редакторе. Кроме того, в Proxy32 имеется LogViewer диалог, который позволяет производить поиск через все накопленные файлы протокола сессии терминала и открывать их в выбранном текстовом редакторе.

Описание этого набора инструментов приведено в п.п. 2.1.2 - 2.1.7.

2.1.2. Органы управления в окне встроенного терминала

На рис. 1 показано окно встроенного терминала программы Proxy32. Такое окно создается в рабочем пространстве Workspace0 при каждом старте программы и пользователь сразу может начинать в нем работать.

linked/annotated-terminal-picture.png

linked/annotated-terminal-picture.png

Рис. 1. Окно встроенного терминала программы Proxy32
  1. Иконка в заголовке окна
  2. Красная рамка активного терминала
  3. Заголовок окна
  4. Меню
  5. Рабочая область
  6. Полоска точной прокрутки
  7. Полоска грубой прокрутки
  8. Кнопка LauncherTree Favorites
  9. Кнопка включения/выключения протокола TLS (для разделения сессии терминала через встроенный в терминал TELNET сервер)
  10. Номер TCP порта для TELNET или TELNET-TLS сервера, с помощью которого разделяется сессия терминала
  11. Список терминалов, которые подключены к TELNET или TELNET-TLS серверу, с помощью которого разделяется сессия терминала
  12. Список созданных пользователем закладок и автоматически созданных закладок на результаты поиска в буфере обратной прокрутки терминала
  13. Список автоматически созданных закладок на команды в буфере обратной прокрутки терминала
  14. Окно просмотра содержимого клипбоард
  15. Переключатель/индикатор скорости приема данных (для управления потоком данных в терминале)
  16. Кнопка для ручного создания закладки на выбранную строку в буфере обратной прокрутки терминала
  17. Кнопка для поиска в буфере обратной прокрутки терминала
  18. Кнопка для очистки списка результатов поиска (для поиска в буфере обратной прокрутки терминала)
  19. Кнопка для удаления выбранного результата в списке результатов поиска (для поиска в буфере обратной прокрутки терминала)
  20. Кнопка для перехода к следующему результату поиска в списке результатов поиска (для поиска в буфере обратной прокрутки терминала)
  21. Кнопка для перехода к предыдущему результату поиска в списке результатов поиска (для поиска в буфере обратной прокрутки терминала)
  22. Кнопка для открытия файла протокола сессии терминала в редакторе, заданном пользователем (по умолчанию файл протокола сессии терминала открывается в редакторе Notepad)
  23. Кнопка "ПОДКЛЮЧЕНИЯ/ОТКЛЮЧЕНИЯ" терминала
  24. Кнопка для выключения автоматической прокрутки буфера терминала при получении новых данных
  25. Кнопка "Посылать получаемые данные только в файл протокола сессии терминала, но не на экран"
  26. Абсолютный номер первой видимой строки (строки нумеруются с начала буфера обратной прокрутки)

Сноски 1,3-5 не требуют специального пояснения.

Сноска 2 указывает на красную рамку вокруг окна встроенного терминала. Такая рамка окружает только окно активного встроенного терминала, в котором пользователь работает.

Сноски 6,7 указывают на две полоски прокрутки: грубую и точную в окне встроенного терминала. Использование этих видов прокрутки подробно описано в п. 2.1.3.

Сноски 8-26 на рис.1 и сноски 27,28 на рис.2 относятся к панели инструментов встроенного терминала.

Сноска 8 упоминается в п 2.2.2, 2.5.3.1; сноски 9,11 упоминаются в п.2.1.6,2.5.3.3 сноска 10 упоминается в п.2.1.6 сноска 12 упоминается в п.2.1.4, 2.5.2 сноска 13 упоминается в п. 2.1.4, 2.1.5, 2.5.2
сноска 14 упоминается в 2.1.5,2.5.2 сноска 15 упоминается в 2.1.7, сноски 16-21 упоминаются в п.2.1.4, 2.5.2 сноска 22 упоминается в п.2.1.5 сноска 23 упоминается в 2.1.6, 2.2.1, 2.2.4, 2.5.3.2 сноска 24 упоминается в 2.1.3. 2.5.3.5 сноска 25 упоминается в 2.1.5, 2.5.3.5 сноска 26 упоминается в 2.1.3 сноски 27, 28 упоминаются в 2.5.3.2

При выполнении SCRIPT/PLUGIN клипбоард вьювер (сноска 14 на рис. 1) в окне терминала заменяется на кнопку "Kill" (сноска 27 на рис. 2) и индикатор прогресса выполнения SCRIPT/PLUGIN (сноска 28 на рис. 2). При выполнении SCRIPT/I-SCRIPT индикатор показывает процент уже выполненных строк файла SCRIPT/I-SCRIPT. При выполнении PLUGIN индикатор показывает процент заполнения входного буфера PLUGIN.

linked/annotated-terminal-picture-kill-button-export.png

linked/annotated-terminal-picture-kill-button-export.png

Рис. 2. Окно встроенного терминала программы Proxy32 при выполнении SCRIPT/PLUGIN
  1. Кнопка "убить SCRIPT/PLUGIN" (видна, когда выполняется SCRIPT/PLUGIN)
  2. Индикатор буфера/прогресса SCRIPT/PLUGIN (видна, когда выполняется SCRIPT/PLUGIN)

2.1.3. Прокрутка буфера во встроенном терминале

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

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

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

Та информация, которая прокручивается наверх и становится невидимой не пропадает, а сохраняется в так называемом буфере обратной прокрутки терминала. Пользователь может всегда просмотреть информацию в этом буфере, используя механизм прокрутки в окне терминала. Буфер терминала можно представить себе как бесконечную ленту, на которой печатаются вновь приходящие строки и каждая строка получает последовательный номер, начиная с 0. При обычной работе в терминале в рабочей области терминала всегда отображается последняя строка буфера, а также несколько строк перед ней, которые помещаются на экране терминала. В терминале Proxy32 номер первой видимой на экране строки (верхней строки) всегда отображается в специальном окошке, которое находится в правом нижнем углу терминала (сноска 26 на рис. 1).

linked/annotated-terminal-picture-separate-copies-ref-26.png

linked/annotated-terminal-picture-separate-copies-ref-26.png

Прокрутку в терминале можно рассматривать как перемещение экрана терминала назад и вперед по ленте буфера терминала, так что в видимую область терминала попадают разные группы строк. Например, если текущий номер первой видимой строки терминала – это 100 и высота экрана терминала составляет 25 строк, то на экране видны строки с номерами от 100 до 124. Если при этом прокрутить терминал назад на самое начало буфера, то на экране терминала будут видны строки с номерами от 0 до 24, т.е. первые 25 строк буфера терминала. Прокручивать буфер терминала можно с помощью полосок прокрутки, колеса мышки и команд клавиатуры.

Встроенный терминал Proxy32 имеет две полоски прокрутки: грубую (сноска 7 на рис. 1) и точную (сноска 6 на рис.1).

linked/annotated-terminal-picture-separate-copies-ref-6-7.png

linked/annotated-terminal-picture-separate-copies-ref-6-7.png

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

Полоска грубой прокрутки позволяет осуществлять прокрутку всего буфера терминала. А полоска точной прокрутки может прокручивать области буфера размером от десятков до десятков тысяч строк. Поэтому пользователь может оперативно изменять скорость прокрутки полоски точной прокрутки. Когда нажата клавиша LeftSHIFT скорость точной прокрутки увеличивается в 8 раз. Когда нажата клавиша LeftCTRL скорость точной прокрутки увеличивается в 32 раза. Когда нажата клавиша LeftALT скорость точной прокрутки увеличивается в 128 раз. Эти клавиши действуют независимо друг от друга, поэтому, например, при одновременном нажатии клавиш LeftSHIFT и LeftCTRL скорость точной прокрутки увеличится в 8×32=256 раз.

Колесо мышки выполняет точно такую же прокрутку как и полоска точной прокрутки, включая использование клавиш LeftSHIFT, LeftCTRL и LeftALT для увеличения скорости прокрутки.

Нажатие клавиш Shift-PageUp или Shift-PageDown вызывает прокрутку на один экран вверх (назад) или один экран вниз (вперед) соответственно, при этом указанные комбинации клавиш никогда не передаются на удаленное оборудование.

По умолчанию получение новой информации на экран терминала автоматически прокручивает буфер так, что последняя строка буфера с новой информацией становится видна в нижней части экрана терминала. Пользователь может отключить такую автоматическую прокрутку путем нажатия на красную кнопку (сноска 24 на рис. 1).

linked/annotated-terminal-picture-separate-copies-ref-24.png

linked/annotated-terminal-picture-separate-copies-ref-24.png

2.1.4. Закладки и поиск в буфере обратной прокрутки терминала

Когда буфер обратной прокрутки уже содержит много информации, а пользователь терминала хочет начать новую серию тестов или запустить новую диагностическую процедуру, то для того, чтобы впоследствии найти начало распечатки новой диагностической процедуры пользователь может создать закладку перед началом этой распечатки. Для этого перед началом выполнения тестов пользователь должен выделить с помощью левой кнопки мышки последнюю строку в терминале и нажать на кнопку “B” (Bookmarks – сноска 16 на рис. 1) на панели инструментов терминала.

linked/annotated-terminal-picture-separate-copies-ref-16.png

linked/annotated-terminal-picture-separate-copies-ref-16.png

Появится диалог добавления закладки, в котором пользователь может ввести имя закладки и нажать кнопку OK, чтобы добавить закладку к выпадающему списку (сноска 12 на рис. 1), который находится прямо под панелью кнопок в терминале.

linked/annotated-terminal-picture-separate-copies-ref-12.png

linked/annotated-terminal-picture-separate-copies-ref-12.png

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

Когда в результате выполнения последовательности тестов каждый тест выдает большое количество информации, но пользователь заинтересован только в одной конкретной строчке из каждого результата теста, он может использовать функцию текстового поиска в буфере терминала. Эта функция работает следующим образом. Сначала пользователь задает диапазон строк для поиска. Если пользователь выделяет на экране терминала область, которая содержит одну или больше полных строчек, то функция поиска будет искать только в строках, которые находятся в этой выделенной области. Если на экране терминала не выделена область, которая содержит одну или больше полных строчек, то функция поиска будет искать по всем строкам, которые содержатся в буфере терминала. Чтобы начать поиск пользователь должен нажать на кнопку “S” (Search – сноска 17 на рис. 1).

linked/annotated-terminal-picture-separate-copies-ref-17.png

linked/annotated-terminal-picture-separate-copies-ref-17.png

Появляется диалог поиска, в котором пользователь может задать образец текста, который должен содержаться в тех строках, которые ему нужно найти. Образец текста может задаваться как буквально (Literal search) или с помощью специального языка задания шаблонов для поиска (Regular Expressions). Например, если пользователь ищет строчку “PN offset = 64 PN chips”, то при буквальном поиске можно использовать как образец строчку “PN offset =”, а при поиске с помощью Regular Expressions можно использовать как образец строчку “PN offset = \d+ PN chips”, которая обеспечивает более точный поиск. “\d” – означает, что на этом месте в строке поиска должна находится одна десятичная цифра, а “\d+” – означает, что на этом месте в строке поиска должна находится одна или больше десятичных цифр. После того, как пользователь задал образец для поиска и нажал кнопку OK в диалоге поиска, начинается процедура поиска, которая пройдет по всем строкам в буфере терминала или по всем выделенным строкам в буфере терминала и автоматически создаст закладки для тех строк, в которых был найден образец поиска. Закладки помещаются в выпадающий список (сноска 12 на рис. 1), который находится непосредственно под панелью кнопок терминала, при этом название закладки совпадает с текстом найденной строки и в этом названии выделяется та часть, которая соответствует образцу поиска.

linked/annotated-terminal-picture-separate-copies-ref-12.png

linked/annotated-terminal-picture-separate-copies-ref-12.png

Если результатов поиска слишком много, в список помещается только первые 5 тысяч результатов. Если открыть список, то можно увидеть все результаты поиска одновременно, что соответствует результатам команды “grep”, которая обычно используется для поиска текста в операционных системах UNIX/LINUX. Если выбрать один из результатов поиска в списке, то терминал прокрутится так, что найденная строка окажется в середине экрана, а текст этой строки, который соответствует образцу поиска будет выделен. Результаты нового поиска добавляются в список после результатов предыдущего поиска. Для того, чтобы очистить список пользователь должен нажать кнопку “C” (Clear – сноска 18 на рис. 1). Для того, чтобы удалить конкретный результат поиска в списке пользователь должен его выбрать в списке, а затем нажать кнопку “D” (Delete – сноска 19 на рис. 1). Для того, чтобы перейти к следующему или к предыдущему результату по списку пользователь должен нажать кнопку “N” (Next – сноска 20 на рис. 1) или кнопку “P” (Previous – сноска 21 на рис. 1) соответственно.

linked/annotated-terminal-picture-separate-copies-ref-18-19-20-21.png

linked/annotated-terminal-picture-separate-copies-ref-18-19-20-21.png

Другой выпадающий список (сноска 13 на рис. 1) содержит закладки для строчек, на которых пользователь печатал команды на терминале.

linked/annotated-terminal-picture-separate-copies-ref-13.png

linked/annotated-terminal-picture-separate-copies-ref-13.png

Эти закладки создаются автоматически по мере того, как пользователь нажимает клавишу “Enter”, чтобы инициировать выполнение команды.

2.1.5. Операции копирования и вставки через клипборд

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

Если пользователь хочет сохранить весь протокол сессии терминала целиком, то проще всего использовать файл протокола сессии терминала, который по умолчанию сохраняется на диске и который может быть открыт в текстовом редакторе Notepad при нажатии на кнопку “L” (Log – сноска 22 на рис. 1).

linked/annotated-terminal-picture-separate-copies-ref-22.png

linked/annotated-terminal-picture-separate-copies-ref-22.png

Для просмотра файлов протокола сессии терминала пользователь может назначить любой другой текстовый редактор. Кроме того, пользователь может просматривать файлы протоколов всех окон терминала, в том числе и тех окон, которые были запущены в прошлом и в настоящий момент уже закрыты. Все файлы протоколов терминала хранятся по умолчанию в поддиректории log внутри стартовой директории Proxy32. LogViewer диалог, который вызывается с помощью кнопки на тулбаре окна LauncherTree, позволяет пользователю производить поиск через все файлы протокола терминала, а также фильтровать или удалять эти файлы. В этом же диалоге назначается текстовый редактор, который по умолчанию используется для просмотра файлов протокола сессии терминала.

Файл протокола сессии терминала по умолчанию создается автоматически при создании окна терминала и содержит в своем имени заголовок окна терминала и дату и время своего создания. Изменение заголовка окна терминала как вручную пользователем, так и автоматически по команде с удаленного компьютера приводит к тому, что старый файл протокола сессии терминала закрывается, а новый файл протокола сессии терминала открывается и в своем имени содержит новый заголовок и новую дату создания файла протокола терминала. Если пользователь хочет получить большое количество текстовой информации с удаленного оборудования, то он может нажать на голубую кнопку (сноска 25 на рис. 1), чтобы не посылать принимаемую текстовую информацию в буфер обратной прокрутки терминала, а посылать ее только в файл протокола сессии терминала.

linked/annotated-terminal-picture-separate-copies-ref-25.png

linked/annotated-terminal-picture-separate-copies-ref-25.png

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

linked/annotated-terminal-picture-separate-copies-ref-14.png

linked/annotated-terminal-picture-separate-copies-ref-14.png

Если пользователь выделил слишком большой кусок текста в буфере обратной прокрутки терминала, то в операционной системе может не хватить памяти, чтобы поместить этот текст на системный клипборд и операция копирования не будет выполнена. Чтобы предотвратить такую ситуацию Proxy32 берет размер выделенного текста в байтах и сравнивает его с заранее заданным в программе порогом, который составляет по умолчанию сто миллионов байт. Если размер выделенного текста превышает заданный порог, то Proxy32 копирует выделенный текст не на системный клипборд, а в текстовый файл, имя которого состоит из слова selection и даты и времени его создания. Файл помещается в ту же директорию, где находятся файлы протокола сессии терминала, а имя и путь к этому файлу отображаются в окошке клипборд вьювера (сноска 14 на рис. 1), чтобы пользователь мог его легко найти. Если размер выделенного текста не превышает заданный порог, то Proxy32 копирует выделенный текст на системный клипборд. На компьютерах со старыми операционными системами, с малым объемом оперативной памяти или на компьютерах, где одновременно запущено очень много программ система может не иметь 100 миллионов байт памяти для размещения текста на системном клипборде. Поэтому указанный порог в 100 миллионов байт может быть скорректирован пользователем в меню “Settings/Initial Terminal Settings/Limit Max Size of Clipboard Selection/Edit ClipboardSelectionMaxSizeBytes” в окне LauncherTree. Если порог установлен так, что он меньше чем максимальный размер системного клипборда, операция копирования текста будет работать без отказов независимо от размера копируемого текста.

Пользователь может запретить использование этого порога в меню “Settings/Initial Terminal Settings/Limit Max Size of Clipboard Selection/Use ClipboardSelectionMaxSizeBytes” в окне LauncherTree. Если этот порог не используется, то Proxy32 будет всегда пытаться копировать выделенный текст на клипборд, не проверяя размер копируемого текста. По умолчанию этот порог включен.

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

linked/annotated-terminal-picture-separate-copies-ref-14.png

linked/annotated-terminal-picture-separate-copies-ref-14.png

Максимальный размер текста, который можно вставить за одну операцию составляет до 1 Мб. Операцию вставки можно выполнить с помощью мышки, клавиатуры или через меню терминала. При использовании мышки вставка текста осуществляется при нажатии средней кнопки мышки в рабочей области терминала. Пользователь может задать опцию, при которой вставка текста с помощью средней кнопки мышки выполняется только, если нажата левая клавиша Ctrl. При использовании клавиатуры операция вставки выполняется с помощью комбинации клавиш “Shift-Insert”, указанная комбинация клавиш никогда не посылается на удаленное оборудование. Меню “Edit/Paste” в окне терминала также выполняет операцию вставки текста.

Выпадающий список (сноска 13 на рис. 1) автоматически накапливает закладки на печатаемые команды по мере того, как поьзователь печатает эти команды в терминал. Когда пользователь выбирает любую из закладок на команды, которые автоматически накапливаются в выпадающем списке (сноска 13 на рис. 1), то терминал прокрутится так, что строка с выбранной командой окажется в середине экрана, а текст самой команды будет выделен.

linked/annotated-terminal-picture-separate-copies-ref-13.png

linked/annotated-terminal-picture-separate-copies-ref-13.png

При выделении текст команды будет скопирован на клипборд и после этого пользователь сможет увидеть текст команды на клиборд вьювере. Для того, чтобы выполнить эту команду опять пользователю достаточно нажать среднюю кнопку мышки, чтобы вставить текст команды из клипборда в терминал, а затем нажать клавишу “Enter”, чтобы инициировать выполнение команды на сервере. Таким образом, выпадающий список (сноска 13 на рис 1) служит не только для того, чтобы найти начало распечатки результатов каждой из предыдущих команд, но может служить также и для оперативного повторения любой из предыдущих команд.

Поскольку список (сноска 13 на рис 1) содержит всю историю выполняемых команд в терминале, пользователь может открывать список, чтобы просматривать всю историю выполняемых команд, а также может захотеть сохранить содержимое списка на клипборд или очистить содержимое этого списка. Эти операции могут быть выполнены с помощью меню “Edit/Commands History/Copy Commands History to clipboard” и меню “Edit/Commands History/Clear Command History”.

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

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

linked/Terminal-Session-Sharing-6.png

linked/Terminal-Session-Sharing-6.png

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

Для этого в каждом окне встроенного терминала Proxy32 имеется свой собственный встроенный TELNET сервер, к которому могут подключаться удаленные пользователи, чтобы разделять сессию, запущенную в этом окне терминала. TELNET сервер в каждом из окон терминала использует свой уникальный номер TCP порта для того, чтобы принимать запросы на подключение, приходящие от TELNET терминалов удаленных пользователей. Таким образом, путем выбора номера порта для подключения удаленный пользователь может выбирать к какому из окон терминала основного пользователя он будет подключаться.

По умолчанию в Proxy32 при создании нового окна встроенного терминала номер TCP порта для встроенного TELNET сервера выбирается из списка свободных портов, которые имеются в системе. Если несколько окон встроенного терминала создаются подряд одно за другим, то выбранные номера портов могут оказаться последовательными. Если окно встроенного терминала закрывается, то используемый номер порта освобождается и впоследствии может быть назначен одному из вновь создаваемых окон. По умолчанию пользователь не имеет контроля над тем, какие номера портов выделяются вновь создаваемым окнам терминала. В ситуации, когда TELNET сервер находится за Firewall-ом, пользователь может выбрать опцию, при которой каждое вновь создаваемое окно будет пытаться использовать заданный начальный номер порта ("Initial TSS port Number"), например, 1300. Если этот номер порта свободен, он будет использован, а если он занят, то это окно будет пытаться использовать следующий номер порта 1301. Процесс будет продолжаться путем увеличения номера порта на единицу до тех пор, пока свободный порт не будет найден и использован. Следующее создаваемое окно терминала будет использовать такой же алгоритм для выбора номера порта. В результате все создаваемые окна будут иметь номера портов в диапазоне 1300 и чуть выше при условии, что этот диапазон портов свободен в системе. Пользователь может включать и выключать этот алгоритм выбора портов, а также выбирать начальный номер порта, который по умолчанию равен 1300. Эти настройки ("Use Initial TSS port Number" and "Edit Initial TSS port Number") находятся в меню “Settings/Initial Terminal Settings/Terminal Session Sharing” в окне LauncherTree. Начальный порт по умолчанию был выбран для использования на Windows XP, а при использовании Proxy32 на других операционных системах начальный порт может быть скорректирован для того, чтобы его значение попадало в диапазон свободных портов, которые позволено использовать в конкретной операционной системе. Чтобы найти какой начальный порт задать в конкретной операционной системе, можно запретить использовать заданный начальный порт в глобальных настройках терминала а затем создать новый терминал в этом режиме чтобы посмотреть какой номер порта будет выделен системой для этого нового терминала. Номер порта который выделен системой для нового терминала может служить хорошим приближением для задания начального порта ("Initial TSS port Number") в конкретной операционной системе. При использовании Firewall диапазон портов, используемый окнами терминала Proxy32 (в нашем примере диапазон портов, начиная с 1300 и чуть выше) должен быть открыт в Firewall для того, чтобы удаленные пользователи могли подключаться к этим окнам терминала.

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

Номер порта, который используется конкретным окном терминала отображается в выпадающем списке (сноска 10 на рис. 1), который находится в левой нижней части окна терминала.

linked/annotated-terminal-picture-separate-copies-ref-10.png

linked/annotated-terminal-picture-separate-copies-ref-10.png

В этом списке находятся номер порта TELNET сервера данного окна, все IP адреса данного компьютера, на которые TELNET сервер принимает соединения, а также информация об используемом протоколе (TELNET или TELNET-TLS). Когда пользователь выбирает элемент в этом списке, то содержимое этого элемента копируется на клипборд, чтобы облегчить вставку номера порта и IP адреса в e-mail или текстовый chat для отправки этой информации удаленному пользователю.

Пользователь имеет возможность переключиться с использования протокола TELNET на протокол TELNET-TLS, при котором TELNET трафик защищается от подслушивания с помощью протокола TLS. Протокол TLS обеспечивает двустороннюю аутентикацию между клиентом и сервером с помощью цифровых сертификатов, а также шифрует весь трафик, который проходит между клиентом и сервером в обоих направлениях. Это тот же самый протокол TLS, который используется Internet Explorer-ом и другими браузерами для защиты транзакций пользователя, когда он покупает товары через интернет.

При использовании внешнего программного обеспечения (например, программы CYGWIN Stunnel) для защиты TELNET трафика, который возникает при подключении удаленных пользователей к окну вcтроенного терминала Proxy32, может потребоваться, чтобы встроенный TELNET сервер в окне терминала принимал только те TELNET соединения, которые инициируются с того же самого компьютера, на котором запущен Proxy32. Для этого в Proxy32 имеется опция, которая заставляет встроенный TELNET сервер принимать соединения только на Loopback IP адрес 127.0.0.1. Опция включения протокола TLS и опция, которая разрешает принимать соединения только на Loopback IP адрес находятся в меню “Settings/Initial Terminal Settings/Terminal Session Sharing” в окне LauncherTree.

Включение/выключение протокола TLS может производиться индивидуально в каждом окне терминала с помощью кнопки (сноска 9 на рис. 1), а изменение этой настройки влияет только на новые соединения, которые будут установлены после изменения этой настройки.

linked/annotated-terminal-picture-separate-copies-ref-9.png

linked/annotated-terminal-picture-separate-copies-ref-9.png

Настройка протокола TLS включает в себя создание, выбор и установку цифровых сертификатов для аутентикации, а также выбор режимов аутентикации и шифрования. Подробнее об этом смотри TLS Configuration Guide: Step-by-step.

Когда удаленные пользователи подключены к терминалу основного пользователя, основной пользователь имеет возможность перевести любого из удаленных пользователей в режим Read-only (так что он не может печатать, а может только видеть на экране результаты выполнения чужих команд) и обратно, а также отсоединять любого из удаленных пользователей (или всех пользователей) от встроенного TELNET сервера. Для того, чтобы выполнить эти операции, основной пользователь должен выбрать удаленного пользователя в выпадающем списке (сноска 11 на рис. 1), а затем выбрать операцию в меню “Contol/Sharing Terminal Session with other users/TELNET/TLS SERVER”.

linked/annotated-terminal-picture-separate-copies-ref-11.png

linked/annotated-terminal-picture-separate-copies-ref-11.png

Этот же выпадающий список позволяет видеть, какой из удаленных пользователей, подключенных к TELNET серверу, печатает команду с клавиатуры в настоящий момент. Как только удаленный пользователь начинает посылать команды, его IP адрес автоматически выделяется в этом списке.

Имеется также возможность подключать удаленного пользователя к встроенному терминалу через COM-PORT. Если основной пользователь выберет COM-PORT пускач на LauncherTree, а затем при нажатой клавише ctrl сделает правый клик мышкой на зеленой кнопке CONNECT/DISCONNECT (сноска 23 на рис. 1), то встроенный терминал откроет COM-PORT, который задан в выбранном пускаче COM-PORTа и начнет ожидать команды удаленного пользователя с этого COM-PORTа, а также начнет посылать результаты выполнения команд удаленному пользователю через этот COM-PORT.

linked/annotated-terminal-picture-separate-copies-ref-23.png

linked/annotated-terminal-picture-separate-copies-ref-23.png

Для того, чтобы отключить встроенный терминал от этого COM-PORTа пользователь должен при нажатой клавише ctrl сделать правый клик на зеленой кнопке CONNECT/DISCONNECT (сноска 23 на рис. 1). Только один удаленный пользователь может быть подключен к встроенному терминалу через COM-PORT. Число удаленных пользователей, которые могут быть подключены к встроенному терминалу через TELNET-TLS сервер не ограничено. Подключение удаленного пользователя через COM-PORT может понадобиться тогда, когда компьютер удаленного пользователя и компьютер основного пользователя подключены к разным сетям и не могут общаться через IP протокол. В этом случае COM-PORT соединение между двумя компьютерами может быть выполнено как с помощью физического кабеля, так и с помощью радиочастотного соединения BLUETOOTH.

2.1.7. Управление скоростью потока принимаемых данных в терминале

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

Терминал может принимать входящие данные от следующих источников: от удаленного TELNET сервера (если терминал находится в режиме TELNET) или с STDOUT/STDERR локальной программы SHELL (если терминал находится в режиме SHELL) или с локального COM-PORTа (если терминал находится в режиме COM-PORT). Получатели данных – это удаленные пользователи, которые разделяют сесию терминала с главным пользователем подключаясь к терминалу главного пользователя по протоколам TELNET, TELNET-TLS или COM-PORT. Другим примером получателя является плугина, которая представляет собой внешнюю программу, которая “втыкается” (PLUGs INto) в терминал чтобы получать входящий поток данных от источника через существующее соединение терминала, анализировать эти данные и представлять результаты анализа пользователю на экране терминала (а также, возможно, посылать запросы на дополнительные данные источнику данных терминала).

Главным получателем входящего потока данных является сам терминал. Входящий поток данных должен быть обработан самим терминалом и отображен на его экране. Это может быть сделано в реальном времени, если на локальном компьютере имеется достоточно рессурсов процессора для выполнения Proxy32. Если использование процессора программой Proxy32 превышает 80%, то механизм управления потоком данных автоматически уменьшит скорость всех источников данных в терминалах до минимума, чтобы уменьшить использование процессора всеми встроенными терминалами, которые запущены в данный момент. Такое замедление является временным до тех пор, пока использование процессора программой Proxy32 не опустится ниже 80%.

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

Если удаленные пользователи подключены к встроенному TELNET серверу или к специальному COM-PORTу для того, чтобы разделять сессию терминала с основным пользователем, то терминал должен сказать источнику данных, чтобы он понизил скорость входящих данных так, чтобы она не превышала скорость приема данных самого медленного из удаленных пользователей. Следовательно, если один из удаленных пользователей имеет очень медленное TCP соединение или COM-PORT соединение или использует очень медленную программу эмуляции терминала, то такой пользователь замедлит работу всех остальных пользователей до тех пор, пока он не будет отсодинен от разделяемой сессии.

В терминале имеется отдельный выпадающий список (сноска 15 рис. 1), который позволяет наблюдать за изменениями максимальной скорости входящего потока данных, которые вызваны автоматическим механизмом управления потоком в терминале.

linked/annotated-terminal-picture-separate-copies-ref-15.png

linked/annotated-terminal-picture-separate-copies-ref-15.png

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

2.2. Создание, подключение, отключение и переподключение окон встроенного терминала

2.2.1. Краткие вводные сведения.

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

  1. При каждом старте Proxy32 в рабочем пространстве Workspace0 автоматически создается окно встроенного CYGWIN Bash терминала.

  2. В Proxy32 имеется возможность создавать в каждом рабочем пространстве неограниченное количество окон встроенных терминалов и окон других программ (внешних процессов).

  3. Окна встроенного терминала создаются и подключаются с помощью cпециальных пускачей терминалов. Эти пускачи создаются на дереве пускачей в плавающем окне LauncherTree (рис. 4).

linked/Terminal-Launchers-Examples2.png
Рис.4. Пример дерева пускачей.

На дереве пускачи являются узлами дерева и обозначаются красными кружками . Они могут помещаться на дереве в поддеревья (SUBTREE), которые являются аналогами папок в Избранном в браузерах. На дереве SUBTREE обозначаются синими квадратиками. SUBTREE имеет два состояния: оно может быть открыто и закрыто . На дереве могут быть пускачи не только встроенного терминала, но и пускачи для создания окон внешних процессов (...), а также пускачи для автоматизации работы в уже созданном и подключенном окне.

Пускач запускается для выполнения путем двойного клика на нем на дереве пускачей в плавающем окне LauncherTree.

  1. В Proxy32 имеется три типа пускачей для создания и подключения встроенных терминалов. Эти пускачи в соответствии с типом подключения, которое они должны обеспечить в терминале, имеют следующие названия: пускач TELNET-TERMINAL, пускач COM-PORT-TERMINAL и пускач SHELL-TERMINAL.

Пускач TELNET-TERMINAL использует TELNET или TELNET TLS протоколы, чтобы подключить терминал к удаленному компьютеру;

Пускач COM-PORT-TERMINAL использует протокол последовательного порта, чтобы подключить терминал к удаленному компьютеру.

Пускач SHELL-TERMINAL может подключать терминал к различным локальным оболочкам Windows на местном компьютере (cmd, plink, psftp, PowerShell, CYGWIN bash/ssh/sftp/telnet/ftp/screen/mc): Все локальные оболочки делятся на коммуникационные и универсальные:
  1. Для создания пускачей на дереве пускачей в плавающем окне LauncherTree имеется кнопка New (см рис. 4) и встроенный редактор Proxy TreeNode Editor, которые содержат шаблоны для создания пускачей. Встроенный редактор вызывается кликаньем правой кнопкой мышки в плавающем окне LauncherTree. Этот редактор используется также для редактирования и модификации уже существующих на дереве пускачей. Порядок работы с этими инструментами создания пускачей (см. п. 2.3.—).

  2. Пускачи по своей конфигурации могут быть простые и параметризованные:

– простые пускачи в своей конфигурации непосредственно содержат значения параметров. Например, простой пускач для создания и подключения терминала в своей конфигурации может содержать непосредственно номер порта, IP адрес, имя пользователя и т.д.;

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

  1. В Proxy32 для создания и подключения терминалов могут использоваться более сложные пускачи, представляющие собой комбинацию пускача терминала и пускача плагины (PLUGIN) или комбинацию пускача терминала и пускача I-SCRIPT. Такая пара пускачей обеспечивают полную автоматизацию при подключении терминала, включая автоматический ввод пароля. Автоматическое выполнение пускача PLUGIN или I-SCRIPT в момент подключения терминала через пускач терминала называется AUTOLOGIN и описано в п.2.2.6.

  2. Терминалы можно отключить от текущего соединения. Отключенный терминал быть снова подключен к любому TELNET серверу, COM-PORT или SHELL, используя любой существующий пускач TELNET-TERMINAL, COM-PORT-TERMINAL или SHELL-TERMINAL. Для отсоединения терминала и для обеспечения нового подключения терминала, а также для индикации состояния терминала (терминал подключен или отключен) служит кнопка CONNECT/DISCONNECT в окне встроенного терминала (сноска 23 на рис.1).

linked/annotated-terminal-picture-separate-copies-ref-23.png

linked/annotated-terminal-picture-separate-copies-ref-23.png

  1. В Proxy32 имеются также пускачи для автоматизации работы в уже готовом окне терминала (в созданном и подключенном окне терминала). Это команды, скрипты и плагины (см. п.2.4). На дереве они меют названия: COMMAND, SCRIPT, I-SCRIPT, PLUGIN, I-PLUGIN. Однако в любом подключенном терминале можно работать, не используя эти пускачи, а вводя команды вручную.

2.2.2. Способы создания и подключения окна встроенного терминала

В Proxy32 окна встроенных терминалов создаются и подключаются с помощью пускачей терминалов ( COM-PORT-TERMINAL, TELNET-TERMINAL, SHELL-TERMINAL), которые подготавливаются на дереве пускачей в плавающем окне LauncherTree и запускаются путем двойного клика на пускаче.

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

Первый пускач на дереве пускачей, создаваемый при инсталляции программы Proxy32, предназначен для создания терминала и подключения его к оболочке CYGWIN bash. Этот пускач автоматически запускается при каждом старте Proxy32 и создает в рабочем пространстве Workspace0 CYGWIN bash терминал. В этом терминале пользователь может сразу начинать работать.

Как видно из рис. 4 командная строка этого пускача имеет вид:

proxycygterm.exe -s ‘/usr/bin/bash -i -l’

Если дважды кликнуть на этом пускаче на дереве пускачей, то в текущем рабочем пространстве будет содан новый CYGWIN bash shell терминал.

Аналогично, чтобы создать новое окно встроенного терминала и подключить его к COM-PORT, TELNET серверу или к любой локальной оболочке Windows, подготовленный заранее пускач терминала ( COM-PORT-TERMINAL, TELNET-TERMINAL, SHELL-TERMINAL) можно выполнить двойным кликом на этом пускаче непосредственно на дереве пускачей в плавающем окне LauncherTree. О способах создания пускачей для всех типов терминалов с использованием редактора создания пускачей и кнопки "New" в плавающем окне LauncherTree подробно рассказано в п.2.3.

Таким образом, мы выяснили, что окно терминала создается и подключается при выполнении пускача терминала путем двойного клика на нем на дереве пускачей в плавающем окне LauncherTree.

Кроме того, для быстрого создания и подключения терминалов могут использоваться кнопка Favorites в главном окне и кнопка Favorites в окне терминала (сноска 8 на рис. 1)

linked/annotated-terminal-picture-separate-copies-ref-8.png

linked/annotated-terminal-picture-separate-copies-ref-8.png

При инсталляции программы Proxy32 на дереве пускачей создается поддерево (SUBTREE) с названием Quick Connect (рис. 4), содержащее пускачи для создания и подключения терминалов. Ссылки на эти пускачи находятся в меню указанных выше кнопок Favorites.

На рис. 5 показано меню, которое открывается при нажатии на кнопку Favorites в полоске меню главного окна. Меню, открывающееся при нажатии кнопки Favorites в окне встроенного терминала, идентично меню, приведенному на рис. 5.

linked/screenshoot040.png

linked/screenshoot040.png

Рис. 5. Открыто подменю Quick Connect в меню кнопки Favorites

Это меню имеет 10 подменю. Чтобы создать новый встроенный терминал, надо открыть подменю Quick Connect. В этом подменю при инсталляции программа Proxy32 создает начальный набор фаворитов. Эти фавориты, как уже сказано выше, являются ссылками на пускачи терминалов, заранее заготовленные на дереве пускачей.

Но в дальнейшем пользователь может сам помещать в меню кнопки "Favorites" созданные им пускачи, которые он часто использует, чтобы их можно было быстро запускать даже при скрытом окне LauncherTree.

Чтобы быстро создать новый встроенный терминал нужно просто кликнуть на фаворите (ссылке на пускач) в подменю Quickconnect кнопки "Favorites".

С помощью меню кнопки "Favorites" в терминале также можно создавать и подключать новые терминалы даже, если скрыты плавающее окно LauncherTree и полоска меню с кнопкой "Favorites" в главном окне. Если использовать кнопку Favorites в главном окне, то нужно сначала выбрать рабочее пространство, а затем создать новый терминал. Если использовать кнопку Favorites в существующем терминале, то нужно сначала создать новый терминал, а затем, при необходимости, переместить его в нужное рабочее пространство с помощью кнопки в главном окне.

Таким образом, в Proxy32 новое окно встроенного терминала создается и подключается в результате выполнения пускача терминала (SHELL-TERMINAL, TELNET-TERMINAL, COM-PORT-TERMINAL) непосредственно на дереве пускачей, а также с использованием ссылок на пускачи через кнопку Favorites в главном окне и в окне встроенного терминала.

В Proxy32 с помощью пускачей могут создаваться не только окна встроенного терминала, но и окна внешних процессов (Notepad, PuTTY, FireFox и т. д.). Информация о том, что должен быть создан именно встроенный терминал, заключается в названии пускача. Имеется всего три типа пускачей терминалов. Они называются - COM-PORT-TERMINAL, TELNET-TERMINAL и SHELL-TERMINAL. Все эти пускачи содержат в названии слово TERMINAL. Proxy32 извлекает эту информацию из пускача и сразу же создает окно встроенного терминала (это окно появляется в рабочем пространстве). Затем Proxy32 будет извлекать из пускача информацию о том, куда следует подключать терминал. О том, как происходит подключение терминала с помощью пускача на примере подключения к ssh серверу смотри п.п. 2.2.3, 2.2.4.

Если пользователю нужно создать новое подключение, то он может в зависимости от ситуации и своих предпочтений поступить следующим образом:

Ниже приведены примеры того, как можно в Proxy32 работать в Bash терминале с коммуникационными оболочками (для наглядности используются различные варианты вызова оболочки CYGWIN ssh в существующем Bash терминале):

Вариант 1: а) напечатать вручную (или copy and paste из текстового файла) в терминал команду "ssh belous@192.168.1.5" б) напечатать вручную (или copy and paste из текстового файла) в терминал текст "test123" (пароль)

Вариант 2: а) вызвать пускач COMMAND, который содержит команду "ssh belous@192.168.1.5" б) вызвать пускач COMMAND который содержит текст "test123" (пароль) или впечатать пароль вручную

Вариант 3: вызвать пускач SCRIPT, который содержит в первой строке команду "ssh belous@192.168.1.5", а во второй строке содержит текст "test123" (пароль)

Вариант 4: вызвать пускач I-SCRIPT, который содержит в первой строке команду "ssh belous@192.168.1.5", а во второй строке содержит текст "test123" (пароль)

Вариант 5: вызвать пускач PLUGIN, который посылает в терминал сначала команду "ssh belous@192.168.1.5", а затем текст "test123" (пароль).