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

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Rxvt-unicode. Дата последней синхронизации: 29 марта 2016. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

rxvt-unicode это очень настраиваемый эмулятор терминала ответвлённый от rxvt. Обычно известный как urxvt, rxvt-unicode может быть демонизирован для запуска клиентов в рамках одного процесса для того, чтобы свести к минимуму использование системных ресурсов. Некоторые из наиболее выдающихся особенностей rxvt-Unicode включают международную языковую поддержку через Юникод, способность отображать различные типы шрифтов и поддержку расширений Perl. Разработан Марк Леманном и сообществом разработчиков.

Установка

Установите пакет rxvt-unicode.

Настройка

Смотрите доступные настройки и значения urxvt(1) и urxvt(7).

Создание ~/.Xresources

Rxvt-unicode управляется с помощью аргументов командной строки или ресурсами Х. Аргументы командной строки переопределяют, и имеют приоритет над параметрами ресурсов. Смотрите статью Ресурсы Х urxvt --help Отобразит все доступные ресурсы rxvt. Страница пользовательского руководства man page содержит полное объяснение каждого ресурса.

Полоса прокрутки

Внешний вид полосы прокрутки может быть выбраны через эту запись в ~/.Xresources:

! стиль полосы прокрутки - rxvt (по умолчанию), plain (самый компактный), next, или xterm
URxvt.scrollstyle: rxvt

Полоса прокрутки может быть полностью отключена:

URxvt.scrollBar: false

Позиция полосы прокрутки

По умолчанию, когда появляется вывод оболочки, вид прокрутки автоматически переходит к нижней части буфера для отображения нового вывода. Если вы хотите, увидеть предыдущий выход (например, сообщения компилятора), установите следующие параметры в ~/.Xresources:

! Не прокручивать при выводе
URxvt*scrollTtyOutput: false

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

! прокрутка по нажатию клавиши
URxvt*scrollTtyKeypress: true

Прокрутка буфера в дополнительном экране

Когда вы прокручиваете постранично во вторичном экране (например less без опции-X), будет хорошей идеей отключить прокрутку буфера, чтобы иметь возможность прокручивать именно постранично вторичный экран, а не буфер терминала: это неизменено по умолчанию в терминалах на основе vte. Чтобы отключить буфер прокрутки второго экрана в urxvt:

URxvt.secondaryScreen: 1
URxvt.secondaryScroll: 0

Эта настройка работает как и ожидалось, за исключением прокрутки колесом мыши. Когда вы листаете постранично "вторичный экран" колесом мыши - и там было что-то в буфере прокрутки - вместо страницы вторичного экрана колесом мыши будет прокручиватся буфер прокрутки. Чтобы решить эту проблему, необходимо ввести новый параметр в rxvt-unicode[1]. Патченный rxvt-unicode доступен в пакете rxvt-unicode-better-wheel-scrollingAUR. После его установки добавьте следующие строки в файл настроек:

URxvt.secondaryWheel: 1
Примечание: Пожалуйста, не используйте эту опцию с расширением Perl vtwheel: это приведёт к беспорядку

Методы декларации шрифта

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

Полный список коротких имен для основных шрифтов Х может быть найден в /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*font: xft:Inconsolata\\-\\dz for Powerline:size=12

Это отличается от использования варианта опции urxvt -fn которая возвращает результат fc-list, где (\) указан только один раз.

  • Вы увидите новый шрифт только при перезапуске сервера Х.

Хороший способ для тестирования шрифтов прямо в терминале до совершения изменений в файле настроек, является вывод escape-кодов в терминале, например:

$ printf '\e]710;%s\007' "xft:Terminus:pixelsize=12"

Самый лучший шрифт для urxvt это DejaVu Sans Mono. Включить его можно так:

URxvt*font: xft:DejaVu Sans Mono:size=12

Он не требует указания URxvt.letterSpace и поэтому выглядит хорошо.

Расстояние шрифта

По умолчанию, расстояние между символами слишком широкое. Это контролируется параметром:

~/.Xresources
URxvt.letterSpace: -1

Здесь -1 уменьшается расстояние от одного пикселя, при необходимости можно регулировать.

Цвета

По умолчанию, rxvt-unicode собран с поддержкой цвета. В дополнении к стандартным цветам переднего плана и цвету фона, rxvt может отображать до 256 цветов (плюс high-intensity bold/blinking/underlined (высокоинтенсивный жирный/мигающий/подчёркнутый) и любое сочетание из них).

Образец ~/.Xresources для urxvt терминала с цветами по умолчанию, белые шрифты на чёрном фоне написаны как и следует:

~/.Xresources
! Background color
URxvt*background: black

! Цвет шрифта
URxvt*foreground: white

! Другие цвета
URxvt*color0: black
URxvt*color1: red3
URxvt*color2: green3
URxvt*color3: yellow3
URxvt*color4: blue2
URxvt*color5: magenta3
URxvt*color6: cyan3
URxvt*color7: gray90
URxvt*color8: grey50
URxvt*color9: red
URxvt*color10: green
URxvt*color11: yellow
URxvt*color12: blue
URxvt*color13: magenta
URxvt*color14: cyan
URxvt*color15: white

Также можно указать значения цветов foreground (передний план/шрифт), background (фон), cursorColor (цвет курсора), cursorColor2 (цвет курсора2), colorBD, colorUL как число 0-15, - удобное сокращение ссылки на цвет color0-color15. Смотрите #Создание ~/.Xresources для создания комментированного файла ~/.Xresources для urxvt.

Вырезать и вставить

Примечание: При использовании терминального мультиплексора, urxvt (или любой эмулятор терминала) интеграция CLIPBOARD не будет эффективной, поскольку будет невозможно выбрать весь нужный текст в прямом режиме или вообще, в некоторых случаях (например, когда активный мультиплексированный терминал меняется на другой, а затем происходит возврат к первоначальному, и один выбирает текст сверх того, что можно видеть, что вызывает текст из другого терминала, который будет отображаться). Очевидно, что это связано с тем, что эмулятор терминала не способен различать мультиплексированные терминалы. Таким образом, было бы излишне эффективно для тех, кто всегда использует терминальный мультиплексор, способный прокручивать буфер прокрутки и интеграцию с CLIPBOARD (например tmux c индивидуальными горячими клавишами) для интеграции CLIPBOARD с urxvt.

Для пользователей, незнакомых с методами передачи данных Xorg, обмен информацией из rxvt-unicode может стать обузой. Достаточно сказать, что rxvt-unicode использует путь буфера который обычно загружается в текущем PRIMARY выборе по умолчанию. [2] Пользователи призывают пересмотреть Wikipedia:X Window selection для получения дополнительной информации.

Perl расширения

Tango-preferences-desktop-locale.pngЭта статья или раздел нуждается в переводеTango-preferences-desktop-locale.png

Примечания: Плохой стиль в оригинальной статье (обсуждение: Talk:Rxvt-unicode (Русский)#)

Вы можете включить расширения 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-fullscreenAUR, а затем назначить клавишу (или сочетание клавиш), чтобы привести urxvt в полноэкранный режим.

~/.Xresources
...
URxvt.perl-ext-common: ..., fullscreen, ...
URxvt.keysym.F11: perl:fullscreen:switch
...

Поддержка колеса прокрутки

Установите urxvt-vtwheelAUR и добавьте его в ваше расширение Perl внутри ~/.Xresources:

 URxvt.perl-ext-common:  ...,vtwheel,...

Изменение размера шрифта на лету

Установите urxvt-resize-font-gitAUR и добавьте его в ваше расширение Perl внутри ~/.Xresources

 URxvt.perl-ext-common:  ...,resize-font,...

и добавьте некоторые горячие клавиши, например, как эти:

 URxvt.resize-font.smaller: C-Down
 URxvt.resize-font.bigger: C-Up

Для назначения работы Ctrl+Shift, по умолчанию необходимо отключить назначение (binding)(обсуждение см здесь):

 URxvt.iso14755: false
 URxvt.iso14755_52: false

Отключение расширений Perl

Если вы не используете функции расширения Perl, вы можете улучшить безопасность и скорость, отключив расширения Perl полностью.

URxvt.perl-ext:
URxvt.perl-ext-common:
Примечание: Если вы используете несколько возможностей расширения Perl, вы можете перечислить их в последовательности, разделяя запятыми: URxvt.perl-ext-common:default,matcher,tabbed.

Цвета как в Xterm

По умолчанию urxvt использует те же цвета xterm кроме одного. Добавьте следующую строку в конце вашего ~/.Xresources для цветов как в xterm:

~/.Xresources
...
URxvt*color12: rgb:5c/5c/ff

а затем объедините его содержимое с текущей настройкой X resources:

xrdb -merge ~/.Xresources

и перезапустите urxvt.

Решение проблем

Настройки ~/.Xresources не применяются

В некоторых случаях, когда urxvt не признаёт ~/.Xresources, вы можете добавить строку xrdb -merge ~/.Xresources в ваш файл ~/.xinitrc. Для получения дополнительной информации смотрите статью Ресурсы Х.

Прозрачность не работает после обновления, начиная с версии 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"'

Использование rxvt-Unicode в качестве терминала gmrun (Gnome Completion-Run)

В отличие от некоторых других терминалов, 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. Проверьте, что ваш keycode цифровой клавиатры (numpad) генерируется с поомщью программы xev.

  • Запустите программу 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
...

pseudo-tty

Следующая ошибка, скорее всего, вызвана /dev/pts, будучи смонтированным с неправильными опциями.

urxvt: cannot initialize pseudo-tty, aborting.

Удалите /dev/pts из /etc/fstab и исправьте текущие опции монтирования на:

sudo mount -o remount,gid=5,mode=620 /dev/pts

Смотрите также [3], FS#36548, и [4].

Горячие клавиши не работают

Смотрите Get Alt key to work in terminal.

Низкая производительность при рисовании глифов

Некоторые программы, такие как alsamixer и xprop не хорошо выполняются с некоторыми графическими драйверами, и как следствие перерисовывают очень медленно. Опция "skipBuiltinGlyphs" в ~/.Xresources или параметр командной строки -sbg может это исправить. Одним из возможных решений является добавление следующей строки в ~/.Xresources:

URxvt*skipBuiltinGlyphs:    true

Внешние ресурсы