Все о Linux. LinuxRSP.Ru


 Новые статьи
 за август-сентябрь 2003:



   Дистрибутивы и атрибутика

FreeBSD 5.1, 2CD

Slackware Linux 9.0, 4CD

SuSe Linux Professional 8.2, 7CD+2DVD

Red Hat Linux 9 Cyrillic Edition, 4CD

Бейсболка root

Sound Factory, 1CD

KNOPPIX 3.2 Russian Edition Summer 2003, 1CD

OpenBSD 3.3, 3CD

Кружка root

Демоненок BSD





Rambler's Top100

 
 

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 обязательна.

Связь | О проекте LinuxRSP | Реклама
© 1999-2003 LinuxRSP