вы можете использовать другой терминал для отображения характе-
ристик. Подключитесь к системе как суперпользователь с другого
терминала и введите:
Ъ2stty < ttyname
- 14-15а -
В предыдущей команде ttyname - это имя специального файла
устройства, соответствующего последовательной линии (смотрите
главу "Оглавления UNIX и специальные файлы устройств"). Напри-
мер данная команда отображает текущие характеристики последова-
тельной линии с именем /dev/tty1a:
- 14-16 -
stty < /dev/tty1a
Команда отображает скорость передачи, схему четности и
другую информацию о последовательной линии. Эта информация объ-
ясняется в разделе stty(С) документа User's Reference.
Одним из возможных изменений для последовательной линии
является изменение скорости передачи. Это обычно делается с
терминала, присоединенного к другой последовательной линии, так
как изменение скорости нарушает связь между терминалом и систе-
мой. Перед тем, как вы изменяете скорость, вам необходимо знать
текущую скорость передачи терминала (смотрите руководство по
аппаратуре терминала для определения текущей скорости переда-
чи). После того, как вы получили скорость передачи, подключи-
тесь к системе как суперпользователь с другого терминала и вве-
дите:
Ъ2(stty Ъ1baud-rate; while:; do sleep 3600; done) < ttyname &,
где baud-rate - это текущая скорость передачи терминала, а
ttyname - это имя специального файла устройства, соответствую-
щего последовательной линии, для которой вы хотите провести из-
менения. Скорость передачи должна содержаться в наборе 50, 75,
110, 134, 150, 200, 300, 600, 1200, 2400, 4800 и 9600.
Например команда:
(stty 9600; while:; do sleep 3600; done) < /dev/tty1a &
изменяет скорость передачи последовательной линии /dev/tty1a
на 9600. Заметим, что символ "меньше, чем" (<) используется как
для отображения, так и для задания параметров последовательной
линии с другого терминала.
Другим возможным изменением является изменение способа,
которым система обрабатывает вход и выход для последовательной
линии. Такие изменения обычно делаются с терминала, присоеди-
ненного к последовательной линии. Например команда
stty tabs
приводит к тому, что система расширяет символы табуляции
- 14-16а -
пробелами (используется терминалами, которые не расширяют сим-
волы табуляции) и команда:
stty echoeЪ
приводит к тому, что система удаляет удаляемый символ с экрана
терминала, когда вы используете клавишу .
Заметим, что команда stty может также использоваться для
адаптации последовательной линии к необычному терминалу, к дру-
гому типу последовательного устройства, требующего генерации и
регистрации четности или специальной обработки ввода и вывода.
Полное описание этой команды содержится в разделе stty(C)
документа User's Reference.
- 14-17 -
ЗАДАНИЕ ТИПА ТЕРМИНАЛА
Системы UNIX требуют, чтобы тип терминала был ясно опреде-
лен перед работой с этим терминалом. Предпочтительным методом
задания типа терминала является назначение типа переменной
TERM, специальной переменной среды, связывающей используемый
терминал со списком характеристик, приведенном в файле
/etc/termсap. Эти характеристики сообщают системе, как интерп-
ретировать клавиши терминала и как отображать данные на экране
терминала. Eсли вы используете оболочку Bourne shell (sh), то
назначение TERM имеет вид:
Ъ2TERM=Ъ1termtype; export Term
Если вы используете оболочку С (csh), то назначение TERM
имеет вид:
Ъ2setenv TERM termtype
termtype должно быть одним из имен, связанных с одним из
терминалов, определенных в файле /etc/termcap. Назначение долж-
но вводиться с терминала, тип которого вы устанавливаете.
Например для установки типа терминала "ansi" из оболочки
Bourne обратитесь к терминалу, который вы хотите установить,
введите подсказку оболочки ("$"):
TERM=ansi; export TERM
и нажмите клавишу <Возврат>. Из оболочки С введите подсказку
("%")
setenv TERM ansi
и нажмите <Возврат>.
Если вы не уверены в том, какое имя вы можете использовать
для termtype, вы можете просмотреть имена либо отображением
файла /etc/termcap, либо чтением страницы руководства
terminals (M) документа User's Reference, где перечисляются все
терминалы, обеспеченные в файле /etc/termcap. Для отображения
самого списка введите:
more /etc/termcap
и нажмите клавишу <Возврат>.
- 14-18 -
Вы можете позволить системе определить тип терминала авто-
матически, когда вы подключаетесь к системе, включив назначение
TERM в файл .profile (смотрите "Изменение файлов .profile и
.login" в главе "Запуск и останов системы").
Альтернативный метод задания типа терминала описан в раз-
деле tset(C) документа User's Reference.
Если вы позволите системе установить тип терминала, следу-
ет быть осторожным при подключении к системе на терминалах, ко-
торые не относятся к тому же типу, к которому относится ваш
обычный терминал. У системы отсутствует способ проверки кор-
ректности данного терминала, она предполагает тип терминала,
аналогичный вашему обычному терминалу. Если это не так, вам
следует установить тип терминала вручную.
- 14-19 -
АВТОМАТИЧЕСКОЕ ЗАДАНИЕ ТИПА ТЕРМИНАЛА
Если вы хотите, чтобы тип терминала задавался автоматичес-
ки во время подключения к системе, выполните следующую процеду-
ру:
1. Подключитесь к рассматриваемому терминалу и определите,
какое ttyname вы используете, введя:
tty
2. Подключитесь как root и редактируйте файл /etc/ttytype
текстовым редактором. Измените поле типа терминала для ли-
нии, связанной с рассматриваемым терминалом, на необходи-
мый вам тип терминала. Учтите модель консоли. Если вы хо-
тите, чтобы тип терминала был установлен как wy50 для /dev
/tty1a, редактируйте /etc/ttytype следующим образом:
wy50 tty1a
3. Далее пользовательский файл запуска должен редактироваться
с соответствующей строкой команды tset(C) для автоматичес-
кого задания типа терминала. В каждый файл .login пользо-
вателя оболочки С добавьте следующую строку:
tset -s -q > /tmp/tset$$; source /tmp/tset$$;
/bin/rm/tmp/tset$$
Убедитесь в удалении строки команды setenv(C), принимаемой
по умолчанию и включающей TERM и TERMCAP из файла .login.
В каждом .profile пользователя оболочки Bourne добавьте
следующую строку:
eval 'tset -s'
Убедитесь в удалении имеющейся строки команды tset из фай-
ла .profile.
4. Отключите всех пользователей от системы, далее подключи-
тесь к системе снова для проверки изменения типа нового
терминала. После подключения к системе проверьте новый
termtype введя:
env
- 14-20 -
УДАЛЕНИЕ ТЕРМИНАЛА
Время от времени может оказаться необходимым удалить тер-
минал из системы, например, если вы хотите заменить его некото-
рым другим устройством. Перед тем, как вы можете удалить терми-
нал, вы должны отключить его командой disable(C).
Для удаления терминала выполните следующие шаги:
1. Выключите питание терминала.
2. Подключитесь к системе как суперпользователь с другого
терминала.
3. Используйте команду disable для отключения терминала. Ко-
манда имеет вид:
Ъ2disable ttyname
где ttyname - это имя последовательной линии, к которой
присоединен терминал. Например, команда:
disable /dev/tty1a
отключает терминал, связанный с последовательной линией
/dev/tty1a.
4. Отсоедините терминал от системы.
Последовательная линия, ранее присоединенная к терминалу,
теперь свободна для принятия другого устройства.
- 14-21 -
ИСПОЛЬЗОВАНИЕ ПОСЛЕДОВАТЕЛЬНЫХ МУЛЬТИЭКРАНОВ
СРЕДСТВАМИ MSCREEN
Если вы знакомы с multiscreen(M), средствами, которые
обеспечивают множество отдельных экранов login для консоли, то
имеется возможность использования аналогичного средства для
терминала. Терминалы, которые имеют множество страниц экранной
памяти, могут использоваться с разделяемыми экранами, каждый со
своим сеансом login, так, как будто у вас имеется несколько
терминалов вместо одного.
На терминале WYSЕ60 легко может быть сохранено содержимое
двух полных экранов активности. Использование третьего экрана
для WYSЕ60 обсуждается ниже. Это означает, что использование
двух экранов очень похоже на применение более одного терминала.
Полная функциональность сессии login обеспечивается для каждого
экрана, и ранее выполняемые команды (или их результаты) отобра-
жаются на каждом экране, когда он используется. В настоящей
статье описывается WYSЕ60, при этом в качестве основы для всех
примеров используются две страницы экранной памяти.
Вы можете также ограничить число доступных mscreens. Ути-
лита mscreen обеспечивает доступ к сессиям набора терминалов,
что во многом похоже на операцию logging для более, чем одного
терминала. Эти сессии обеспечиваются для "псевдо ttys", а не
для устройств tty, обычно используемых терминалами или модема-
ми. tty - это специальный файл, связанный непосредственно с от-
дельным аппаратным устройством, используемым для связи с обору-
дованием, таким как терминалы или принтеры. За tty следует
число и буква. Псевдо-tty - это устройство, которое не связано
с какой-либо реальной аппаратурой и используется для моделиро-
вания функций реального tty.
Пользователи сетевых продуктов должны уже быть знакомы с
псевдо-ttys, так как они являются устройствами, используемыми
для подключения к системе на удаленных машинах. Псевдо-tty
представляется двумя программными устройствами, которые появля-
ются в листинге /dev как "pty" и "ttyp", за каждым из которых
следует число. Первый называется "главным" tty, а последний -
"подчиненным". Они моделируют функциональный tty.
После установки система допускает максимум 16 экранов и
только 8 псевдо-ttys создаются во время процедуры установки. Вы
можете создать большее количество псевдо-ttys и в результате
получить больше экранов в системе с программой на рисунке 14-1.
- 14-21а -
Этот предел псевдо-ttys, которые могут использоваться, контро-
лируется конфигурируемым параметром NSPTTYS, который определяет
число псевдо-ttys, распознаваемых системой (по умолчанию во
время установки задается 16). Допускается максимум 32 псев-
до-ttys. Если вы планируете использовать более 16 псевдо-ttys,
вы должны увеличить этот параметр в добавление к созданию до-
полнительных псевдо-ttys. Заметим, что строка "для х
- 14-22 -
в 8 9 10" на рисунке 14-1 расширяется до 23, что означает, что
создается 16 дополнительных псевдо-ttys ((0 - 7) уже имеются).
Следует укоротить эту строку, если вам не нужно так много псев-
до-ttys. Вы можете также расширить ее до 31, если вам нужен ма-
ксимум 32.
+--------------------------------------------------------------+
|# тип '1 /dev/ptyp*' вы получите несколько линий, аналогичных:|
|# crw----------- 1 бин терминал 59, 26 мая 08:21 /dev/ptyp0 |
|# |
|# установите переменную "главный мастер" (ниже), равную приво-|
|# димому главному номеру |
|major_master=59 |
|# тип '1 /dev/ptyp*' вы получите несколько линий, аналогичных:|