rxvt-unicode (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
rxvt-unicode
. Дата последней синхронизации: 30 мая 2023. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
rxvt-unicode/Советы и хитрости
rxvt-unicode
— это очень настраиваемый
эмулятор терминала
, форк
rxvt
. Среди возможностей rxvt-unicode — поддержка многих языков через
Юникод
, прозрачность, способность отображать различные типы шрифтов и поддержка расширений
Perl
.
Установка
Установите
пакет
rxvt-unicode
.
Версия с поддержкой 24-битного цвета доступна в пакете
rxvt-unicode-truecolor
AUR
.
Настройка
Доступные настройки и значения описаны в
urxvt(1)
и
urxvt(7)
.
Xresources
Rxvt-unicode управляется с помощью аргументов командной строки или
Xresources
. Аргументы командной строки имеют приоритет над параметрами ресурсов. Смотрите статью
Ресурсы X
для более подробной информации.
urxvt --help
Отобразит все доступные ресурсы
rxvt
. Страница пользовательского руководства man page содержит полное объяснение каждого ресурса.
Позиция полосы прокрутки
По умолчанию, когда появляется вывод оболочки, вид прокрутки автоматически переходит к нижней части буфера для отображения нового вывода. Если вы хотите, увидеть предыдущий выход (например, сообщения компилятора), установите следующие параметры в
~/.Xresources
:
! Не прокручивать при выводе
URxvt*scrollTtyOutput: false

! прокручивать по отношению к буферу (прокрутка мышью или Shift+Page Up)
URxvt*scrollWithBuffer: true

! прокрутка по нажатию клавиши
URxvt*scrollTtyKeypress: true
Прокрутка буфера в дополнительном экране
Когда вы прокручиваете постранично во
вторичном экране
(например
less
без опции
-X
), будет хорошей идеей отключить прокрутку буфера, чтобы иметь возможность постранично прокручивать сам
вторичный экран
, а не буфер терминала: это неизменяемое поведение по умолчанию в konsole и терминалах на основе vte.
Чтобы отключить буфер прокрутки
вторичного экрана
в
urxvt
:
URxvt.secondaryScreen: 1
URxvt.secondaryScroll: 0
Эта настройка работает как и ожидалось, за исключением прокрутки колесом мыши. Когда вы листаете постранично
вторичный экран
колесом мыши - и там было что-то в буфере прокрутки вместо страницы
вторичного экрана
- колесом мыши будет прокручиваться буфер прокрутки. Чтобы решить эту проблему, необходимо ввести новый параметр в rxvt-unicode
[1]
. Патченный rxvt-unicode доступен в пакете
rxvt-unicode-better-wheel-scrolling
AUR
[
ссылка недействительна
: package not found]
. После его установки добавьте следующую строку в файл настроек:
URxvt.secondaryWheel: 1
Примечание
Не используйте эту опцию с Perl-расширением
urxvt-vtwheel
AUR
, так как они конфликтуют.
Методы декларации шрифта
URxvt.font: 9x15
Тоже самое что и:
URxvt.font: -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1
И, для того же шрифта bold (толстый):
URxvt.font: 9x15bold
Тоже самое что и:
URxvt.font: -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1
Полный список коротких имен для основных шрифтов X может быть найден в
/usr/share/fonts/misc/fonts.alias
(также есть файлы fonts.alias в некоторых других подкаталогах
/usr/share/fonts/
, но они упакованы отдельно от реальных шрифтов, и могут перечислять шрифты которые на самом деле не установлены). Стоит отметить, что эти короткие псевдонимы выбираются для версии ISO-8859-1 а не версии ISO-10646-1 (Юникод), и скорее версии 75 DPI чем 100 DPI, так что лучше избегать их, и вместо них выбирать шрифты по полному имени.
Примечание
Пункт выше только для растровых шрифтов. Другие шрифты могут быть использованы через Xft, используя следующий формат:
URxvt.font: xft:monaco:size=10
Или
URxvt.font: xft:monaco:bold:size=10
Примечание
Если есть дефис (
-
) в имени шрифта Xft, он должен быть экранирован обратным слэшем (
\
) дважды. Это отличается от использования опции
urxvt -fn
и от вывода команды
fc-list
, в которой обратный слэш всего один.
Хорошим способом для тестирования шрифтов прямо в терминале до совершения изменений в файле настроек является вывод escape-кодов в терминале, например:
$ printf '\e]710;%s\007' "xft:Terminus:pixelsize=12"
Расстояние шрифта
По умолчанию, расстояние между символами слишком широкое. Это контролируется параметром:
~/.Xresources
URxvt.letterSpace: -1
Существуют некоторые споры
[2]
[3]
о том, как
urxvt
рассчитывает ширину символов.
rxvt-unicode-patched
AUR
[
ссылка недействительна
: package not found]
изменяет расчёт, обычно приводя к более узкому расстоянию между символами.
Цвета
По умолчанию, rxvt-unicode собран с поддержкой цвета. В дополнении к стандартным цветам переднего плана и цвету фона, rxvt может отображать до 256 цветов (плюс high-intensity bold/blinking/underlined (высокоинтенсивный жирный/мигающий/подчёркнутый) и любое сочетание из них).
Также можно указать значения цветов foreground (передний план/шрифт), background (фон), cursorColor (цвет курсора), cursorColor2 (цвет курсора2), colorBD, colorUL как число 0-15 — удобное сокращение ссылки на цвет color0-color15. Смотрите
#Xresources
для более подробной информации.
Примечание
По умолчанию
urxvt
использует те же цвета, что и
Xterm
, за исключением одного. Добавьте
URxvt.color12: rgb:5c/5c/ff
в Xresources, чтобы изменить это.
Печать
По умолчанию rxvt-unicode распечатывает дамп экрана через lpr при нажатии
PrintScreen
. При использовании
Ctrl+PrintScreen
или
Shift-PrintScreen
в распечатку также будет включена обратная прокрутка терминала. Это поведение можно изменить или полностью отключить, исходя из личных предпочтений и потребностей.
~/.Xresources
! Запрет печати содержимого терминала при нажатии PrintScreen.
URxvt.print-pipe: "cat > /dev/null"
Применение настроек
После изменения настроек выполните
xrdb ~/.Xresources
для их применения. Новые настройки применяется к новым терминалам.
Вырезать и вставить
Rxvt-unicode использует буферы вырезания, которые по умолчанию загружаются в буфер
PRIMARY
. Смотрите
Selecting and pasting text
для более подробной информации.
Доступ к буферу
CLIPBOARD
можно получить с помощью сочетаний клавиш
ALT-CTRL-c
и
ALT-CTRL-v
для копирования и вставки соответственно.
Примечание
Выделенный текст автоматически копируется в буфер
PRIMARY
.
Perl-расширение
selection-to-clipboard
, доступное с версии
rxvt-unicode
9.20, также копирует текст в буфер
CLIPBOARD
.
Если вы хотите скопировать в буфер
PRIMARY
, а также убедиться, что в буфер
CLIPBOARD
помещается то же содержимое, вы можете добавить следующее:
URxvt.perl-ext-common:  ...,selection-to-clipboard,...
и
URxvt.clipboard.autocopy: true
URxvt.keysym.M-c: perl:clipboard:copy
URxvt.keysym.M-v: perl:clipboard:paste
Смотрите также
Буфер обмена#Менеджеры
.
Perl расширения
Вы можете включить расширения perl в URxvt с помощью такой строки:
URxvt.perl-ext-common: имя_расширения_1,имя_расширения_2,...
Обратите внимание, что между именами расширения
не
должно быть пробелов.
Кликабельные ссылки (URL-адреса)
Вы можете сделать URL-адреса в терминале кликабельными, используя расширение matcher. Например, для открытия ссылок в веб-браузере по умолчанию левой кнопкой мыши, добавьте следуюшее в
.Xresources
:
URxvt.perl-ext-common: default,matcher
URxvt.url-launcher: /usr/bin/xdg-open
URxvt.matcher.button: 1
С rxvt-unicode 9.14, также можно использовать matcher для открытия списка последних (в настоящее время ограничено до 10) URL-адресов с помощью клавиатуры:
URxvt.keysym.C-Delete: perl:matcher:last
URxvt.keysym.M-Delete: perl:matcher:list
Соответствующие ссылки могут быть окрашены с помощью
#Цвета
переднего плана (foreground) или фона (background), например, в синий:
URxvt.matcher.rend.0: Uline Bold fg5
В качестве альтернативы, используйте
colorUL
для цвета #RRGGBB. Это, окрасит весь подчеркнутый текст, только для ссылок matches:
URxvt.colorUL: #4682B4
Yankable URL'ы (без мыши)
Кроме того, вы можете выбрать и открыть URL в веб-браузере, не используя мышь.
Установите пакет
urxvt-perls
и настройте как надо
.Xresources
. Пример показан ниже:
URxvt.perl-ext: default,url-select
URxvt.keysym.M-u: perl:url-select:select_next
URxvt.url-select.launcher: /usr/bin/xdg-open
URxvt.url-select.underline: true
Примечание
Это расширение заменяет вышеупомянутое расширение Clickable URLs, так что
matcher
можно удалить из списка
URxvt.perl-ext
.
Основные команды:
Клавиша
Описание
Alt+u
Вход в режим выбора. Будет выбран последний URL на вашем экране. Вы можете повторить
Alt+u
для выбора следующего upward URL.
k
Select next upward URL
j
Select next downward URL
Return
Открыть выбранный URL в браузере и выйти из режима выбора
o
Открыть выбранный URL в браузере без выхода из режима выбора
y
Скопировать (yank) выбранные URL выйти из режима выбора
Esc
Отменить режим выбора URL
Простые вкладки
Чтобы добавить вкладки в urxvt, добавьте следующую строку в ваш
~/.Xresources
:
URxvt.perl-ext-common: ...,tabbed,...
Для управления вкладками используйте:
Клавиши
Описание
Shift+Down
Новая вкладка
Shift+Left
Перейти к левой вкладке
Shift+Right
Перейти к правой вкладке
Ctrl+Left
Переместить вкладку влево
Ctrl+Right
Переместить вкладку вправо
Ctrl+d
Закрыть вкладку
Вы можете изменить цвета вкладок, следующими значениями:
URxvt.tabbed.tabbar-fg: 2
URxvt.tabbed.tabbar-bg: 0
URxvt.tabbed.tab-fg: 3
URxvt.tabbed.tab-bg: 0
Если вам нужно переименовать вкладку, вам, вероятно, лучше установить
urxvt-tabbedex
AUR
.
Полноэкранный
Вы можете установить пакет
urxvt-fullscreen
AUR
, а затем назначить клавишу (или сочетание клавиш), чтобы привести urxvt в полноэкранный режим.
~/.Xresources
...
URxvt.perl-ext-common: ...,fullscreen,...
URxvt.keysym.F11: perl:fullscreen:switch
...
Изменение размера шрифта на лету
Установите
urxvt-resize-font-git
AUR
и добавьте его список расширений Perl в файле
~/.Xresources
:
URxvt.perl-ext-common:  ...,resize-font,...
Горячие клавиши по умолчанию:
Ctrl++
(или
Ctrl+Shift+=
) — увеличить размер
Ctrl+-
— уменьшить размер
Ctrl+=
— сбросить размер
Ctrl+?
— посмотреть текущий размер
Горячие клавиши можно изменить, например, так:
URxvt.keysym.C-Down:  resize-font:smaller
 URxvt.keysym.C-Up:    resize-font:bigger
Чтобы заработало назначение Ctrl+Shift, нужно сперва отключить стандартные назначения (смотрите обсуждение
здесь
):
URxvt.iso14755: false
 URxvt.iso14755_52: false
Подтверждение вставки
Расширение
confirm-paste
включено по умолчанию и отображает диалог подтверждения при попытке вставить текст, содержащий управляющие символы.
Отключить его можно следующим образом:
URxvt.perl-ext-common:-confirm-paste
Отключение расширений Perl
Если вы не используете функции расширения Perl, вы можете улучшить безопасность и скорость, отключив расширения Perl полностью.
URxvt.perl-ext:
URxvt.perl-ext-common:
Чтобы выборочно отключить расширение, укажите имя расширения с дефисом перед ним. Например:
Urxvt.perl-ext-common:-extension
Примечание
Если вы используете несколько возможностей расширения Perl, вы можете указать их последовательно, разделяя запятыми:
URxvt.perl-ext-common:default,matcher,tabbed
Решение проблем
Прозрачность не работает после обновления, начиная с версии 9.09
Разработчики rxvt-Unicode удалили код совместимости для многих нестандартных установщиков обоев с этим обновлением. Использование несовместимых установщиков обоев, ломает поддержку прозрачности. Рекомендуемые установщики обоев:
feh
hsetroot
esetroot
Для того, чтобы работала истинная прозрачность, убедитесь что закомментированы URxvt.tintColor и URxvt.inheritPixmap.
Удалённые хосты
При подключении к удалённому хосту вы можете столкнуться с проблемами при запуске программ в текстовом режиме под rxvt-unicode. Это можно исправить путём установки
rxvt-unicode-terminfo
на удалённом хосте или с помощью копирования
/usr/share/terminfo/r/rxvt-unicode
с локального компьютера на ваш хост в
~/.terminfo/r/rxvt-unicode
; то же самое для rxvt-unicode-256color.
Некоторые удалённые системы не изменяют название автоматически, если вы не укажете TERM=xterm. Для решения добавьте на удалённой машине в .bashrc строку:
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD}\007"'
Ещё можно попробовать добавить в .Xresources:
URxvt*termName: rxvt
Это полезно при подключении к удалённым хостам, на которых отсутствуют права администратора и нет возможности установить определения terminfo для rxvt-unicode.
Использование rxvt-unicode в качестве терминала gmrun
В отличие от некоторых других терминалов, urxvt ожидает аргументы
-e
определённые отдельно, а не сгруппированные вместе с кавычками. Это вызывает проблемы с
gmrun
, который предполагает противоположное поведение. Это можно обойти, указав "eval" перед значением терминала в
.gmrunrc
:
Terminal = eval urxvt
TermExec = ${Terminal} -e
(gmrun использует
/bin/sh
чтобы выполнять команды, так что "eval" здесь понимается.) "eval" имеет побочный эффект "разрыва" аргументов
-e
таким же образом, что
$@
делает в
Bash
, что делает команды понятными для urxvt.
Моя цифровая клавиатура действует странно и производит странный вывод (например, в VIM)
Похоже, есть проблема у некоторых пользователей Debian GNU/Linux, хотя никаких конкретных подробностей не сообщалось. Вполне возможно, что это вызвано установкой неправильного TERM, хотя подробностей, как это может произойти, неизвестно, так как TERM=rxvt должен предложить совместимую раскладку.
Тем не менее, с помощью программы
xmodmap
(
xorg-xmodmap
), вы можете переназначить клавиши цифровой клавиатуры обратно.
1. Посмотрите в
xev
код клавиши (keycode), который генерирует ваша цифровая клавиатура.
Запустите программу
xev
Нажмите цифру на вашей цифровой клавиатуре, смотрите
... keycode xxx ...
в выводе
xev
. Например, клавиша 1 на некоторых клавиатурах также известна как калавиша "End", что имеет '
keycode 87'
.
2. Создайте или измените ваш файл xmodmap, обычно
~/.Xmodmap
, с содержимым, представляющим свой код клавиш.
Пример Xmodmap файла с номером keycode:
keycode 63 = KP_Multiply
keycode 79 = Home KP_7
keycode 80 = Up KP_8
keycode 81 = Prior KP_9
keycode 82 = KP_Subtract
keycode 83 = Left KP_4
keycode 84 = KP_5
keycode 85 = Right KP_6
keycode 86 = KP_Add
keycode 87 = End KP_1
keycode 88 = Down KP_2
keycode 89 = Next KP_3
keycode 90 = Insert KP_0
keycode 91 = Delete KP_Decimal
keycode 112 = Prior
keycode 117 = Next
3. Загрузите ваш файл xmodmap при запуске X сессии.
Например добавьте в файл
~/.xinitrc
:
...
xmodmap ~/.Xmodmap
...
Горячие клавиши не работают
Смотрите
Get Alt key to work in terminal
.
Низкая производительность при рисовании глифов
Некоторые программы, такие как alsamixer и xprop не хорошо выполняются с некоторыми графическими драйверами, и как следствие перерисовывают очень медленно. Опция "skipBuiltinGlyphs" в
~/.Xresources
или параметр командной строки
-sbg
может это исправить. Одним из возможных решений является добавление следующей строки в
~/.Xresources
:
URxvt*skipBuiltinGlyphs:    true
Очень длинные строки замедляют работу
Виновником может быть плагин
matcher
. Он сопоставляет каждую строку с регулярным выражением, и, если у вас большое значение
saveLines
, это может усугубить проблему.
Есть несколько простых обходных путей:
Уменьшить
saveLines
Отключить плагин
matcher
Если ни один из этих вариантов не устраивает, можно пойти на компромисс, отключив сопоставление URL после определённой точки отсечения:
Скопируйте
/usr/lib/urxvt/perl/matcher
в
~/.urxvt/ext/
(создайте каталог, если его ещё нет)
В файле
~/.urxvt/ext/matcher
найдите строку
my ($self, $row) = @_;
в
on_line_update
sub. Это должна быть строка 270.
После этой строки вставьте
return () if $row < -100;
. Это отключает сопоставление URL в любой строке, которая начинается более чем на 100 строк дальше верхней границы терминала.
Смотрите также
rxvt-unicode
- Официальный сайт
Source Code
- Browseable CVS
rxvt-unicode FAQ
- Оффициальные ЧАВО
rxvt-unicode Reference
- Официальная страница руководства
urxvtperl
- Официальная справка расширений Perl