|
НАЗВАНИЕ
mscreen - Утилита последовательных мультиэкранов
СИНТАКСИС
mscreen [-s] [-n number] [-t]
ОПИСАНИЕ
mscreen допускает последовательный терминал для того,
чтобы иметь множественные входные экраны аналогично управлению
multiscreen(7).
Замечание: Для полной поддержки mscreen терминал дожен иметь возможность переключать внутренние страницы экрана по команде и должен сохранять отдельную позицию курсора для каждой страницы экрана.
Параметры используются следующим образом:
-s | Режим подавления вывода сообщений. Этот флаг поддерживает сообщения при запуске, и на "немых" терминалах он поддерживает сообщения о переключателе экрана. |
---|---|
-n | Выбирает число последовательных мультиэкранов, сведенных к максимальному числу, определенному для данного типа терминала. |
-t | Делает невозможной непосредственную проверку tty. Как правило, mscreen входит без объявления, если имя терминального устройства начинается с символов "ttyp". Имена устройств, начинающиеся с "ttyp", используются как починенные устройства для mscreen. Правильные имена для управляющих устройств tty начинаются с "ptyp". |
mscreen может быть использован как на "интеллектуальных", так и на "немых" терминалах. Хотя он оптимизирован так, чтобы работать преимущественно с "интеллектуальными терминалами" с экранной памятью, mscreen также работает на немых терминалах, хотя при изменениях экрана изображения экрана не сохраняются. mscreen также поддерживает терминалы с двумя (или более) последовательными портами, подсоединенными к различным компьютерам.
mscreen сконструирована так, чтобы она вызывалась из файлов .profile или .login. Следует использовать mscreen вместо переменной SHELL, чтобы последовательные мультиэкраны последовательно включались во время ввода. Клавиши "stp" и "quit" позволяют выйти из всех экранов с посмощью одного удара клавиши.
Конфигурация
Анализируя переменную среды TERM, mscreen определяет вид
терминала, из которого она вызывалась. Чтобы получить возможности для данного вида терминала, mscreen просматривает
/etc/mscreencp или имя файла, содержащееся в переменной среды
SPTTERMCAP.
Псевдотерминалы, приписанные пользователю, автоматически определяются mscreen при запуске. Присваивание ttys вручную может быть выполнено путем создания файла .mscreenrc в начальном каталоге пользователя.
Формат mscreencap
mscreencap содержит вход для каждого поддерживаемого вида
терминала. Если поддержка для нескольких видов терминала одинакова, вход может иметь несколько имен. Внутри входа имеются
отображения клавиш для каждого потенциального псевдотерминала.
Каждый псевдотерминал имеет строку клавиши help, входную строку
(последовательность с генерированной клавишей, выбирающей данный экран), и произвольная выходная строка (последовательность,
посылаемая терминалу для включения страницы). Входная и выходная строки находятся в формате типа termcap: (backslash и возврат каретки являются руководящими в (управляющих) символах).
\nnn | восьмеричное число, допускается от одного до трех цифр |
---|---|
\n | новая строка |
\r | возвращение каретки |
\t | символ табуляции |
\b | backspace |
\f | form feed |
\E | переход (от шестнадцатиричного 1b к восьмиричному 33) |
\ | ввести backslash в качестве символа данных |
\^ | нажать на каретку как символ данных |
\^X | ctrl-X, где Х может быть: @ABCDEFGHIJKLMNOPQRSTUVWXYZ |
[]^_ | полезно то, что каретка может порождать шестнадцатиричное 01 через шестнадцатиричное 1f. |
Если вид терминала не имеет выходных строк, то он считается "немым" терминалом, не имеющим множественных внутренних страниц памяти.
Существует пять особых входов, позволяющих пользователю определять клавиши для поддержки других функций mscreen. Это клавиша help (которая печатает список всех доступных в настоящее время клавиш и их функций), клавиша who (печатает имя текущего экрана), клавиша stop (прекращает mscreen и возвращает хороший (нулевой) возвратный код оболочки), и клавиша quit (прекращает mscreen и возвращает плохой (ненулевой) возвратный код оболочки), и немой вход, используемый для терминалов с множественными портами.
Формат:
#это комментарий и может появляться только между вводами entryname|alias1|alias1...|aliasn: :specialname,helpname,inputstring,pageselectstring: :specialname,helpname,inputstring,pageselectstring: entryname|alias1|alias1...|aliasn: :specialname,helpname,inputstring,pageselectstring: :specialname,helpname,inputstring,pageselectstring:specialname пусто для вводов с действительного экрана. Посмотрите пример для /etc/mscreencap 1.
.mscreen formatФиксированный набор ttys для использования:
tty0 tty1 ttyn
Возвращенные коды оболочки и автоматический ввод/вывод
mscreen выходит с плохим (ненулевым) возвратным кодом
при наличии ошибки или при нажатии клавиши "quit". Клавиша
stop вызывает выход mscreen с хорошим нулевым возвратным кодом. Это позволяет пользователям помещать mscreen в файлы
.profile и .login. Если возвратный код mscreen хороший (нулевой), файлы .profile и .login должны устанавливать автоматический выход. Ниже показан вызов выборки csh mscreen для файла
.login.
mscreen -n4 if ($status==0)logout
Выходное свойство единственного ключа mscreen работает, как будто на каждом псевдотерминале был введен нормальный выход. Всем процессам на всех псевдотерминалах посылается сигнал зависания.
Опция множественного порта
mscreen обеспечивает вид немого входа. Он разрешает помещать mscreen в неактивное состояние, а пока пользователь использует свой терминал для проникновения через другой (физический) порт ввода/вывода в другой компьютер. Например, смотри
/etc/mscreentermmap. Для использования вы должны взять пример
и составить его для своих целей.
Драйвер mscreen
Драйвер mscreen уже внедрен в ядро XENIX с восемью псевдотерминалами, доступными для использования. Чтобы использовать
его, вам следует включить псевдотерминалы. Чтобы иметь больше
доступных псевдотерминалов, следует ознакомиться с инструкциями
link-kit для повторного подсоединения ядра.
ПРИМЕЧАНИЕ
Для входных строк mscreen имеет истечение времени ожидания события VTIM, равное 1/5 секунды.
На каждого пользователя mscreen имеет предел в 20 мультиэкранов.
При выходе не следует включать страницы экрана в mscreen, так как если управляющая последовательность разбита пополам, терминал может остаться в неопределенном состоянии и исказить изображение экрана.
Терминалы, сохраняющие положение курсора для каждого экрана, часто не сохраняют такие состояния, как режим вставки, обратный видео и другие. Например, не следует менять экраны, если вы находитесь в режиме вставки в vi, и вам не следует менять экраны во время выходной последовательности обратного видео.
Для незадействованных экранов (экранов, отличающихся от текущего) mscreen сохраняет по крайней мере 2048 символов информации (2К). Более старая информация теряется. Это ограничение иногда приводит к ошибкам в программах, требующих памяти для большего объема информации, чем задано. Клавиша повторного изображения эрана, определенного пользователем, восстанавливает экран в нормальный вид.
mscreen зависит от имен утройства псевдотерминала, начинающихся с ttyp для зависимых устройств и ptyp для управляющих устройств. Количество последних символов в имени устройства несущественно.
СМ. ТАКЖЕ
multiscreen(7), enable(1)
|