Страница:
соответствует полю режима линии в /etc/inittab.
Программа init передает режим линии программы
getty, как аргумент.
initial-flags устанавливают характеристики линии терминала,
когда программа getty первоначально устанавли-
вает связь. Программа getty распознает флаги,
- 14-9а -
перечисленные в termio(М) в документе User's
Reference. Часто единственным устанавливаемым
флагом в этом поле является флаг скорости пере-
дачи. Например В300 задает скорость передачи,
равную 300.
- 14-10 -
final-flags устанавливают характеристики линии терминала
(сразу перед тем, как программа getty вы-
полняет процедуру login. Эти флаги опи-
сывают рабочие характеристики для линии. Снова
устанавливается скорость передачи В. Другие
общие флаги включают SANE (составной флаг, ко-
торый устанавливает для ряда характеристик
терминала соответствующие значения, ТАВ3 (рас-
ширяет таблицы пробелами), IXANY (разрешает
любому символу выполнение рестарта выхода) и
HUPCL (перехватывает линию при конечном закры-
тии). Флаги могут вводиться в любом порядке.
login-prompt содержит сообщение LOGIN, выдаваемое пользова-
телю. Это поле печатается точно в том виде, в
каком оно вводится, включая пробелы и символы
табуляции. Символ "@" в поле подсказки login
расширяется в первой строке (или второй стро-
ке, если она имеется) в файле /etc/systemid
(если только символу @ не предшествует знак
'\').
Распознаются несколько последовательностей
символов, включая:
\n перевод строки \t табуляция
\r возврат каретки \f перевод формата
\v вертикальная табуляция \b пробел
\nnn (3 восьмеричных цифры)
заданные символы ASCII
next-label идентифицирует следующую метку в gettydefs для
getty для повторного выполнения, если предыду-
щее заканчивается неудачно. Getty переходит на
следующую метку, если пользователь нажимает
клавишу BREAK при попытке подключения к систе-
ме. Группы элементов, такие как коммутируемые
или TTY линии, должны образовывать закрытый
набор так, что getty переходит обратно к пер-
воначальному входу, если ни один из других
входов не выполняется успешно.
login-program имя программы, которая в действительности
подключает пользователей к системе. По умолча-
- 14-10а -
нию это программа /etc/login. Это поле являет-
ся выборочным.
Если присутствует ключевое слово AUTO, то
getty не выдает подсказку для имени пользова-
теля, но вместо этого использует имя устройс-
тва (то есть tty03) как имя пользователя и не-
медленно выполняет программу login.
- 14-11 -
Каждое поле разделяется знаком решетки (#) и каждый эле-
мент в gettydefs разделяется пустой строкой.
Элемент в gettydefs может выглядеть следующим образом:
4#B1200 SANE TAB3 HUPCL #login: #2#AUTO /etc/login new
Далее следует описание каждой части этой строки:
* число 4 идентифицирует этот элемент getty;
* следующее поле задает скорость передачи 1200;
* третье поле указывает скорость передачи (В1200), SANE
(составной флаг для ряда характеристик) и HUPCL (перех-
ват строки при конечном закрытии);
* login : появляется как подсказка login. Если это задание
не успешно, getty переходит к метке 2 в gettydefs;
* AUTO пытается подключить пользователя выполнением
/etc/login new.
Если последний элемент также содержит filename, то выпол-
няется программа login. (Заметим, что filename и соответствую-
щая программа login создаются пользователем). Например может
использоваться включение файла, такого как /etc/diаl_login для
линии, присоединенной к модему. Следует задать идентификатор
пользователя, назначить пароль, проверить пользователя и далее
назначить пользователя. При этом возможно потребуется пароль
для системы в добавление к учетному паролю, а также задание
специального набора переменных среды подключения, включенных в
/etc/default/dial_login.
Изменение файла gettydefs
Файл /etc/gettydefs задает наборы элементов для коммутиру-
емых линий и линий терминалов. Эти наборы элементов соответс-
твуют заданиям режимов линий в /etc/inittab. Программа init пе-
редает режим линии как аргумент для getty.
- 14-12 -
Можно редактировать gettydefs для добавления новых устано-
вок для терминала или изменения существующих. Например задание
установок для терминала может выглядеть следующим образом:
4 # B2400 HUPCL # B2400 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 5
5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 6
6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4
Для изменения файла-образца gettydefs таким образом, чтобы
getty пыталась использовать скорость передачи 1200 выполните
следующие действия:
1. Вызовите текcтовый редактор для редактирования первой
строки файла gettydefs.
2. Измените первое и третье поля с В2400 на В1200.
3. Сохраните gettydefs и выйдите из редактора.
Файл-образец будет выглядеть как в следующем примере:
4 # B1200 HUPCL # B1200 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 5
5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 6
6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4
Вы можете также добавить дополнительные задания для линии
терминала в gettydefs. Флаги и допустимые значения для заданий
для терминала перечислены в stty(C) документа User's Reference.
Когда вы добавляете новый элемент, убедитесь, что группы
элементов в gettydefs образуют закрытый набор, так что поле
next-label последнего элемента направляет getty обратно к пер-
вому элементу группы.
Для добавления элемента, задающего скорость передачи 300 в
предшествующем файле образце gettydefs выполните следующие ша-
ги:
1. Вызовите текстовый редактор для редактирования файла /etc/
gettydefs.
- 14-13 -
2. Найдите точку, где вы хотите поместить новые определения
установки для gettydefs. Порядок элементов не существенен;
getty только просматривает метку. В данном примере новый
элемент является последним элементом файла.
3. Поместите символ возврата каретки после последней строки в
файл и введите следующую новую строку
# B300 HUPCL # B300 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4
4. Для помещения метки 7 в набор меток измените поле
next_label для элемента с 6 на 7:
6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 7
Getty теперь направляется с метки 6 на метку 7 и далее об-
ратно на метку 4.
5. Завершите работу текстового редактора с сохранением изме-
ненного файла gettydefs.
Новый файл gettydefs выглядит следующим образом:
4 # B1200 HUPCL # B1200 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 5
5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 6
6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 7
7 # B300 HUPCL # B300 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4
Проверка параметров установки терминала
Каждый раз, когда вы изменяете параметры установки линии
терминала или добавляете новые элементы в файл gettydefs следу-
ет проверить, что новые значения удовлетворяют getty Чтобы сде-
лать это, используйте команду getty с возможностью проверки -с
и именем файла.
Например для проверки gettydefs введите:
getty -c /etc/gettydefs
- 14-14 -
Если любые из значений и параметров установки в файле
gettydefs не разрешены, getty -с отображает их на экране терми-
нала.
Дополнительная информация о getty и gettydefs содержится в
разделах getty(M) и gettydefs(F) документа User's Reference.
- 14-15 -
ИЗМЕНЕНИЕ РАБОТЫ ПОСЛЕДОВАТЕЛЬНОЙ ЛИНИИ
Когда вы "открываете" терминал командой enable, система
автоматически устанавливает рабочие характеристики последова-
тельной линии по умолчанию. Иногда эти значения не соответству-
ют величинам, используемым терминалом и поэтому должны менять-
ся, чтобы обеспечить связь между системой и терминалом. Можно
отобразить рабочие характеристики последовательной линии коман-
дой stty (set tty). Если нужно изменить характеристики "откры-
того" порта, следует использовать элементы в файле gettydefs, а
не команды stty, приведенные ниже.
Примечание
Любые параметры установки для порта, задаваемые командой
stty, действуют только до тех пор, пока рассматриваемый порт
открыт. Например, если вы хотите изменить скорость передачи
tty2a, а tty2a не "открыт", то сначала команда stty открывает
порт, далее изменяет параметры установки порта и окончательно
закрывает порт. Когда она закрывает порт последний раз, зна-
чения параметров установки восстанавливаются к своим первона-
чальным значениям. В командах stty позднее в данном разделе
используется цикл while для устранения такого поведения ко-
манды stty. Если вы выполняете stty перенаправляя вход с
</dev/ttyname, то она работает с текущей последовательной ли-
нией, которую вы открыли. В этом случае так как последова-
тельная линия остается открытой после выдачи команды stty,
значения параметров установки сохраняются.
Можно отобразить текущие рабочие характеристики последова-
тельной линии вводом этой команды с терминала, присоединенного
к этой линии:
stty
Если невозможно подключиться к системе с этого терминала,
вы можете использовать другой терминал для отображения характе-
ристик. Подключитесь к системе как суперпользователь с другого
терминала и введите:
Ъ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Ъ
приводит к тому, что система удаляет удаляемый символ с экрана
терминала, когда вы используете клавишу <BKSP>.
Заметим, что команда 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*' вы получите несколько линий, аналогичных:|
|# 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 обеспечивается лишь
Программа init передает режим линии программы
getty, как аргумент.
initial-flags устанавливают характеристики линии терминала,
когда программа getty первоначально устанавли-
вает связь. Программа getty распознает флаги,
- 14-9а -
перечисленные в termio(М) в документе User's
Reference. Часто единственным устанавливаемым
флагом в этом поле является флаг скорости пере-
дачи. Например В300 задает скорость передачи,
равную 300.
- 14-10 -
final-flags устанавливают характеристики линии терминала
(сразу перед тем, как программа getty вы-
полняет процедуру login. Эти флаги опи-
сывают рабочие характеристики для линии. Снова
устанавливается скорость передачи В. Другие
общие флаги включают SANE (составной флаг, ко-
торый устанавливает для ряда характеристик
терминала соответствующие значения, ТАВ3 (рас-
ширяет таблицы пробелами), IXANY (разрешает
любому символу выполнение рестарта выхода) и
HUPCL (перехватывает линию при конечном закры-
тии). Флаги могут вводиться в любом порядке.
login-prompt содержит сообщение LOGIN, выдаваемое пользова-
телю. Это поле печатается точно в том виде, в
каком оно вводится, включая пробелы и символы
табуляции. Символ "@" в поле подсказки login
расширяется в первой строке (или второй стро-
ке, если она имеется) в файле /etc/systemid
(если только символу @ не предшествует знак
'\').
Распознаются несколько последовательностей
символов, включая:
\n перевод строки \t табуляция
\r возврат каретки \f перевод формата
\v вертикальная табуляция \b пробел
\nnn (3 восьмеричных цифры)
заданные символы ASCII
next-label идентифицирует следующую метку в gettydefs для
getty для повторного выполнения, если предыду-
щее заканчивается неудачно. Getty переходит на
следующую метку, если пользователь нажимает
клавишу BREAK при попытке подключения к систе-
ме. Группы элементов, такие как коммутируемые
или TTY линии, должны образовывать закрытый
набор так, что getty переходит обратно к пер-
воначальному входу, если ни один из других
входов не выполняется успешно.
login-program имя программы, которая в действительности
подключает пользователей к системе. По умолча-
- 14-10а -
нию это программа /etc/login. Это поле являет-
ся выборочным.
Если присутствует ключевое слово AUTO, то
getty не выдает подсказку для имени пользова-
теля, но вместо этого использует имя устройс-
тва (то есть tty03) как имя пользователя и не-
медленно выполняет программу login.
- 14-11 -
Каждое поле разделяется знаком решетки (#) и каждый эле-
мент в gettydefs разделяется пустой строкой.
Элемент в gettydefs может выглядеть следующим образом:
4#B1200 SANE TAB3 HUPCL #login: #2#AUTO /etc/login new
Далее следует описание каждой части этой строки:
* число 4 идентифицирует этот элемент getty;
* следующее поле задает скорость передачи 1200;
* третье поле указывает скорость передачи (В1200), SANE
(составной флаг для ряда характеристик) и HUPCL (перех-
ват строки при конечном закрытии);
* login : появляется как подсказка login. Если это задание
не успешно, getty переходит к метке 2 в gettydefs;
* AUTO пытается подключить пользователя выполнением
/etc/login new.
Если последний элемент также содержит filename, то выпол-
няется программа login. (Заметим, что filename и соответствую-
щая программа login создаются пользователем). Например может
использоваться включение файла, такого как /etc/diаl_login для
линии, присоединенной к модему. Следует задать идентификатор
пользователя, назначить пароль, проверить пользователя и далее
назначить пользователя. При этом возможно потребуется пароль
для системы в добавление к учетному паролю, а также задание
специального набора переменных среды подключения, включенных в
/etc/default/dial_login.
Изменение файла gettydefs
Файл /etc/gettydefs задает наборы элементов для коммутиру-
емых линий и линий терминалов. Эти наборы элементов соответс-
твуют заданиям режимов линий в /etc/inittab. Программа init пе-
редает режим линии как аргумент для getty.
- 14-12 -
Можно редактировать gettydefs для добавления новых устано-
вок для терминала или изменения существующих. Например задание
установок для терминала может выглядеть следующим образом:
4 # B2400 HUPCL # B2400 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 5
5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 6
6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4
Для изменения файла-образца gettydefs таким образом, чтобы
getty пыталась использовать скорость передачи 1200 выполните
следующие действия:
1. Вызовите текcтовый редактор для редактирования первой
строки файла gettydefs.
2. Измените первое и третье поля с В2400 на В1200.
3. Сохраните gettydefs и выйдите из редактора.
Файл-образец будет выглядеть как в следующем примере:
4 # B1200 HUPCL # B1200 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 5
5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 6
6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4
Вы можете также добавить дополнительные задания для линии
терминала в gettydefs. Флаги и допустимые значения для заданий
для терминала перечислены в stty(C) документа User's Reference.
Когда вы добавляете новый элемент, убедитесь, что группы
элементов в gettydefs образуют закрытый набор, так что поле
next-label последнего элемента направляет getty обратно к пер-
вому элементу группы.
Для добавления элемента, задающего скорость передачи 300 в
предшествующем файле образце gettydefs выполните следующие ша-
ги:
1. Вызовите текстовый редактор для редактирования файла /etc/
gettydefs.
- 14-13 -
2. Найдите точку, где вы хотите поместить новые определения
установки для gettydefs. Порядок элементов не существенен;
getty только просматривает метку. В данном примере новый
элемент является последним элементом файла.
3. Поместите символ возврата каретки после последней строки в
файл и введите следующую новую строку
# B300 HUPCL # B300 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4
4. Для помещения метки 7 в набор меток измените поле
next_label для элемента с 6 на 7:
6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 7
Getty теперь направляется с метки 6 на метку 7 и далее об-
ратно на метку 4.
5. Завершите работу текстового редактора с сохранением изме-
ненного файла gettydefs.
Новый файл gettydefs выглядит следующим образом:
4 # B1200 HUPCL # B1200 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 5
5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 6
6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 7
7 # B300 HUPCL # B300 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4
Проверка параметров установки терминала
Каждый раз, когда вы изменяете параметры установки линии
терминала или добавляете новые элементы в файл gettydefs следу-
ет проверить, что новые значения удовлетворяют getty Чтобы сде-
лать это, используйте команду getty с возможностью проверки -с
и именем файла.
Например для проверки gettydefs введите:
getty -c /etc/gettydefs
- 14-14 -
Если любые из значений и параметров установки в файле
gettydefs не разрешены, getty -с отображает их на экране терми-
нала.
Дополнительная информация о getty и gettydefs содержится в
разделах getty(M) и gettydefs(F) документа User's Reference.
- 14-15 -
ИЗМЕНЕНИЕ РАБОТЫ ПОСЛЕДОВАТЕЛЬНОЙ ЛИНИИ
Когда вы "открываете" терминал командой enable, система
автоматически устанавливает рабочие характеристики последова-
тельной линии по умолчанию. Иногда эти значения не соответству-
ют величинам, используемым терминалом и поэтому должны менять-
ся, чтобы обеспечить связь между системой и терминалом. Можно
отобразить рабочие характеристики последовательной линии коман-
дой stty (set tty). Если нужно изменить характеристики "откры-
того" порта, следует использовать элементы в файле gettydefs, а
не команды stty, приведенные ниже.
Примечание
Любые параметры установки для порта, задаваемые командой
stty, действуют только до тех пор, пока рассматриваемый порт
открыт. Например, если вы хотите изменить скорость передачи
tty2a, а tty2a не "открыт", то сначала команда stty открывает
порт, далее изменяет параметры установки порта и окончательно
закрывает порт. Когда она закрывает порт последний раз, зна-
чения параметров установки восстанавливаются к своим первона-
чальным значениям. В командах stty позднее в данном разделе
используется цикл while для устранения такого поведения ко-
манды stty. Если вы выполняете stty перенаправляя вход с
</dev/ttyname, то она работает с текущей последовательной ли-
нией, которую вы открыли. В этом случае так как последова-
тельная линия остается открытой после выдачи команды stty,
значения параметров установки сохраняются.
Можно отобразить текущие рабочие характеристики последова-
тельной линии вводом этой команды с терминала, присоединенного
к этой линии:
stty
Если невозможно подключиться к системе с этого терминала,
вы можете использовать другой терминал для отображения характе-
ристик. Подключитесь к системе как суперпользователь с другого
терминала и введите:
Ъ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Ъ
приводит к тому, что система удаляет удаляемый символ с экрана
терминала, когда вы используете клавишу <BKSP>.
Заметим, что команда 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*' вы получите несколько линий, аналогичных:|
|# 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 обеспечивается лишь