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

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

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Ссылки по теме

- Rxvt-unicode/Советы и хитрости

Состояние перевода: На этой странице представлен перевод статьи 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 расширения

Эта статья или раздел нуждается в переводе

Примечания: Плохой стиль в оригинальной статье (обсуждение: 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

### Полноэкранный

Вы можете установить AUR пакет urxvt-fullscreenAUR, а затем назначить клавишу (или сочетание клавиш), чтобы привести urxvt в полноэкранный режим.

    ~/.Xresources

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

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

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

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

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

Установите urxvt-resize-font-gitAUR из AUR, и добавьте его в ваше расширение 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

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

- rxvt-unicode - Официальный сайт
- Source Code - Browseable CVS
- rxvt-unicode FAQ - Оффициальные ЧАВО
- rxvt-unicode Reference - Официальная страница руководства
- urxvtperl - Официальная справка расширений Perl

Category:

- Terminal emulators (Русский)

Hidden category:

- Pages or sections flagged with Template:Translateme (Русский)