Жанр: Учеба
SCO: Пособие администратора системы Unix
...дините терминал от системы.
Последовательная линия, ранее присоединенная к терминалу,
теперь свободна для принятия другого устройства.
- 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*' вы получите несколько линий, аналогичных:|
|# crw----------- 1 бин терминал 58, 26 мая 08:21 /dev/ttyp0 |
|# |
|# установите переменную "главный мастер" (ниже), равную приво-|
|# димому главному номеру |
|major_slave=58 |
|for x in 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|do |
| # make master (выполнение "мастера) |
| /etc/mknod /dev/ptyp$x c $major_master $x |
| chown bin /dev/ptyp$x |
| chgrp terminal /dev/ptyp$x |
| chmod 600 /dev/ptyp$x |
| |
| # make slave (выполнение "раба") |
| /etc/mknod /dev/ptyp$x c $major_slave $x |
| chown bin /dev/ptyp$x |
| chgrp terminal /dev/ptyp$x |
| chmod 600 /dev/ptyp$x |
|done |
+--------------------------------------------------------------+
Рис. 14-1. Процедура оболочки maketyps.
Выполните эти шаги для конфигурации дополнительных экранов
1. Конфигурируйте ваше ядро для обеспечения дополнительных
псевдо-ttys. Читайте раздел "Перевыделение ресурсов ядра
при конфигурации" в главе "Настройка производительности
системы" данного руководства для получения инструкций по
- 14-22а -
выполнению configure(ADM). Выберите категорию 3, Файлы, i
-узлы и файловые системы и установите параметр NSPTTYS в
требуемое значение. Выполните инструкции по перередактиро-
ванию ядра перед продолжением работы.
2. Далее копируйте процедуру на рисунке 14-1 в файл, называе-
мый "makeptys". Чтобы сделать эту процедуру оболочки вы-
полняемой, введите следующую команду:
chmod 744 makeptys
- 14-23 -
3. Для выполнения этой процедуры оболочки убедитесь, что вы
подключены к системе как root и выполните процедуру обо-
лочки следующим образом:
./makeptys
4. После добавления устройств вы должны конфигурировать сис-
тему для запуска процесса getty на каждом псевдо-tty. Это
выполняется добавлением элементов в файлы /etc/inittab и /
etc/conf/cf.d/init.base. Элементы, уже представленные для
первых восьми псевдо-ttys выглядят следующим образом:
p0:2:respawn:/etc/getty ttyp0 m
p1:2:respawn:/etc/getty ttyp1 m
p2:2:respawn:/etc/getty ttyp2 m
p3:2:respawn:/etc/getty ttyp3 m
p4:2:respawn:/etc/getty ttyp4 m
p5:2:respawn:/etc/getty ttyp5 m
p6:2:respawn:/etc/getty ttyp6 m
p7:2:respawn:/etc/getty ttyp7 m
Примечание.
Первые 8 псевдо-ttys могут сказать "из" вместо "перепорожде-
ния". (Мышь требует, чтобы псевдо-ttys были замаскированы).
Вы можете изменить их на "перепорождение", открыв каждое из
этих устройств, как в следующем примере:
enable p0
При этом открывается псевдо-tty /dev/ttyp0. (Не открывайте
эти псевдо-ttys, если вы уже используете их для мыши).
Вы можете копировать и далее модифицировать эти элементы
для дополнительных устройств. Убедитесь, что вы модифици-
ровали оба файла. Например, если вы хотите добавить 8 до-
полнительных псевдо-ttys, вам следует добавить следующие
строки в оба файла:
p8:2:respawn:/etc/getty ttyp8 m
p9:2:respawn:/etc/getty ttyp9 m
p10:2:respawn:/etc/getty ttyp10 m
p11:2:respawn:/etc/getty ttyp11 m
p12:2:respawn:/etc/getty ttyp12 m
p13:2:respawn:/etc/getty ttyp13 m
p14:2:respawn:/etc/getty ttyp14 m
p15:2:respawn:/etc/getty ttyp15 m
- 14-24 -
5. Далее введите следующую команду:
/tcb/lib/ttys_update
Это гарантирует, что ваши добавления распознаются механиз-
мами безопасности системы.
Добавление больших возможностей mscreen в систему увеличивает
производительность пользователей. Однако чрезмерное использование
может снизить производительность системы. Система с
десятью пользователями, каждый из которых использует два экрана,
может привести к тому, что производительность системы будет
такой же, как в случае двадцати пользователей. Следует иметь
производительность в виду при решении вопроса о том, как много
mscreen следует использовать в системе, и кто будет иметь возможность
использовать их.
Пока никакой терминал не содержит достаточно экранной памяти
для сохранения информации, отображаемой при использовании
всех двадцати login, которые обслуживаются средствами mscreen,
любой терминал позволяет пользователю выполнить переключение
между двадцатью экранами, при условии, что клавиатура имеет
достаточно дополнительных клавиш для использования при переключении
экранов. Однако пользователь вероятно не будет считать
полезным использование многих экранов без набора страниц экранной
памяти. Неудобно, например, переполучать экран терминала
каждый раз при переключении экранов, когда используется крупноформатная
таблица на одном экране и Vi на другом. Большая часть
людей, которые используют терминалы с минимальной памятью экрана
предпочтут слои оболочки shl(C) mscreen для множества сессий
login. Дополнительная информация по shl содержится в документе
User's Reference.
Поиск неисправностей
В отличии от многих утилит сложные средства mscreen требуют
ряда условий для правильного функционирования. Следуя этим
предположениям вам следует обойти ряд наиболее общих ошибок,
которые делают новые пользователи mscreen.
При подготовке к использованию mscreen убедитесь, что терминал
будет работать с программой. Определите, сколько
- 14-24а -
имеется экранной памяти, обратившись к руководству по терминалу.
Утилита mscreen использует файл /etc/mscreencap для определения
того, как изменить образы экрана для отдельного терминала.
Будучи заполнен файл /etc/mscreencap обеспечивается лишь
для ряда терминалов. Не следует говорить, что другие терминалы
не работают с 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/l
...Закладка в соц.сетях