pterm

Окно терминала Photon

Синтаксис:

pterm [-ABbcEGLlnPpQqrTUvXZz] [-a шрифт][-C путь]

[-D дескриптор_файла] [-d путь] [-F n] [-f шрифт]

[-g RxC] [-H N] [-h высота[%]]

[-K цвета] [-k]

[-M RxC] [-m RxC] [-

N дескриптор_файла] [-R префикс]

[-S i|m|n] [-s сервер] [-T] [-t строка]

[-u опции] [-w ширина[%]] [-x положение[%] [r]]

[-y положение[%][r]] [программа [аргумент...]]

Поддерживаемые платформы:

Neutrino

Опции:

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

-A

Передавать в устройство все комбинации с клавишей Alt.

-a шрифт

Добавить шрифт в список шрифтов.

-B

Курсор мигает всегда (по умолчанию курсор мигает, только если окно активно).

-b

Курсор не мигает никогда.

-C путь

Использовать указанный конфигурационный файл.

-c

Запретить вывод диалогового окна "Terminal Properties" ("Свойства терминала").

-D дескриптор_файла

Присоединиться к указанному дескриптору файла вместо псевдотерминала.

-d путь

Открыть устройство по указанному пути вместо псевдотерминала.

-E

Не изменять переменные среды (по умолчанию: сбросить LINES и COLUMNS; установить TERM в соответствии с протоколом).

-F n

Использовать n-ый шрифт из списка (начиная с 0).

-f шрифт

Использовать указанный шрифт в качестве текущего.

-G

Передавать сигналы в программу.

-g RxC

Установить начальный размер R строк на C столбцов.

-H N

Сохранять N строк в буфере обратной прокрутки.

-h высота[%]

Высота окна, в пикселях или в процентах по отношению к высоте экрана (если введен символ %).

-K цвета

Задать цвета текста и фона. Аргумент цвета состоит из одной или двух цифр в диапазоне от 0 до 7; первая цифра соответствует цвету текста, а вторая цвету фона. Цифры представляют собой индексы первых 8 записей в палитре для pterm (см. раздел "Файлы" ниже).

Например, следующая команда устанавливает в качестве начального значения цветов комбинацию черного текста (0) на белом фоне (7):

pterm -K 07

-k

Разрешить использование комбинации клавиш Ctrl+Alt+f, которая позволяет выполнять переключение между оконным и полноэкранным режимами.

-L

Не создавать новый сеанс.

-l

("эль") Запустить командный интерпретатор в качестве начального командного интерпретатора.

-M RxC

Установить максимальный размер R строк на C столбцов.

-m RxC

Установить минимальный размер R строк на C столбцов.

-N дескриптор_файла

Установить в качестве имени устройства вывода указанный дескриптор_файла.

-n

Не считывать конфигурационный файл.

-P

Повысить приоритет программы (по умолчанию: не изменять приоритет).

-p

Понизить приоритет.

-Q

Использовать протокол QNX (по умолчанию: ANSI).

-q

Не выдавать запрос подтверждения перед закрытием окна.

-R префикс

Добавить указанный префикс к псевдотерминалу (по умолчанию: /dev).

-r

Выводить полосу прокрутки.

-Si|m|n

Начальное состояние главного окна (свернуто, развернуто на весь экран, нормальный вид).

-s имя_сервера

Имя сервера Photon:

Имя_сервера

Использование сервера

путь_к_узлу

путь_к_узлу/dev/photon

полный_путь

полный_путь

относительный_путь

/dev/относительный_путь

-T

Отключить мышь в текстовом режиме.

-t строка

Установить строку в качестве заголовка окна.

-U

Не реализовывать окно pterm до начала вывода в него. Эта опция имеет более высокий приоритет, чем опции -z и -Z.

-u опции

Сбросить указанные опции (AaBbQv), даже если они установлены в конфигурационном файле.

-v

Визуальный сигнал (по умолчанию: использовать только звуковой сигнал).

-w ширина[%]

Ширина окна, в пикселях или в процентах от ширины экрана (если введен символ %).

-X

Завершить работу со статусом завершения командного интерпретатора (по умолчанию: завершение работы только с нулевым статусом завершения).

-x положение[%][r]

Координата x верхнего левого угла окна, в пикселях или в процентах от ширины экрана (если введен символ %). Если указан модификатор r, то координата определяется относительно текущей консоли.

-y положение[%][r]

Координата y верхнего левого угла окна, в пикселях или в процентах от высоты экрана (если введен символ %). Если указан модификатор r, то координата определяется относительно текущей консоли.

-Z

Ожидать закрытия, если статус завершения отличен от нуля (по умолчанию: закрыть окно сразу после завершения выполнения команды).

-z

Ожидать явного закрытия.

программа [аргумент...]


Имя программы, запускаемой pterm. Если не указан ни аргумент программа, ни одна из следующих опций: -D дескриптор_файла, -d путь или -N дескриптор_файла, то запускается командный интерпретатор.

Описание:

Приложение pterm представляет собой эмулятор терминала, который открывает окно в рабочей области Photon и присоединяется к устройству посимвольного ввода-вывода. В качестве устройства обычно выступает псевдотерминал на локальном узле, однако с помощью опции -R можно переопределить узел (например, если на локальном узле не запущен драйвер псевдотерминала). Также можно указать устройство (например, последовательное соединение с модемом) с помощью опций -D или -d.

По умолчанию утилита pterm запускает командный интерпретатор на "ведомой" стороне псевдотерминала. Процесс командного интерпретатора не порождается, если устройство переопределено с помощью опций -D или -d, либо если указана опция -N, т.е. вывод осуществляется на устройство с именем, соответствующим указанному дескриптору файла. Во всех случаях программу можно принудительно запустить на определенном устройстве с помощью аргумента командной строки.

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

Перед порождением команды утилита pterm устанавливает переменную среды TERM и присваивает ей значение в соответствии с выбранным способом эмуляции терминала. Используется одно из следующих значений:
Для передачи команде исходного окружения можно использовать опцию -E.

По умолчанию утилита pterm закрывает свое окно сразу по завершении порожденной программы. С помощью опций -Z или -z это поведение можно переопределить окно в таком случае остается открытым, пока пользователь не закроет его. Эта опция удобна в случаях, когда порожденная программа выводит сообщение и немедленно завершает выполнение.

Опции -G и -X также удобно использовать в программе или сценарии, вызывающем pterm.

Если используется опция -G, то при получении утилитой pterm сигнала, отличного от SIGTERM, SIGCHLD, SIGILL, SIGWINCH или SIGSEGV, этот сигнал передается в порожденную команду. Это означает, что сценарий может порождать экземпляры pterm и уничтожать соответствующую команду с помощью выбранного сигнала.

Опция -X приводит к завершению работы pterm со статусом завершения, возвращенным порожденной командой (возможно даже самоуничтожение посредством сигнала, приведшего к уничтожению команды).

Если пользователь закрывает окно до завершения работы команды, либо pterm получает сигнал, либо опция -G не указана или сигнал является сигналом SIGTERM (т.е. имеет место либо завершение работы Photon, либо уничтожение pterm командой slay), то утилита pterm выполняет следующие действия:
  1. Передает команде сигнал SIGHUP.

  2. Если команда не прекращает работу, передает ей сигнал SIGTERM.

  3. Завершает работу.

Если опция -X указана и команда не завершила работу после обоих сигналов, то утилита pterm завершает работу с кодом завершения 1.

Если скорость вывода данных процессом, выполняющимся на устройстве pterm, очень высока, общую пропускную способность можно повысить путем запуска "процесса-потребителя" с приоритетом ниже, чем у "процесса- производителя". В таком случае данные поступают в pterm более крупными порциями. Пропускную способность можно дополнительно повысить путем увеличения размеров буферов в драйвере псевдотерминала pterm использует буфер размером 4 КБ, в то время как значение по умолчанию для драйвера псевдотерминала составляет 512 байтов.

Для понижения приоритета pterm или повышения приоритета порожденной команды можно использовать опции - P или -p. Разумеется, изменение приоритета приводит и к другим побочным эффектам: если приоритет pterm становится ниже стандартного значения (опция -p), то другие процессы, выполняющиеся со стандартным приоритетом, могут значительно снизить скорость работы pterm, что в результате приведет к снижению общей пропускной способности. С другой стороны, если процесс в pterm выполняется с повышенным приоритетом (опция -P), он может влиять на скорость выполнения других процессов, особенно если им не осуществляется вывод значительного объема данных.

Начальный размер терминала можно задать с помощью опции -g, а для принудительной установки минимального и максимального размеров используются опции -m и -M. Эти размеры относятся к терминалу, а не к окну pterm. Если в результате изменения размеров окно становится меньше минимального размера, терминал обрезается. Если в результате изменения размеров окно становится больше максимального размера, терминал располагается по центру окна. В случае конфликта между опцией -g и опциями -m или -M все опции корректируются в соответствии с последней опцией, указанной в командной строке.

Клавиши и комбинации клавиш

Элементарные клавиши буфера обмена:

Требуемый результат

Сочетание клавиш

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

Ctrl-Alt-T

Скопировать выделенный текст в буфер обмена.

Ctrl-Alt-X или Ctrl-Alt-Del

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

Ctrl-Alt-S

Вставить содержимое буфера обмена в текущую позицию курсора.

Ctrl-Alt-V или Ctrl-Alt-Ins

Вставить непосредственно из выделенного текста, минуя буфер обмена.

Ctrl-Alt-P

Выделить слово под курсором или слева от курсора.

Ctrl-Alt-W

Выделить слово под курсором или слева от курсора и выполнить поиск этого слова в приложении Helpviewer.

Ctrl-Alt-H

Выделить/отменить текущее выделение.

Ctrl-Alt-R


В pterm поддерживаются следующие манипуляции пользователя с мышью:

Требуемый результат

Сочетание клавиш

Скопировать выделенный текст в буфер обмена.

щелчок правой кнопкой мыши или щелчок правой кнопкой мыши и перетаскивание (выделение)

Вставить текст из буфера обмена в текущую позицию курсора.

Ctrl-правая кнопка

Вставить из буфера обмена.

Средняя кнопка

Вставить выделенный текст в текущей позиции курсора.

Shift-правая кнопка

Вывести контекстное меню.

Alt-правая кнопка

Вывести контекстное меню (если мышь в текстовом режиме отключена).

правая кнопка

Выделить блок.

Ctrl-левая кнопка

Выделить блок (если мышь в текстовом режиме отключена).

левая кнопка

Выделить "поток".

Shift-левая кнопка

Выделить слово (идентификатор C).

Alt-левая кнопка или двойной щелчок по слову

Выделить текущую строку.

Тройной щелчок по строке

Выделить весь экран.

Четырехкратный щелчок по экрану


Утилита pterm распознает несколько комбинаций клавиш:

Требуемый результат

Сочетание клавиш

Изменить шрифт.

Ctrl-Alt-[ или


Ctrl-Alt-] или


Ctrl-Alt-< или


Ctrl-Alt->

Вызвать диалоговое окно "Terminal Properties" ("Свойства терминала").

Ctrl-Alt-C

Перемещаться по буферу обратной прокрутки.

Ctrl-Alt и ↑, ↓, Home, End, Pg Up или Pg Dn


Комбинации из трех клавиш Ctrl-Alt-[ и Ctrl-Alt-] изменяют размер шрифта на предыдущее/следующее значение в списке без изменения размера терминала (в строках и столбцах).

Ctrl-Alt-< и Ctrl-Alt-> изменяют шрифт без изменения размеров окна (в пикселях). Если, однако, новый размер терминала меньше установленного минимального значения, то размер окна должен быть увеличен. Если новый размер больше установленного максимального значения, то окно не уменьшается; вместо этого поля терминала корректируются и заполняют дополнительную площадь окна.

Визуальные аспекты конфигурации терминала можно сохранить в конфигурационном файле (см. раздел "Файлы") и изменить их в диалоговом окне "Terminal Properties" ("Свойства терминала"), вызываемого нажатием Ctrl- Alt-C:


Область "Window Title" ("Заголовок окна")

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

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

Управляющая последовательность

Значение

%%

Одиночный символ %.

%$

Идентификатор (PID) текущего процесса.

%0

Только аргумент argv[0] текущего процесса, выполняющегося в окне.

%A

Аргументы текущего процесса, выполняющегося в окне, начиная с положения argv[0].

%a

Аргументы текущего процесса, выполняющегося в окне, начиная с положения argv[1].

%d

Имя устройства (например, ttyp1).

%N

Имя файла текущего процесса, выполняющегося в окне.

%P

Путевое имя текущего процесса, выполняющегося в окне.

%p

Путь к устройству (например, /dev/ttyp1).

%T

Текущее время.

%u

Имя входа в систему для текущего пользователя.


Область "Window Size" ("Размер окна")

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

Область "Font" ("Шрифт")

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

Область "Terminal Preferences" ("Параметры терминала")

Существует возможность настройки следующих параметров:

Пользовательская настройка списка шрифтов

В этом окне можно выбрать требуемый шрифт из пользовательского списка шрифтов:


Кодировка символов для всех шрифтов, отображаемых в этом диалоге, должна быть одинаковой. По умолчанию pterm предполагает, что используется набор символов IBM PC ("кодовая страница IBM 437"). Если в шрифтах используется другая кодировка, необходимо выбрать файл наборов символов, определяющий данную кодировку (нажмите кнопку "Browse..." ("Обзор...")). Для получения дополнительной информации относительно создания файлов наборов символов см. описание ptermcs.

Примеры:

Запуск pterm с использованием сервера Photon на узле my_node:

pterm -s/net/my_node/dev/photon

Запуск pterm в начальной позиции (10,10) с начальными размерами 200x300:

pterm -x10 -y10 -h200 -w300


Файлы:

При запуске утилиты pterm выполняется поиск локального конфигурационного файла; если этот файл не существует, загружается глобальный конфигурационный файл. Локальный файл сохраняется путем нажатия кнопки "Save & Close" ("Выход с сохранением") в диалоговом окне "Terminal Properties". Конфигурационным файлам соответствуют следующие путевые имена:

Глобальный

${PHOTON_PATH}/config/$0 .rc

где $0 соответствует имени, с которым вызывается утилита pterm, обычно это pterm; если переменная $PHOTON_PATH не установлена или содержит пустое значение, используется /usr/photon.

Локальный
Для подавления загрузки текущих параметров настройки из конфигурационных файлов используется опция -n. С помощью опции -c можно запретить вывод диалогового окна "Terminal Properties" ("Свойства терминала").

Для восстановления стандартного поведения опций AaBbQv используется опция -u. Эта опция переопределяет параметры настройки из конфигурационного файла.

-uA

Использовать комбинации клавиш с Alt для команд менеджера окон.

-ua

Подавить загрузку таблицы шрифтов из конфигурационного файла.

-uB

Сбросить опцию постоянного мигания курсора.

-ub

Сбросить опцию отключения мигания курсора.

-uQ

Использовать протокол ANSI.

-uv

Отключить визуальный сигнал.

В опцию -u можно одновременно передавать несколько символов (например, -uabQv). Опции -ub и -uB эквивалентны. Опции постоянного мигания (-B) и отключения мигания (-b) соответствуют двум из трех состояний переключателя с тремя состояниями. Третье состояние (включается опцией -uB или -ub) "мигать, когда окно pterm активно".

При запуске pterm выполняется поиск файла палитры:

Файл палитры может быть либо двоичным файлом, содержащим шестнадцать 32-разрядных записей, либо текстовым файлом, содержащим шестнадцать 8- разрядных шестнадцатеричных числовых значений, разделенных переносом строки (концом списка считается одиночный символ переноса строки). Если длина файла не равна ни 64, ни 144 байтам, файл считается недействительным.

В файле палитры могут быть определены 16 цветов: 8 "нормальных" цветов и 8 "ярких"цветов аналогично стандартному экрану CGA/VGA. Номера цветов являются индексами в этом массиве. В массиве по умолчанию содержится 16 элементов, соответствующих 16 стандартным цветам CGA:

Индекс

Цвет

0

BLACK (черный)

1

BLUE (синий)

2

GREEN (зеленый)

3

CYAN (голубой)

4

RED (красный)

5

MAGENTA (пурпурный)

6

BROWN (коричневый)

7

WHITE (светло-серый)

8

BRIGHT BLACK (темно-серый)

9

BRIGHT BLUE (ярко-синий)

10

BRIGHT GREEN (ярко-зеленый)

11

BRIGHT CYAN (ярко-голубой)

12

BRIGHT RED (ярко-красный)

13

BRIGHT MAGENTA (ярко-пурпурный)

14

BRIGHT BROWN (желтый)

15

BRIGHT WHITE (ярко-белый)


Переменные среды:

PHOTON_PATH

Имя корневого каталога, содержащего файлы Photon.

PTERMPAL

Путь к файлу палитры.

PTERMRC

Имя локального конфигурационного файла.

TERM

Для этой переменной среды в зависимости от выбранной эмуляции терминала устанавливается одно из следующих значений: