phrelay

Поддержка удаленного подключения клиентов phindows и phditto

Синтаксис:

phrelay [-egGHOPxX] [-b число] [-D файл_отладки] [-E цвет] [-g порт] [-k задержка,интервал,повторная_попытка] [-l файл_отладки] [-L утилита_входа] [-w файл_отладки] [-m модем] [-V...]

Опции:

-b число
Установить количество сообщений, записываемых в буфер для ускорения вывода в Phindows или phditto. Фактически используется наименьшее из значений, указанных в этой опции и в опции -N утилиты Phindows или phditto. Значение по умолчанию – 20. Более низкое значение используется при необходимости экономии памяти за счет пропускной способности. Если память не критична, то используется более высокое значение для повышения пропускной способности. Изменение этой настройки наиболее эффективно, если время отклика при сквозной передаче данных велико по сравнению с пропускной способностью (например, при подключении по модему или при наличии большого количества сетевых переходов между локальным и удаленным узлами).
-D файл_отладки
Файл или устройство, на которые следует отправлять отладочную информацию, указанную в опции -V.
-e
Запретить незашифрованные соединения. Если указана эта опция, то для предотвращения отклонения соединения вместе с опцией -K соединение Phindows должно предоставлять допустимый секретный ключ. Если эта опция не указана, Phindows может установить соединение без шифрования. Для получения дополнительной информации см. раздел Шифрование далее.
-E цвет
Установка цвета заполнения примитивов при ошибке.
-G
Если inetd не запускает утилиту phrelay автоматически, можно указать эту опцию при запуске для прослушивания утилитой phrelay порта 4868.
-g порт
То же, что и -G, но требуется указать порт.
-H
Переподключить при включении.
-k задержка,интервал,повторная_попытка
Задержка "keepalive" (в секундах), интервал (в секундах) и число повторных попыток. Эта опция определят, как долго утилита phrelay остается активной после неуспешного сетевого подключения к клиенту (например, если отсутствует сетевой кабель). Значения по умолчанию – 20,5,3.
-l файл_отладки
Запись команд отрисовки в файл_отладки.
-L утилита_входа
Утилита, используемая при входе в систему. По умолчанию phlogin2-ksz.
-m модем
Указать имя последовательного устройства ЗОСРВ «Нейтрино», которое следует использовать для удаленного подключения.
-O
Альтернативный режим работы.
-P
Установить флаг PTY.
-V...
Вывести расширенную информацию. Для повышения степени подробности информации можно добавить дополнительные опции V. Вывод отправляется в файл или на устройство, указанное в опции -D, которая является обязательной при наличии опции -V.
-w файл_отладки
Запись заголовка в файл_отладки.
-x
Встроить в поток данных информацию о цветовой палитре. Эта опция решает проблему неверных тегов палитры некоторых приложений с большим числом мелких графических элементов и, соответственно, их некорректного отображения на экране клиентского компьютера. Если мелкие графические объекты (например, изображения на кнопках) отображаются правильно, эту опцию можно не указывать.
-X
Не встраивать в поток данных информацию о цветовой палитре.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

arm, armv7, e2k, mips, ppc, x86

Описание:

Утилита phrelay поддерживает клиентские компьютеры с пользовательским интерфейсом на других узлах.

Удаленное подключение через модем

Если указан модем (с помощью опции -m утилиты phditto или phindows), то удаленный клиент сначала выступает как простой эмулятор текстового терминала и обеспечивает возможность взаимодействия с модемом, подключения к удаленному компьютеру ЗОСРВ «Нейтрино» и входа в систему.

После входа в систему можно начать сеанс Photon путем ввода следующей команды:

exec /usr/bin/phrelay

Удаленный клиент синхронизируется с phrelay и начинает действовать как графический терминал Photon.

Удаленное подключение по TCP/IP

Если указано подключение по TCP/IP (с помощью опции -t утилиты phditto или phindows), программа inetd, выполняемая на удаленном хосте ЗОСРВ «Нейтрино», автоматически запустит phrelay при условии, что phrelay и inetd настроены корректно (см. далее).

Конфигурирование для TCP/IP

До начала использования phrelay по протоколу TCP/IP необходимо обратить внимание на несколько вопросов конфигурирования.

Во-первых, на удаленном хосте ЗОСРВ «Нейтрино» необходимо установить и запустить TCP/IP. Кроме того, необходимо запустить программу inetd, указав в конфигурационном файле inetd (/etc/inetd.conf) следующие элементы:

phrelay stream tcp nowait root /usr/bin/phrelay phrelay

Файл /etc/services должен содержать следующую строку (как файл по умолчанию):

phrelay 4868/tcp

При наличии этих двух записей программа inetd отслеживает входящие запросы на создание нового сеанса Photon. При обнаружении запроса (от удаленного клиента phindows или phditto) программа inetd автоматически устанавливает полное соединение по TCP/IP и запускает phrelay для этого соединения. Удаленный клиент phindows или phditto полностью подключается к локальному сеансу Photon.

Подключение через последовательный порт

Утилиту phrelay можно использовать для подключения компьютера, на котором запущена утилита phindows (в среде Windows) или phditto (в среде ЗОСРВ «Нейтрино»), через последовательные порты компьютеров к резидентному компьютеру разработки, который выступает как целевой компьютер.

Пример последовательного подключения

Для подключения порта COM1 на хосте разработки под управлением Windows или Neutrino к /dev/ser1 на компьютере разработки под управлением ЗОСРВ «Нейтрино», который выступает как целевой компьютер, используется нуль-модемный кабель. Здесь приведены две аналогичные процедуры, которые можно использовать для подключения phditto/phindows к phrelay:

  1. На целевом компьютере выполните команду on -t /dev/ser1 ksh
  2. На хосте выполните команду phditto -m /dev/ser1 или phindows -m com1
  3. В окне phditto/phindows дождитесь отображения приглашения ksh и выполните команду stty +raw +echoe +echoke +echoctl +imaxbel +onlcr
  4. В окне phditto/phindows выполните с полномочиями root следующую команду: phrelay -x

Последовательность подключения phrelay автоматически возобновляется. Другой способ подключения к целевому компьютеру:

  1. На целевом компьютере добавьте к списку в файле /etc/config/ttys строку /dev/ser1, а затем перезагрузитесь или запустите tinit с полномочиями root.
  2. На хосте выполните команду phditto -m /dev/ser1 или phindows -m com1
  3. В окне phditto/phindows дождитесь приглашения "login", войдите в систему и выполните команду: stty +raw +echoe +echoke +echoctl +imaxbel +onlcr
  4. В окне phditto/phindows выполните команду phrelay -x с полномочиями root

Использование предварительно определенных служб Photon

Опция командной строки -s утилит phditto и phindows упрощает задачу создания ярлыков для приложений Photon на рабочем столе MS-Windows.

Опция -s позволяет создать значок или ярлык на рабочем столе MS-Windows для автоматического запуска приложения Photon (в рамках частного сеанса phindows). Если опции удаленного менеджера окон указаны правильно, то приложения Photon выглядят как собственные приложения MS-Windows.

При запуске утилиты phrelay на хост-компьютере под управлением ЗОСРВ «Нейтрино» она осуществляет поиск службы Photon, указанной в конфигурационном файле (/etc/config/phrelay[.узел]) с помощью параметра -s. Если соответствующая служба найдена, то по умолчанию вместо рабочего стола Photon утилита phrelay запускает указанную команду Photon. Можно указать необязательные опции менеджера окон, но по умолчанию удаленное приложение Photon запускается таким образом, что выглядит и функционирует как собственное приложение MS-Windows.

Опция -U утилит phditto/phindows часто используется в сочетании с опцией -s для определения идентификатора пользователя ЗОСРВ «Нейтрино», который следует использовать при выполнении удаленной команды Photon. Если идентификатор пользователя не указан, служба phrelay не указывает идентификатор пользователя по умолчанию, поэтому Photon открывает диалоговое окно входа в систему Photon, запрашивающее для продолжения работы идентификатор пользователя ЗОСРВ «Нейтрино». Если с помощью опции -U идентификатор пользователя указан, то это диалоговое окно входа в систему не отображается.

Пример. Ярлык MS-Windows создан с использованием следующей команды:

phindows -tx.x.x.x -svpoker -Ujoe

В этой команде IP-адрес x.x.x.x определяет адрес TCP/IP узла 2, а конфигурационный файл phrelay на узле 2 (/etc/config/phrelay.2) содержит следующую строку:

vpoker % /usr/photon/bin/vpoker

В результате пользователь с именем Joe может щелкнуть по ярлыку и тем самым напрямую запустить сеанс Photon vpoker (с идентификатором пользователя ЗОСРВ «Нейтрино» joe) на этом рабочем столе MS-Windows.

Формат конфигурационного файла phrelay

Утилита phrelay обрабатывает запросы на службу в соответствии с содержимым конфигурационного файла. Если утилита phrelay запущена на узле n, то используется файл /etc/config/phrelay.n. Если этот файл не существует, используется файл по умолчанию /etc/config/phrelay.

Каждая запись службы в конфигурационном файле phrelay имеет следующий формат:

служба пользователь [-W опции_pwm] команда

где:

Опции сжатия данных

Утилита phrelay поддерживает одну из трех опций сжатия данных при получении соответствующего запроса от клиента:

Опции кэширования данных

В утилите phrelay очень активно используются методы кэширования данных для максимального сокращения объема данных, передаваемых с хоста на клиентский компьютер. В результате такого активного кэширования данных утилита phditto/phindows может работать через модемный канал, с низкой скоростью передачи (до 9600 бод).

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

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

Шифрование

Утилита phrelay поддерживает шифрованные подключения при использовании утилиты Phindows версии 3.09 или более поздней.

Когда утилита Phindows запрашивает шифрованное подключение (ключ указывается в опции командной строки -K), утилита phrelay выполняет поиск совпадающего ключа в файле /etc/config/phkeys. Каждая строка в этом файле имеет следующий формат:

*|пользователь секретный_ключ

Длина ключа не может превышать 31 символ.

Строки, начинающиеся с символа *, относятся к подключениям, для которых не указаны служба Photon и идентификатор пользователя. Для подключений Phindows, в которых указана служба, (-s), также можно определить идентификатор пользователя в опции -U. В этом случае утилита phrelay выполняет поиск пользователя в /etc/config/phkeys, а затем проверяет, соответствует ли указанный ключ ключу, переданному утилитой Phindows. Если соответствующий ключ не найден, утилита phrelay не разрешает подключение, а утилита Phindows отображает сообщение "Error: Permission problem on host" (Ошибка: проблема с полномочиями на хосте).

Безопасность

Утилиты Phindows и phditto позволяют пользователю подключаться к существующему сеансу Photon, при этом содержимое сеанса Photon отображается на экране удаленного клиентского компьютера. Эту опцию можно отключить, создав на целевом компьютере файл /etc/system/config/noditto. Если этот файл существует, удаленные клиенты могут подключаться к целевому компьютеру с использованием собственного частного сеанса Photon, но не могут просматривать уже начатые сеансы Photon.

Примеры:

В удаленном сеансе phindows или phditto введите:

exec /usr/bin/phrelay

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино»

Тематические ссылки:

inetd, phditto




Предыдущий раздел: Сервисы