Организация UNIX-систем и ОС Solaris

Понятие терминала


Терминал - это экран и клавиатура, с помощью которых осуществляется связь с компьютером.

Терминалы бывают графические и текстовые. Графические терминалы могут работать и в графическом, и в текстовом режиме.

Терминал предназначен исключительно для ввода информации и ее отображения на экране. Терминалы бывают физическими (еще их называют реальными), виртуальными и псевдотерминалами (т.е. программами, которые "притворяются" терминалами).

Физический терминал - это устройство, состоящее из экрана и клавиатуры, обычно подключенное к компьютеру через последовательный интерфейс, например, с помощью кабеля или модема. Если вы соединяетесь с UNIX-машиной с помощью эмулятора терминала через модем своего компьютера, позвонив на другой модем, подключенный непосредственно к UNIX-машине, то с точки зрения UNIX вы работаете на физическом терминале. В этом случае связка модем - телефонная сеть - модем рассматривается как единый кабель.

В старых версиях Solaris неофициально поддерживались виртуальные терминалы. В версии 9 эта поддержка отсутствует. Основа виртуального терминала - это монитор и клавиатура, непосредственно подключенные к компьютеру. Однако, хотя монитор всего один, виртуальных терминалов может быть несколько. Вы можете по очереди работать с разными виртуальными терминалами, нажимая клавиши Alt-Fх, где х - номер терминала. С монитором и клавиатурой связано несколько независимых виртуальных терминалов. При работе в графическом режиме надо использовать клавиши Ctrl-Alt-Fn для переключения между виртуальными терминалами.

Виртуальные терминалы, как правило, текстовые, хотя один из них может быть графическим.

Виртуальные терминалы чаще всего используются в компьютерах на платформе i386, потому что терминалы, подключаемые к компьютерам на других платформах, обычно постоянно работают в графическом режиме, а в этом режиме вместо нескольких виртуальных терминалов проще открыть несколько окон эмуляторов терминала. Виртуальные терминалы широко используются в Linux и FreeBSD.

При работе с графическим терминалом для получения нескольких терминалов достаточно просто открыть несколько окон и в каждом из них запустить терминальную программу. Так, в Solaris можно запустить несколько приложений, обозначенных в меню CDE как "console". Программа, которая запускается при выборе приложения "console", называется dtconsole. Выбрав в меню "This host", вы запустите терминальную программу dtterm.

Консоль - это терминал, который используется для загрузки операционной системы.

Проще говоря, если системный администратор при загрузке использует некий терминал для наблюдения за процессом загрузки и (возможно) вмешательства в него, то этот терминал называется консолью. Для UNIX-систем консоль - это либо непосредственно подключенный к компьютеру монитор и клавиатура, либо подключенный к первому последовательному порту терминал. В приложении к виртуальным терминалам консолью является первый виртуальный терминал (Alt-F1).

Псевдотерминал - это программа-эмулятор терминала, которая соединяется с UNIX-компьютером через сеть или запускается в графическом режиме (например, dtterm).

Любой терминал (физический, виртуальный или псевдотерминал) может быть графическим. Эмулятор графического терминала базируется на программе X-Server. Подробнее об X-серверах и системе X-Window - в лекции 15 курса "Администрирование ОС Solaris".

Текстовые терминалы могут отображать только текст и псевдографику. Мы будем рассматривать значительную часть команд Solaris в предположении, что мы работаем с текстовым терминалом. В то же время, когда в Solaris доступна и полезна программа с графическим интерфейсом, которая часто нужна системному администратору в работе, мы будем рассматривать и такие случаи.

Существует большое количество разных текстовых терминалов. Наиболее известны терминалы ANSI и VT-100. Разные терминалы отличаются друг от друга управляющими последовательностями. Например, чтобы передать терминалу команду "поднять курсор на одну строку вверх", терминалу VT-100 нужно передать последовательность <Esc>[A. Описания терминалов (и соответствующих управляющих последовательностей) содержатся в файле /etc/termcap и базе данных в подкаталогах /usr/share/lib/terminfo.

Переменная среды окружения TERM должна иметь значение типа терминала, на котором вы работаете. Возможно, ее придется переопределить, если в начале вашей работы система неверно определила тип вашего терминала. Фактический тип вашего терминала может отличаться от того, что принят в системе по умолчанию. Переопределение выполняется путем присваивания переменной нужного значения:


TERM='VT100'; export TERM

Вывести на экран значение переменной TERM можно командой

echo $TERM

Если переменная TERM определена неверно, терминал будет вести себя непредсказуемо. Например, при нажатии Enter не произойдет перевода строки, или при нажатии стрелки "вверх" на экране появится [[A, а курсор вверх не сдвинется. Некоторые терминалы практически совместимы между собой, например, ANSI и VT-100. Однако отдельные управляющие последовательности могут не совпадать. Поэтому лучше, чтобы в TERM был записан тип именно того терминала, на котором вы работаете.

Таблица 2.1. Управляющие комбинации клавиш
Ctrl-Cпрерывание выполнения программы (termination)
Ctrl-Dконец ввода текста
Ctrl-Sостановка вывода на экран
Ctrl-Qпродолжение вывода на экран
Ctrl-Uстирание введенной строки
Ctrl-Zостановка выполнения программы (suspend)
<backspace>удаление последнего введенного символа

Содержание раздела