для ряда терминалов. Не следует говорить, что другие терминалы
не работают с mscreen, они делают это. Вам следует лишь конфи-
гурировать файл /etc/mscreencap перед использованием терминала.
Если вы выполняете mscreen для терминала, который не имеет эле-
ментов в файле /etc/mscreencap, то mscreen завершится аварийно.
Если вы уверены, что терминал будет работать с mscreen и у
вас есть работающая процедура mscreencap, но процедура mscreen
все же завершается аварийно, проверьте следующие проблемы:

- 14-25 -

- создайте псевдо-ttys. Вам может потребоваться создать
большее количество псевдо-ttys, если текущие псевдо-ttys
уже используются. Используйте процедуру оболочки с рисунка
14-1 для создания большего количества псевдо-ttys.
- проверьте переключение. Убедитесь, что /etc/mscreencap для
терминала корректен. Используйте один из примеров в
/etc/mscreencap для проверки способа, которым выходная
последовательность функциональных клавиш отображается на
отдельную команду mscreen. Подключитесь к системе: вы
должны подключиться к системе отдельно для каждого экрана,
который вы будете использовать.
- уничтожьте процессы mscreen. Если вы тестируете элемент
mscreen и имеете неисправность на экранах, то следует вы-
полнить следующее:
1. Проверьте выполняющиеся процессы:

Ъ2ps -uusername

2. Уничтожьте все процессы Ъ2mscreen:

Ъ2kill -g process_numbers

Усовершенствованное использование

Многие пользователи считают, что mscreen представляет дос-
таточные средства. Для усовершенствованных пользователей
mscreen или кого-либо заинтересованного в более подробном изу-
чении mscreen и операционной системы имеется несколько советов
по использованию и расширению mscreen.
Страница руководства по mscreen(M) предполагает средства
автоматического вызова mscreen из файла .login оболочки С. Кро-
ме автоматического вызова mscreen информация на рисунке 14-2
описывает три полнофункциональных mscreen для WYSE 60, а также
добавляет ряд удобных средств для пользователя mscreen. Рисунок
14-3 представляет тот же самый материал для файла .profile обо-
лочки Bourne. Заметим, что эти примеры спроектированы для до-
бавления в конец файла .login или .profile и замещают любую су-
ществующую информацию о tset.

- 14-26 -

+--------------------------------------------------------------+
|# Example material for the end of a C-Shell .login file. |
|# If logging in via pseudo-tty, surpress terminal |
|# initialization |
|set ttyname='tty' |
|(Пример для конца файла .login оболочки С. |
| Если подключение к системе происходит через псевдо-tty, |
| прекратите инициализацию терминала. Установите ttyname='tty')|
|# Set init to null, iitially.| |
|set init=' ' |
|(Установите init в нулевое значение, первоначально. |
| Установите init=' ') |
|set noglob |
|# Reset init to the valur "-I" when logging in on a pseudo-tty|
|# to surpress the tset terminal initializations string. |
|if ( 'expr $ttyname : "/dev/ttyp"' > 0 ) set init = "-I" |
|set term = ('tset -m ansi:ansi -m wy60 -m:?wy60 -r -S -Q |
|$init') |
|setenvTern $term[1] |
|setenvTERMCAP $term[2] #terminal data base |
|unset noglob term |
|# Put WYSE 60 in ECON-80 mode during initial log in process. |
|(Установите WYSE 60 в режим ECON-80 во время процедуры |
|начального подключения к системе) |
|if ( "$init" !="-I" && "STERM" == "wy60" ) /bin/echo |
|"\033eG\c" |
|# Set the prompt to indicate the tty number of the current |
|# mscreen and command. |
|(Установите подсказку, чтобы указать номер tty текущего |
|mscreen и команду). |
|set prompt = "'expr $ttynamt : '/dev/)' ` % " |
|# Release the local variable used. |
|(Освободите локальные используемые переменные). |
|unset ttyname init |
|# Run mscreen and logout if the 'stop' key (defined as S-F9 in|
|# the default /etc/mscreencap for wy60) is pressed. This |
|# string is described in the mscreen(M) manual pages. |
|(Выполните mscreen и журнал, если клавиша "стоп" (определенная|
|как S-F9 в принимаемом по умолчанию файле /etc/mscreencap для|
|wy60 нажата. Эта строка описана в руководстве по mscreen(M)). |
|mscreen -n 3 |
|if ($status == 0) logout |
+--------------------------------------------------------------+
Рис. 14-2. Процедура .login.

- 14-27 -

+--------------------------------------------------------------+
| # |
| # Example material for the end of a Bourne shell .profile |
| # file |
| (Пример для конца файла .profile оболочки Bourne) |
| |
| ttyname='tty' |
| |
| init="' |
| |
| if [ `expr $ttyname : "/dev/ttyp"` -gt "0" ] |
| then |
| init="-I" |
| fi |
| eval `tset -m ansi:ansi -m wy60:wy60 -m :?wy60 -r -s -q |
| $init` |
| export PATH |
| |
| if ["$init" = "-I" -a "STERM" = "wy60" ] |
| them |
| /bin/echo "\033eg\c" |
| fi |
| |
| PSI=`expr $ttyname : '/dev')'` $ " |
| |
| unset ttyname init |
| |
| mscreen -n 3 |
| if [ "$?" = "0" ] |
| then |
| exit |
| fi |
+--------------------------------------------------------------+

Рис. 14-3. Процедура файла .profile.

Многие элементы termcap (включая wy60) чистят буфера экра-
на (которые mscreen использует при запоминании содержимого мно-
жества экранов) как части строки инициализации. На рисунках 2 и
3 tset(С) посылает строку инициализации только во время первой
процедуры .login. При подключении к

- 14-27а -

псевдо-ttys tset вызывается с флагом -I. Это делается добавле-
нием переменной "init" в строку tset. Первый раз, когда выпол-
няется tset "init" имеет значение, равное "", не добавляя ниче-
го к команде tset. При выполнении команды tset во время первой
процедуры login на экране отображается строка "\033tG\c". Эта
последовательность выхода изменяет параметры установки COLUMNS
в WYSE60 на режим ECON-80. Комбинация этих параметров установки
освобождает достаточное количество экранной памяти для исполь-
зования тремя экранами. В качестве дополнительного удобства
подсказка пользователя устанавливается для отображения номера
вспомогательного псевдо-tty, что позволяет пользователю легко
отслеживать содержимое используемых экранов.
Если вы не используете терминал WYSE60, вы можете задать
подсказку для указания текущего экрана и вызвать mscreen авто-
матически во время проверки кода возврата оболочки, как это по-
казано на рисунках 14-2 и 14-3.

- 14-28 -

ИСПОЛЬЗОВАНИЕ МОДЕМА В СИСТЕМЕ

Данный раздел объясняет, как соединять и использовать мо-
дем в системе UNIX.

Последовательные линии

Операционная система обеспечивает управление модемом для
последовательных портов. Таблица 14.1 содержит примеры имен ус-
тройств с управлением модемом и без такого управления.

Таблица 14.1
Последовательные линии
+-----------+-------------------------------------------------+
| Устройство| Функция |
+-----------+-------------------------------------------------+
| /dev/tty1a| основной последовательный адаптер без управления |
| | модемом |
| /dev/tty1A| основной последовательный адаптер с управлением |
| | модемом |
| /dev/tty2a| альтернативный последовательный адаптер без |
| | управления модемом |
| /dev/tty2A| альтернативный последовательный адаптер с |
| | управлением модемом |
+-----------+-------------------------------------------------+

/dev/tty1a и /dev/tty1A относятся к одному и тому же пос-
ледовательному порту (аналогично /dev/tty2a и /dev/tty2A). Опе-
рационная система использует в каждом случае различные подпрог-
раммы драйверов устройств. Нельзя пытаться использовать
одновременно порты управления с модемом и без модема или же вы
увидите следующее сообщение:

cannot open: device busy
(нельзя открыть: устройство занято)

Для систем, включающих многопортовые последовательные пла-
ты, устройства /dev/tty[1,2] [а-m] относятся к использованию
без управления модемом, а /dev/tty[1,2] [А-М] относятся к ис-
пользованию с управлением модемом.

- 14-28 -

Выходной набор от вашего компьютера

Утилиты up(C) и uucp(C) используются для вызова удаленных
систем и передачи данных в системах UNIX. Файл
/usr/lib/uucp/Devices (называемый Devices) содержит информацию,
используемую этими программами для определения характеристик
отдельной последовательной линии.
Файл Devices содержит линии, которые задают устройство для
линии, устройство вызова, связанное с линией, и скорости пере-
дачи, которые будут использоваться UUCP. (Устройства управления
модемом следует использовать с линиями, связанными с модемами).

- 14-29 -

Использование программ вызова по номеру

Для вызова по номеру и cu и UUCP используют общий набор
наборщиков номеров, которые могут быть независимыми двоичными
кодами (программами) аналогично /usr/lib/uucp/dialHA12, или
элементами файла /usr/lib/uucp/Dialers. (Дополнительная инфор-
мация об элементах файла Dialers содержится в главе "Построение
удаленной сети с UUCP" данного руководства).
Исходные данные для набора программ вызова по номеру и
формирования файла для перекомпиляции исходной программы вклю-
чены в оглавление /usr/lib/uucp. Если у вас имеется какой-либо
другой вид модема, то вы можете модифицировать любые исходные
файлы и создать вашу собственную программу вызова по номеру.
Заметим, что вы должны располагать системой разработки UNIX,
установленной для компиляции программы.
Для получения новой программы вызова по номеру выполните
следующие шаги:

1. Измените оглавление на /usr/lib/uucp следующей командой:

cd /usr/lib/uucp

2. Редактируйте файл makefile в оглавлении /usr/lib/uucp и
найдите строку, которая читает:

EXES = dialHA12 dialHA24 dialTBIT dialVA3450

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

3. Далее введите команду:

make

для вашей подсказки оболочки и нажмите <Возврат>.
4. После завершения выполнения команды make вы получаете но-
вую программу вызова по номеру. Это может использоваться в
пятом поле элемента в поле Devices.

- 14-30 -

Установка модема, обеспечивающего пересылку данных
абоненту сети

Примечание
Внутренние модемы не рекомендуются. Это происходит из-за то-
го, что для таких модемов трудно проводить отладку. Иногда
возникают конфликты по прерываниям, которые нельзя легко раз-
решить.

Когда вы присоединяете модем или любое другое устройство,
убедитесь, что последовательные линии, присоединенные к компь-
ютеру, не находятся в подвешенном состоянии. Свободная линия,
присоединенная к компьютеру, может значительно уменьшить произ-
водительность системы; при этом линия модема оказывается всегда
разомкнутой на стороне компьютера, а не на стороне модема.
Трехпроводные кабели, часто используемые для соединения
терминалов с компьютером, не достаточны для соединения модемов.
Для кабеля модема на 25-разъемном последовательном порту разъемы
2, 3, 7, 8 и 20 должны присоединяться напрямую. Если вы не уве-
рены в характере их использования, то кабель, соединяющий разъ-
емы, будет работать правильно. То же самое сделает ленточный
кабель, называемый по-другому кабелем "соединяющим напрямую",
что означает соединение контактов напрямую.
Для установки модема выполните следующие шаги:
1. Убедитесь, что пакет UUCP установлен. Используйте при не-
обходимости для установки процедуру custom(ADM).
2. Убедитесь, что последовательный порт, который вы выбрали
для модема, обеспечивающего пересылку данных абоненту се-
ти, распознается во время начальной загрузки и, если модем
является внутренним, убедитесь, что порт СОМ, которым кон-
фигурирован внутренний модем, согласуется со всеми другими
устройствами. Обеспечены только последовательные устройс-
тва, присоединенные к СОМ1 и СОМ2.
3. Убедитесь, что порт отключен вводом команды:

Ъ2disable ttyname

4. Подсоедините модем к компьютеру с помощью "соединяющего
напрямую" кабеля (контакты 2 и 3 не используются). Кабель
должен иметь соединенными по крайней мере контакты 2, 3,
7, 8 и 20.

- 14-31 -

Большая часть стандартных портов СОМ использует "соединяю-
щие напрямую" кабели (означает, что все контакты соединяют-
ся кабелем напрямую), но ряд аппаратных средств требует
кабеля нулевого модема (контакты 2 и 3 используются).
Стандартный порт СОМ известен как DTE, порт, которому ну-
жен кабель нулевого модема, известен как DCE. Если вы не
уверены, проверьте документацию по аппаратуре. Если па-
нелью СОМ является DСЕ, вам нужен кабель нулевого модема.
5. Добавьте корректные элементы в файл
/usr/lib/uucp/Devices. Этот файл имеет два элемента для
каждого последовательного порта, используемого для модема.
Один из элементов используется при запуске обращения с по-
мощью модема (линия ACU), и другая линия используется для
конфигурации модема с использованием стандартного набора
команд Hayes (прямая линия). Следует использовать элемен-
ты, аналогичные этим, которые установлены для совместимого
с Hayes модемом, работающего со скоростью передачи 2400
бод с использованием СОМ1:

Direct tty1a - 1299 - 2400 direct
ACU tty1A - 1200 - 2400 /usr/lib/uucp/dialHA24

Убедитесь, что элементы не имеют знака решетки ("#") перед
ними. Такой синтаксис предназначен для показа того, что
строка является только комментарием и должна игнорировать-
ся. В файле Devices имеется много примеров, которые ком-
ментируются этим символом.
6. Введите следующую команду, чтобы установить UUCP как вла-
дельца выбранного порта:

Ъ2chown uucp /dev/ttyname

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

cu -ltty1a dir

Вы увидите сообщение, указывающее на установление связи.
Если вы увидите сообщение "cu: dir permission denied" ("cu:

- 14-31а -

отказ разрешения dir"), то пользователь, выполняющий ко-
манду cu, не имеет разрешения на запись в файл
/usr/lib/uucp/Devices. Если вы не увидите такого сообще-
ния, и отсутствует сообщение, указывающее на корректность
соединения, то это значит, что либо команда cu некоррект-
на, либо файл Devices некорректен, либо последовательный
порт не работает корректно.

- 14-32 -

Примечание
Следующие далее инструкции предполагают совместимый с Hayes
набор команд и коды ответа. Другие модемы могут использовать
другие соглашения. Обратитесь к документации по модему для
получения дополнительной информации.

Если вы увидите сообщение, подтверждающее соединение, вве-
дите:

АТ

с клавиатуры. "ОК" будет отображено на экране компьютера.
Если модем установлен на возврат кодов результата как чис-
ловых кодов, а не текстовых, вы увидите 0. Если это не
происходит, проверьте, что индикатор "получения" модема
загорается при нажатии клавиши. Это указывает на то, что
модем получает сигналы от клавиатуры. Если этот индикатор
не загорается, проверьте кабель и установку переключателей
модема. Если индикатор "получения" загорается, но вы еще
не получили ответ ОК от модема, повторно введите:

АТЕ1

с клавиатуры компьютера, чтобы разрешить средство выдачи
эха модема.

Если вы получили ожидаемые ответы, вы можете вызвать номер
набором

Ъ2ATDT phonenumber

После получения подтверждения, что модем может быть выз-
ван, завершите cu набором

и далее нажмите <Возврат>.
8. Теперь вы готовы для подключения к другой системе. Для вы-
зова номера следует использовать следующую команду:

cu -ltty1A 555-1212

Следует изменить "555-1212" на телефонный номер системы,
которую вы хотите вызвать. Если у вас есть проблемы,

- 14-32а -

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

- 14-33 -

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

Примеры, приводимые ниже, предполагают, что модем непос-
редственно присоединен к СОМ1. Часто используются другие после-
довательные порты. Если имеются проблемы, сначала проверьте,
что телефонное гнездо подключено, и что на телефонной линии
имеется сигнал.

1. Проблема: При тестировании соединения модема командой

cu -sl1200 -ltty1a dir

я получил сообщение соединения, но когда я набрал "АТ", не
последовало сообщения "ОК".
Средство А: Проверьте кабель установки/переключения прог-
рамм модема. Если используется кабель, соединяющий напря-
мую, попробуйте кабель нулевого модема, использующий по
крайней мере контакты 2, 3, 7, 8 и 20. После выдачи коман-
ды cu наблюдайте индикацию модема и нажмите клавишу <Возв-
рат> несколько раз. Индикатор "получения" должен загореть-
ся при нажатии клавиши. Если это не происходит, необходимо
проверить кабель, чтобы убедиться, что контакт 2 соединен
напрямую (контакт 2 - это линия передачи данных от после-
довательного порта модему). Если горит индикатор "получе-
ния", попытайтесь использовать АТЕ1 для включения средства
"эхо модема".
Средство В: Последовательный порт компьютера может быть
неисправен. Попытайтесь присоединить модем к другому пос-
ледовательному порту или присоединить терминал или после-
довательный принтер к порту для подтверждения его функцио-
нирования. Если порт не функционирует, проверьте
документацию по аппаратуре на соответствующее средство ре-
монта.
Средство С: Модем может быть неисправен. В этом случае
проверьте документацию по аппаратуре на соответствующее
средство ремонта.
2. Проблема: Модем осуществляет набор номера, но соединение
не происходит.
Средство А: Телефонный номер может быть неправильным или
не работающим или телефонная линия, к которой присоединен
модем, может быть неисправной.

- 14-33а -

Отключите модем от телефонной линии и подключите обычный
телефон. Попытайтесь сами набрать номер, чтобы убедиться
что модем на другой стороне линии отвечает на вызов.
Средство В: Слушайте внимательно модем, когда он осущест-
вляет вызов. Некоторые промышленные телефонные системы
требуют, чтобы была пауза между определенными числами. Де-
фис используется в команде cu для указания паузы в две се-
кунды, например: "9----458--1234".

- 14-34 -

Дефис, приведенный в команде cu транслируется кодировщиком
номера в соответствующий код для модема. Для совместимого
с Hayes модема он транслируется в запятую перед посылкой в
модем.
3. Проблема: При вызове номера вы увидите сообщение:

Connect failed: NO DEVICE AVAILABLE
(соединение не удалось, нет доступных устройств)
Средство А: Нет элемента в файле Devices для порта модема.
Далее следует пример элементов для совместимого с Hayes
модема, работающего со скоростью передачи 2400 бод в /dev/
tty1A:

Direct tty1A - 2400 direct
ACU tty1A - 300-2400 /usr/lib/uucp/diaHA24

Убедитесь, что отсутствует знак решетки (#) в начале этих
строк в файле Devices.
Средство В: Порт модема в Devices не имеет корректную ско-
рость передачи, связанную с ним. Убедитесь, что если вы
используете возможность cu для задания скорости передачи,
то в Devices имеется элемент, соответствующий этой скорос-
ти передачи.
4. Проблема: Модем, отвечает, но я получаю символы мусора на
терминале.
Средство А: Пункт, который вы вызываете, может иметь дру-
гие значения бита данных и четности, чем вы используете.
По умолчанию cu использует 8 битов данных и не использует
четность. Используйте cu -е для 7 битов данных, четности и
cu -о для 7 битов данных и нечетности.
Средство В: Удаленный компьютер имеет другую скорость пе-
редачи. Если вы обращаетесь к другой системе UNIX, пошлите
сигнал прерывания, чтобы удаленный пункт переключил ско-
рость передачи во время процедуры login. Всегда запускайте
систему при наивысшей скорости передачи и снижайте ее по
мере необходимости. Для посылки сигнала прерывания введи-
те:

%b

- 14-34а -

Средство С: В линии имеется шум. Это становится особенно
ощутимым при работе со скоростью передачи 2400 бод и выше.
Проверьте вашу телефонную линию. Обычно, когда имеется
проблема с шумом линии, вы увидите символы мусора, появля-
ющиеся на экране непрерывно так, как будто на другом конце
линии имеется система, пытающаяся послать правильные дан-
ные.

- 14-35 -

5. Проблема: Мой модем не отключается в конце вызова.
Средство А: Используется порт управления не модемом. Порты
управления не модемом должны использоваться только с тер-
миналами и когда модем конфигурирован. Какой порт исполь-
зовать - это конфигурируется в файле Devices. Измените
последовательный порт управления не модемом, который вы
задали, на соответствующий порт управления модемом. Напри-
мер порт управления модемом, связанный с tty1a - это
tty1A.
Средство В: Индикатор CD (регистрация носителя) модема не
выключается при разъединении вызова. Проверьте переключа-
тели модема, чтобы убедиться, что модем установлен для ре-
гистрации входящей частоты или, если это Hayes 2400 или
совместимый модем, используйте команду AT&C1.
Средство С: Модем не установлен для регистрации DTR (го-
товность терминала данных). Проверьте переключатели моде-
ма, чтобы убедиться, что модем установлен на регистрацию
DTR или, если это модем Hayes 2400, используйте команду AT
&D2. Некоторые модемы имеют переключатель, который может
быть установлен на игнорирование DTR, и этот переключатель
не должен быть включен.

Подключение к компьютеру

Для обеспечения подключения к компьютеру следует открыть
последовательную линию, которая распознает сигналы управления
модемом по команде enable(C).
Для использования основного последовательного адаптера
(СОМ1) введите:

disable tty1a
enable tty1A
Или для альтернативного последовательного адаптера (СОМ2)
введите:

disable tty2a
enable tty2A
Заметим, что tty1A и tty1a относятся к одной и той же (ос-
новной) последовательной линии, а tty2A и tty2a относятся к од-
ной и той же (альтернативной) последовательной линии. Не ис-
пользуйте одну и ту же линию в режиме модема и не-модема в одно
и то же время, так как это приведет к ошибке.

- 14-36 -

Установка модема, обеспечивающего вход в сеть
информационного обмена

Следующая процедура предоставляет пошаговые инструкции по
установке модема для операций, обеспечивающих вход в сеть ин-
формационного обмена. (Пароли рекомендуются для линий обеспече-
ния входа в сеть информационного обмена; смотрите раздел "До-
бавление защиты пароля при обеспечении входа в сеть
информационного обмена" в главе "Обеспечение секретности систе-
мы" для получения дополнительной информации).
1. Выполните шаги по установке модема для обеспечения пере-
сылки данных абоненту сети. Это гарантирует, что вы имеете
работающее соединение аппаратуры.
2. Некоторые модемы имеют переключатели или программные ко-
манды для установки конфигурации модема. Если модем имеет
такие средства установки, конфигурируйте его соответствую-
щим образом, следуя инструкциям в руководстве по модему.

Примечание
Если модем разделяется между обеспечением входа в сеть инфор-
мационного обмена и обеспечением пересылки данных абоненту
сети, то шаг 3 может быть опущен. Инициализация для обеспече-
ния входа в сеть информационного обмена выполняется автомати-
чески при запуске системы или завершении пересылки данных
абоненту сети.

3. Задайте для модема автоматический ответ по телефону, когда
приходит вызов.
Большая часть внутренних модемов не имеет автоответчиков,
и некоторые внешние модемы не располагают такой возмож-
ностью. В этом случае поместите следующую строку в файл
инициализации /etc/rc.d/8/userdef:

(stty 1200; echo "atso=1\r" > /dev/tty1a) < /dev/tty1a

"tty1a" должно быть изменено для соответствия устройству
управления не модемом, к которому присоединен модем.
"1200" должно быть изменено на наивысшую скорость переда-
чи, используемую модемом. "ATS0=1" - это команда помещения

- 14-36а -

модемов, совместимых с Hayes, в режим автоответчика. Сим-
вол "/r" необходим для посылки сигнала возврата каретки в
модем для завершения строки команды.
4. Задайте параметры модема таким образом, чтобы он не отве-
чал, когда линия DTR не активна и отсоединялся от текущей
связи, когда DTR переходит из активного состояния в неак-
тивное.
5. Линия CD должна быть установлена в соответствии с входной
частотой, т.е. низкой, когда частота присутствует и высо-
кой, когда она отсутствует.

- 14-37 -

6. Задайте параметры модема таким образом, чтобы он не выда-
вал эхо для команд или не отображал ответы.
7. Убедитесь, что порт закрыт вводом команды:

Ъ2 disable ttyname

где ttyname - порт управления не модемом.