XTERM - стандартный эмулятор терминала. Начальные сведения.
XTerm, оказывается, является одной из самых популярных программ в среде Х. На
первый взгляд текстовое окно оболочки, каким в действительности
является XTerm, в графической среде выглядит довольно странно. Однако
Х работает под управлением FreeBSD (Linux, OpenBSD - по вкусу), а нам необходимо иметь доступ к
ее окружению. Поэтому расскажу о нем немного подробнее...
Xterm обладает несколькими замечательными возможностями. Ты можешь:
- Одновременно запустить несколько окон xterm.
- Отрегулировать по вкусу размер каждого окна xterm.
- Изменить размер и цвет шрифтов, используемых xterm.
- Выполнять операции копирования/вставки текста между окнами xterm и других программ X.
- Использовать полосу прокрутки для просмотра текста, находящегося за пределами окна.
Хотя программа называется xterm, она в действительности не является
эмулятором терминала; это окно оболочки UNIX. Усвой это :)
Изменение размеров окна xterm
Размеры окна xterm проще всего регулируются с помощью параметра командной
строки -geometry:
$ xterm -geometry Width x Height &
Значение Width соответствует ширине окна в символах (и почти всегда
по-умолчанию равно 80), а значение Height - высоте окна (количеству
строк). Будем считать, что окно из 40 строк достаточно будет удобно
для нашей работы (по умолчанию в окне 24 строки).
Практически любая программа X поддерживает параметр командной строки
-geometry, но интерпретирует его совсем не так, как xterm (иначе
говоря, xterm тут выделился). Если в xterm этот параметр определяет
ширину и высоту окна в символах, то почти в любой другой программе он
интерпретируется как размер в пикселях. Об этом необходимо помнить,
если ты создаешь маленькие окна. Например, команда запуска xterm в
окне, состоящем из 80 столбцов (значение по умолчанию) и 40 строк,
будет выглядеть так:
$ xterm -geometry 80x40 &
В параметре -geometry также можно задать начальную позицию окна в
пикселях. Полный синтаксис команды в таком случае будет выглядеть так:
$ xterm -geometry WidthxHeight+X+Y &
Здесь X и Y определяют координаты левого верхнего угла окна программы
в пикселях. Началом координат считается левый верхний угол экрана,
поэтому следующая команда создает окно xterm, смещенное от левого
верхнего угла на 10 пикселей (по осям X и Y):
$ xterm -geometry 80x40+10+10 &
Как размеры (ширина и высота), так и координаты (X и Y) могут
пропускаться. Все приведенные ниже команды вполне допустимы:
$ xterm -geometry 80x40 &
$ xterm -geometry +10+10 & $ xterm &
Как видишь, все просто :)
Создание полосы прокрутки для xterm
По умолчанию в окно xterm не включается полоса прокрутки, хотя такая
возможность имеется. Давай осуществим это. Для включения полосы
используй параметр командной строки -sb:
$ xterm -sb &
Команда создает окно xterm с полосой прокрутки (обычно слева).
Полоса прокрутки xterm работает несколько необычно по сравнению с
мастдаем. Средняя кнопка мыши осуществляет прокрутку к нужной позиции.
Правая кнопка (при условии, что ты работаешь с трехкнопочной мышью)
выполняет прокрутку назад, а левая - вперед. Мне почти всегда удобно
использовать среднюю кнопку, ты выбирай сам.
В дополнение к параметру -sb можно запросить полосу прокрутки для
xterm в файле ресурсов X.
Файлы ресурсов X
Еще одно отличие графической среды X от Windows и Macintosh - файлы
ресурсов. Файлы ресурсов могут стать как твоим спасением, так и
проклятием. По аналогии с Windows и Macintosh файлы ресурсов X
позволяют настраивать шрифты, цвета и текстовые сообщения без
обращения к исходным текстам приложения. Ты можешь приказать
приложению использовать более удобный шрифт, избавиться от раздражающе
ярких цветов, использовать сообщения на русском языке вместо
английского, и даже настроить стандартные сообщения по своему
извраще... творческому вкусу :).
Файлы ресурсов X предоставляют собой мощный механизм для настройки
практически любого приложения X. Однако многие параметры могут
конфликтовать друг с другом, и в их подробностях нетрудно заблудиться.
Но ты не пугайся. По своей сути файл ресурсов X - это текстовый файл с
описанием рабочих параметров программы (или программ). В каждой строке
файла ресурсов указывается тип ресурса и его значение. Например, в
файле ресурсов X можно указать, что все окна xterm должны запускаться
с включенной полосой прокрутки (вскоре я покажу, как это делается).
Кроме того, в большинстве приложений X можно управлять шрифтами,
цветами и содержанием текстовых сообщений.
Чтобы поместить в файл ресурсов команду включения полосы прокрутки в
окне xterm, создай файл с именем XTerm (обрати внимание на регистр
символов!) в своем домашнем каталоге. Имя файла, XTerm, и его
местонахождение (домашний каталог пользователя) имеют здесь
принципиальное значение. Введи в файл следующие строки:
XTerm*scrollBar: True
XTerm*saveLines: 1000
Эти команды ресурсов X сообщают xterm о необходимости использовать
полосу прокрутки и хранить в буфере содержимое 1000 строк. Сохрани
файл и запусти окно xterm - ты увидишь в нем полосу прокрутки.
Выбор шрифтов и цветов
Шрифты и цвета xterm, как и большинство других рабочих параметров,
могут задаваться в параметрах командной строки и файлах ресурсов X.
Обычно в файле ресурсов указываются постоянно действующие параметры, а
в командной строке - редко используемые значения.
Обычно принята стандартная цветовая схема xterm - черный текст на
белом фоне, но шрифт хочется изменить. По умолчанию в xterm
используется шрифт с именем fixed, имеющий фиксированную ширину
символов (в отличие от пропорциональных шрифтов). Мне кажется, что он
слишком мелкий, поэтому желательно выбрать шрифт покрупнее.
Шрифт выбирается параметром командной строки -fn или устанавливается в
файле ресурсов. Во втором варианте в файл XTerm, созданный ранее,
добавляется следующая строка:
XTerm*font; -*-courier-medium-r-normal-14-140-*-*-fn-*-*
Звездочки (*) являются символами шаблона (wildcards) и позволяют X
выбрать для данного поля любое подходящее значение.
В результате xterm будет использовать более крупный и приятный (по
кpaйней мере, на мой взгляд) шрифт.
Какие шрифты можно использовать? Программа xlsfonts выводит список
всех доступных шрифтов. Для окна Х следует выбирать шрифт с
фиксированной шириной символов (моноширинный). Шрифты семейства
Courier, обычно имеют фиксированную ширину. В очень длинных именах
моноширинных шрифтов обычно присутствует суффикс m или с, как
показывает следующий пример (после двух 75):
-adobe-courier-medium-r-normal-14-140-75-75-m-90-iso8859-1
Помимо xlsfonts для выбора шрифтов можно воспользоваться графической
программой xfontsel. Выбери в xfontsel нужный шрифт и нажми кнопку
select. Теперь имя выбранного шрифта можно вставить в другое окно
(дополнительную информацию можно найти в следующем разделе,
посвященном операциям копирования/вставки между окнами xterm, которую
я покажу тебе немного позже).
Как обычно, внесенные изменения следует проверить. Сохрани свой файл
ХТеrm и запусти следующий экземпляр программы xterm.
В моем файле XTerm заданы следующие ресурсы:
!
! XTerm resource file
!
XTerm*foreground: gray
XTerm*cursorColor: darkgreen
XTerm*background: black
XTerm*scrollBar: True
XTerm*saveLines: 1000
XTerm*font: -*-courier-medium-r-normal-14-140-*-*-m-*-*
Строки, начинающиеся с восклицательного знака (!), являются
комментариями. В табл. перечислены самые распространенные параметры
командной строки xterm.
Параметр Назначение
--------- -------------
-bg цвет Цвет фона (по умолчанию - белый)
-cr цвет Цвет текстового курсора (по умолчанию - черный
-display имя_узла:0 Подключение к Х серверу на данном узле
-e программа [аргументы] Вместо оболочки в окне запускается программа
-fg цвет Цвет текста (по умолчанию - черный)
-fn имя шрифта Выбор указанного шрифта
-geometry геометрия Выбор размеров и местонахождения окна
-ls Запуск оболочки в режиме регистрации
-sb Включение полосы прокрутки
Параметр -ls применяется в случаях, если xterm при запуске выглядит
так, словно в нем не были выполнены сценарии запуска. Например, если
ты настроил нестандартное приглашение, а в окне xterm оно не
отображается, попробуй запустить xterm с параметром -ls.
Операции копирования/вставки между окнами xterm
Одно из преимуществ xterm перед консольными терминалами заключается в
том, что ты можешь копировать и вставлять текст в разные окна xterm.
Очень удобно при редактировании документов - в одном окне
просматриваешь какой-либо документ, в другом редактируешь свой,
копирую фрагменты текста между окнами.
Xterm обладает множеством настраиваемых параметров, но в стандартной
конфигурации текст выделяется нажатием левой кнопки мыши и
перетаскиванием указателя по выделяемому тексту. Двойной щелчок на
слове выделяет только это слово. Тройной щелчок в любой позиции строки
выделяет всю строку целиком. Вставка скопированного текста выполняется
средней кнопкой мыши. Текст вставляется так, словно был введен с
клавиатуры.
Xterm всего лишь создает окно оболочки. В этом окне можно запускать
текстовые программы оболочки, многие из которых ничего не знают о мыши
и о выделении текста. Значит, тебе нужно позаботится, чтобы запущенная
в окне xterm программа была готова принять вставленный текст.
Например, в текстовом редакторе vi переход в режим ввода
осуществляется командой i в командном режиме. vi не поддерживает
вставку средней кнопкой мыши, и это основательно напрягает. Поэтому,
чтобы вставить текст в vi, при нажатии средней кнопки мыши удерживай
нажатым Shift.
Ну да редко сейчас встретишь "чистый" vi - в основном во всех
дистрибутивах используется vim, расширенная версия vi. Vim полностью
поддерживают вставку текста в окнах xterm без тех трудностей, которые
возникают в vi.
Использование других программ-оболочек
Кроме вездесущего xterm можно найти и другие программы-оболочки, среди
которых ? color_xterm, rxvt. Если ты предпочитаешь цветную оболочку,
воспользуйся программой color_xterm ? она работает точно так же, как и
xterm, но обладает большими возможностями по работе с цветом.
Например, при выводе содержимого каталога командой ls color_xterm
выводит каталоги одним цветом, а обычные файлы ? другим.
Программа rxvt очень похожа на xterm. Многие утверждают, что она
занимает меньше памяти, но, IMHO, это не оправдывает ее странностей.
Из всех программ-оболочек я предпочитаю пользоваться xterm, потому что
она остается одинаковой во всех UNIX-системах, которыми я пользуюсь
дома и на работе. Что использовать тебе - выбирай сам :-).
P.S. При написании статьи использовался собственный опыт, чтение man'ов и
различные источники в сети, указать которые не представляется возможным из-за
их огромного количества и давностью времени.
Best regards,
Alexander
mailto:l0ner@am.krasair.ru
http://copi.ru/24592
Эта статья была прислана на
конкурс статей.
При перепечатке ссылка на
www.linuxrsp.ru обязательна.