Операционная система Linux

Эмулятор терминала


С графикой или без, основным интерфейсом управления Linux была и остается командная строка. X11, предлагая иной способ взаимодействия с компьютером, не должна лишать пользователя возможности работать с самой системой испытанным и эффективным методом – через терминал. Поэтому первое совершенно необходимое X-приложение должно предоставлять возможность доступа к терминалу в X Window System.

Задача дать пользователю X11 командную строку решается довольно легко. Нужно завести X-приложение, окно которого работает аналогично


Рис. 16.5.  Эмулятор терминала для X11 – xterm

окну терминала: передает символьную информацию от пользователя системе и обратно. Делается это уже описанным в лекции Mount-механизмом псевдотерминалов tty/pty (или pts/ptmx): X-приложение получает во владение специальное устройство типа pty, связанное по вводу и выводу с терминальным устройством типа tty, с которым работает shell. Общее название таких программ – эмулятор терминала для X11 (xterm). Мефодий может запустить xterm все из той же виртуальной консоли, в которой определено значение переменной окружения DISPLAY, и получить доступ к командной строке уже из графической оболочки.

В левом верхнем углу открылось окно xterm, которое легло "поверх" открытого ранее xcalc. В открывшемся окне xterm Мефодий увидел привычное приглашение командной строки bash: теперь из этой командной строки можно выполнять любые команды, в том числе и запускать новые X-приложения, например, еще один xterm. Чтобы при этом избежать наложения окон друг на друга, можно запустить xterm с параметром "-geometry +150+150", что заставит X-сервер выдать ему окно, верхний левый угол которого отстоит на 150 экранных точек (пикселей) от левой границы экрана, и на те же 150 – от верхней. В этом xterm значение DISPLAY унаследовано от родительского процесса и равно ":0", так что окна всех запущенных из него X-приложений откроются на этом же экране.

Не следует путать программу xterm со способом организации рабочей станции (так называемый "X-терминал"): термины эти созвучны, но относятся к разным областям знаний. Нередко бывает, что на экране X-терминала (компьютера) есть окно терминала X11 (программы xterm). XTerm передает сигналы как настоящий терминал, имеет богатый набор управляющих последовательностей (унаследованный от устройства "DEC VT102/VT220"), а вдобавок позволяет воспользоваться всеми преимуществами графической среды: выбрать шрифт, запомнить текст на экране (даже тот, который уже исчез с экрана) и многое другое.

Кстати сказать, копирование текста при помощи мыши – свойство не только XTerm. На самом деле любое окно, зарегистрированное в X11 как текстовое, позволяет отметить (при постоянно нажатой первой кнопке или последовательными нажатиями третьей) часть текста. Выделенный текст можно немедленно вставить в любое окно текстового ввода нажатием второй кнопки. Утилита xcutsel предоставляет возможность работы с буфером обмена cutbuffer), в котором текст может храниться сколь угодно долго.



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