Убойные фишки XTerm

Убойные фишки XTerm

Среда Cinnamon, в отличие от всех остальных десктопов, не имеет штатной программы — эмулятора терминала. Что, казалось бы, открывает простор для выбора того из них, который наиболее симпатичен конкретному применителю. Однако, в силу исторических причин, во всех известных нам её сборках в этом качестве используется GNOME Terminal. Не смотря на то, что выбор этот откровенно не оптимален, и мы с Мануалом до недавнего времени его придерживались — попытки экспериментировать с Terminix’ом (ныне Tilix’ом) и Terminator’ом чувства глубокого удовлетворения не вызвали.

Правда, собственно терминальное окно нужно нам с Мануалом крайне редко — в обыденной жизни нам удобнее применять, с одной стороны, выпадающий терминал Guake, с другой — встроенные терминалы файлового менеджера Nemo и текстового редактора Geany, и все эти три программы включаются в сборки Cintu с первых дней её жизни. Однако, во-первых, «полномерное» терминальное окно иногда таки нужно. А во-вторых, тот или иной терминал неизбежно установится как зависимость какого-то иного пакета — и чаще всего таким «зависимым» терминалом оказывается XTerm. В частности, в Cintu его обязательно тянет за собой Systemback, без которого наша система существовать не может.

В связи с этим и появилась мысль использовать XTerm в качестве штатного терминала Cintu — вместо терминала GNOME’вского (или какого иного). Правда, с «убойностью» его фишек — некоторая напряжёнка, большинство из них, так сказать, «антиубойны»: в нём не работает Drag&Drop, нет возможности Copy&Past’а стандартными комбинациями клавиш (типа Shift+Control+c/v), отсутствует поддержка Tab’ов… В общем, нет очень многого, привычного по современным «продвинутым» терминалам. Да к тому же ещё иногда неожиданно ведут себя управляющие и специальные клавиши.

Но самое главное — по умолчанию XTerm запускается в маленьком окошке, заполненном столь же маленькими символами, да ещё и неудобочитаемыми:

Впрочем, это препятствие преодолевается достаточно просто — с помощью так называемого файла Иксовых Ресурсов (X resources), о существовании которого многие старые применители забыли (каюсь, и я тоже), а новообращённые — могут и вовсе не знать: файл этот предназначен для настройки чисто Иксовых, внедесктопных, приложений, никаких других средств конфигурирования не имеющих. А XTerm как раз и является одним из таких приложений, запускаемых не просто в «голых» Иксах — но даже без малейших оконных менеджеров.

В современных системах файла X-ресурсов по умолчанию нет, так что первым делом он создаётся, например, так:

$ touch ~/.Xresources

После чего открывается в любимом текстовом редакторе и заполняется содержимым — настройками всего, что в нём нужно настроить. И что, повторяю, часто никаким другим способом настроить нельзя. И начинается это содержимое с таких строк:

!XTerm
!!!!!!

Здесь «восклицак» выполняет ту же функцию, что «решётка» в шелл-скриптах, то есть всё последующее за ним интерпретируется как комментарий. Слово XTerm призвано напомнить, о каком собственно приложении идёт речь. Мы не планируем настраивать через файл ресурсов что-то ещё — но ведь от сумы и от тюрьмы…

Следующая строка определяет «нормальное» поведение клавиши Alt — точнее, привычное по другим, более «продвинутым», терминалам:

XTerm.vt100.metaSendsEscape: true

Строки, отвечающие за включение полосы прокрутки, её ширину, положение с правой стороны экрана (по умолчанию скроллбар «левосторонний») и число прокручиваемых строк:

XTerm.vt100.scrollBar: true
XTerm.vt100.scrollbar.width: 10
XTerm.vt100.rightScrollBar:  true
XTerm.vt100.saveLines: 4096

Наконец черыте последние строки определяют внешний вид терминального окна — его размер (в символах), шрифт символов, их цвет и цвет фона:

XTerm.vt100.geometry: 90x25
XTerm.vt100.faceName: Noto Mono:size=14:antialias=true
XTerm.vt100.foreground: white
XTerm.vt100.background: black

Разумеется, возможности конфигурирования XTerm этим не исчерпываются. Но необходимости в каких-либо ещё настройках мы (пока?) не ощутили. А выполненные надо претворить в действительность, перечитав файл ~/.Xresources. Это происходит автоматически при перезапуске сеанса Иксов. Или — текущем сеансе, просто командой

$ xrdb ~/.Xresources

После чего окно XTerm приобретает следующий вид:

И здесь, в «нормальной» для глаз обстановке, обнаруживается та фича XTerm’а, которая показалась нам убойной — возможность простого выделения мышью группы строк, в том числе и находящихся за пределами последнего экрана. Для этого надо щёлкнут левой кнопкой мыши в начале выделяемого фрагмента, «прокрутить» строки до нужной и щёлкнуть в конце выделяемого фрагмента правой кнопкой. Причём в случае «неточного попадания в цель» размер выделяемого фрагмента можно скорректировать повторным ПКМ уже «где надо».

Выделенный таким образом фрагмент попадает в «мышиный» буфер (по научному именуемый Select to PRIMARY), откуда может быть вставлен в нужное место кликом средней кнопки мыши. Как уже упоминалось, «Иксовый» буфер (или Select to CLIPBOARD) в XTerm по умолчанию не поддерживается. Это положение можно изменить, но нас устраивает именно оно.

В отличие от упомянутых в начале очерка «антифич», эта оказалась для нас очень востребованной — ни в одном из использовавшихся нами ранее терминалов её нет, как нет её в Guake и встроенных терминалах Nemo и Geany. Почему XTerm вместо GNOME Terminal и был включён в последний пре-релиз Cintu 18.04 — и будет включён в окончательные её редакции.

image_pdfPDF

4 thoughts on “Убойные фишки XTerm

  1. Из перфекционизма. 65 тысяч строк кода (альтернативный rxvt c куда бОльшим функционалом вдвое легче), поддержка доисторических, давно никем не используемых мейнфреймов.. С одной стороны работает и ладно, с другой — если уж заморачиваться…

  2. > если уж заморачиваться…
    Вот и я к тому — не надо заморачиваться: лежит себе, никого не трогает, при случае примус починяет…
    А перфекционизм до добра не доводит: последние 5-7 лет показали, что всё новое, что способны изобрести перфекционисты — не более чем хорошо испорченное старое.

Добавить комментарий