rxvt-unicode (Русский)
rxvt-unicode это очень настраиваемый эмулятор терминала ответвлённый от rxvt. Обычно известный как urxvt
, rxvt-unicode может быть демонизирован для запуска клиентов в рамках одного процесса для того, чтобы свести к минимуму использование системных ресурсов. Некоторые из наиболее выдающихся особенностей rxvt-Unicode включают международную языковую поддержку через Юникод, способность отображать различные типы шрифтов и поддержку расширений Perl. Разработан Марк Леманном и сообществом разработчиков.
Contents
- 1 Установка
-
2 Настройка
- 2.1 Создание ~/.Xresources
- 2.2 Настоящая прозрачность
- 2.3 Родная прозрачность
- 2.4 Полоса прокрутки
- 2.5 Позиция полосы прокрутки
- 2.6 Прокрутка буфера в дополнительном экране
- 2.7 Методы декларации шрифта
- 2.8 Набор иконок
- 2.9 Установить как оболочку входа
- 2.10 Используйте urxvt для запуска приложений
- 2.11 Расстояние шрифта
- 3 Perl расширения
- 4 Цвета
- 5 Повышение производительности
- 6 Вырезать и вставить
- 7 Улучшенное поведение как в Kuake, Openbox
-
8 Решение проблем
- 8.1 Настройки ~/.Xresources не применяются
- 8.2 Прозрачность не работает после обновления, начиная с версии 9.09
- 8.3 Удаленные хосты
- 8.4 Использование rxvt-Unicode в качестве терминала gmrun (Gnome Completion-Run)
- 8.5 Моя цифровая клавиатура действует странно и производит странный вывод (например, в VIM)
- 8.6 pseudo-tty
- 8.7 Горячие клавиши не работают
- 8.8 Низкая производительность при рисовании глифов
- 9 Внешние ресурсы
Установка
rxvt-unicode доступен в официальных репохиториях и содержит поддержку 256 цветов.
rxvt-unicode-patchedAUR доступен в AUR и включает в себя исправление ошибки ширины шрифта.
Настройка
Смотрите rxvt-unicode страницу справки для полного списка доступных настроек и значений.
Создание ~/.Xresources
Внешний вид, ощущения и функциональность rxvt-unicode контролируются аргументами (параметрами) командной строки и/или ресурсами Х. X resources может быть задан при помощи ~/.Xresources
и xrdb (xorg-xrdb). Для получения дополнительной информации смотрите статью Ресурсы Х.
Добавьте прокомментированный список всех "ресурсов (параметров)" rxvt в ваш файл ~/.Xresources
:
urxvt --help 2>&1| sed -n '/: /s/^ */! URxvt*/gp' >> ~/.Xresources
Либо, чтобы помимо комментариев в файле были и полезные описания:
TERM=rxvt-unicode-256color command man -Pcat urxvt | sed -n '/depth: b/,/^BA/p'|sed '$d'|sed '/^ [a-z]/s/^ */^/g'|sed -e :a -e 'N;s/\n/@@/g;ta;P;D'|sed 's,\^\([^@]\+\)@*[\t ]*\([^\^]\+\),! \2\n! URxvt*\1\n\n,g'|sed 's,@@\( \+\),\n\1,g'|sed 's,@*$,,g'|sed '/^[^!]/d'|tr -d "'\`" >> ~/.Xresources
Настоящая прозрачность
Чтобы использовать настоящую прозрачность, вы должны использовать оконный менеджер с поддержкой композитинга, или отдельное приложение для композитинга.
Из командной строки:
$ urxvt -depth 32 -bg rgba:3f00/3f00/3f00/dddd
Используя файл настроек:
~/.Xresources
URxvt.depth: 32 URxvt.background: rgba:1111/1111/1111/dddd
или
~/.Xresources
URxvt.depth: 32 URxvt.background: [95]#000000
где '95' является уровень непрозрачности в процентах и '#000000' цвет фона.
Чтобы использовать цвет #302351 т.е. с rgba:rrrr/gggg/bbbb/aaaa синтаксисом это будет rgba:3000/2300/5100/ee00. "ee00" (значение альфа) ятобы сделать его красиво прозрачным.
Родная прозрачность
Если нет необходимости в настоящей прозрачности, или если композитинг использует слишком много ресурсов на вашей системе, вы можете получить прозрачность следующим образом:
~/.Xresources
! Xresources file URxvt*.transparent: true ! URxvt*.shading: 0 to 99 darkens, 101 to 200 lightens URxvt*.shading: 110
Использование установки URxvt*background подтверждает пример выше, URxvt*.shading также будет работать.
Полоса прокрутки
Внешний вид полосы прокрутки может быть выбраны через эту запись в ~/.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
Методы декларации шрифта
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, так что лучше избегать их, и вместо них выбирать шрифты по полному имени.
URxvt.font: xft:monaco:size=10
Или
URxvt.font: xft:monaco:bold:size=10
Хороший способ для тестирования шрифтов прямо в терминале до совершения изменений в файле настроек, является вывод escape-кодов в терминале, например:
$ printf '\e]710;%s\007' "xft:Terminus:pixelsize=12"
Набор иконок
По умолчанию URxvt не имеет значка на панели задач. Тем не менее, это можно легко изменить путем добавления строки, указывающей на нужную иконку, в файл ~/.Xresources
:
URxvt.iconFile: /usr/share/icons/Clarity/scalable/apps/terminal.svg
Установить как оболочку входа
Это заставляет оболочку (shell) запускаться как оболочку входа (login shell), как вариант -ls
.
URxvt*loginShell: true
Используйте urxvt для запуска приложений
urxvt может быть использован в качестве легкой альтернативы для запуска приложений, таких как gmrun. Запустите urxvt со следующей опцией вида и поведения запуска приложения, или назначьте команду в псевдониме:
$ urxvt -geometry 80x3 -name 'bashrun' -e sh -c "/bin/bash -i -t"
Расстояние шрифта
По умолчанию, расстояние между символами слишком широкое. Это контролируется параметром:
~/.Xresources
URxvt.letterSpace: -1
Здесь -1
уменьшается расстояние от одного пикселя, при необходимости можно регулировать.
Perl расширения
Вы можете включить расширения perl в URxvt, следующей строкой:
URxvt.perl-ext-common: имя_расширения_1,имя_расширения_2,...
Обратите внимание, что между именами расширения не должно быть пробелов.
Кликабельные ссылки (URL-адреса)
Вы можете сделать URL-адреса в терминале кликабельными , используя расширение matcher. Например, для открытия ссылок в Firefox добавьте следушее в.Xresources
:
URxvt.perl-ext-common: default,matcher URxvt.url-launcher: /usr/bin/firefox 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
Основные команды:
Клавиша | Описание |
---|---|
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-tabbedexAUR из AUR, затем добавьте tabbedex
значение в URxvt.perl-ext-common
X resource в вашем ~/.Xresources
:
URxvt.perl-ext-common: ...,tabbedex,...
По умолчанию, кнопка "[NEW]" (которая редко используется и используется только с помощью мыши) отключена при tabbedex. Вы можете снова включить эту функцию, задав new-button
:
URxvt.tabbed.new-button: true
Вкладки можно назвать с помощью Shift+ ↑
(чтобы подтвердить Enter
, и Escape
для отмены).
Чтобы автоматически скрывать панель вкладок, когда присутствует только одна вкладка, включите следующий ресурс:
URxvt.tabbed.autohide: true
Для предотвращения закрытия последней вкладки Urxvt, включите следующий ресурс:
URxvt.tabbed.reopen-on-close: yes
Чтобы начать новую вкладку или цикл с помощью вкладок, используйте следующие команды пользователя: tabbedex:(new|next|prev)_tab
. Пример отображения:
URxvt.keysym.Control-t: perl:tabbedex:new_tab URxvt.keysym.Control-Tab: perl:tabbedex:next_tab URxvt.keysym.Control-Shift-Tab: perl:tabbedex:prev_tab
Чтобы определить свои собственные горячие клавиши для переименования вкладки или перемещения вкладки вправо или влево, используйте следующие команды: tabbedex:move_tab_(left|right)
и tabbedex:rename_tab
. Пример отображения:
URxvt.keysym.Control-Shift-Left: perl:tabbedex:move_tab_left URxvt.keysym.Control-Shift-Right: perl:tabbedex:move_tab_right URxvt.keysym.Control-Shift-R: perl:tabbedex:rename_tab
Полноэкранный
Вы можете установить 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:
Цвета
По умолчанию, 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
.
Цвета как в Xterm
По умолчанию urxvt
использует те же цвета xterm
кроме одного. Добавьте следующую строку в конце вашего ~/.Xresources
для цветов как в xterm:
~/.Xresources
... URxvt*color12: rgb:5c/5c/ff
а затем объедините его содержимое с текущей настройкой X resources:
xrdb -merge ~/.Xresources
и перезапустите urxvt
.
Повышение производительности
- Избегайте использования XFT шрифтов. Если есть необходимость в использовании XFT шрифтов, задайте занчени добавив
:antialias=false
.[2] - Соберите rxvt-unicode с отключением ненужных функций,
--disable-xft
и в частности--disable-unicode3
.[3] - Ограничьте количество
saveLines
(опция-sl
)в буфере прокрутки, чтобы уменьшить использование памяти. [4]- Используйте tmux для прокрутки буфера и установит saveLines в 0
- Отключите Perl
- Пользуйтесь демоном
urxvtd
запуская клиентыurxvtc
.
Демон-клиент
Xinitrc
Смотрите раздел Примеры в man urxvtd
. Это предпочтительный вариант.
systemd
Системная служба:
/etc/systemd/system/urxvtd@.service
[Unit] Description=RXVT-Unicode Daemon [Service] User=%i ExecStart=/usr/bin/urxvtd -q -o [Install] WantedBy=multi-user.target
Передайте имя пользователя запустив службу:
urxvtd@username.service
Для службы systemd/User, поместите следующие файлы секций, в ~/.config/systemd/user
:
urxvtd.service
[Unit] Description=Urxvt Terminal Daemon Requires=urxvtd.socket [Service] ExecStart=/usr/bin/urxvtd -o -q Environment=RXVT_SOCKET=%t/urxvtd-%H [Install] WantedBy=MyTarget.target
urxvtd.socket
[Unit] Description=urxvt daemon (socket activation) Documentation=man:urxvtd(1) man:urxvt(1) [Socket] ListenStream=%t/urxvtd-%H [Install] WantedBy=sockets.target
Вырезать и вставить
Для пользователей, незнакомых с методами передачи данных Xorg, обмен информацией из rxvt-unicode может стать обузой. Достаточно сказать, что rxvt-unicode использует путь буфера который обычно загружается в текущем PRIMARY
выборе по умолчанию. [5] Пользователи призывают пересмотреть Wikipedia:X Window selection для получения дополнительной информации.
Клавиши по умолчанию
Горячие клавиши по умолчанию, всё равно будут работать для копирования и вставки. После выбора текста, для копирования воспользуйтесь Ctrl+Insert или Ctrl+Alt+C, для вставки Shift+Insert или Ctrl+Alt+V.
Пользовательские сочетания клавиш
Для включения копировать/вставить по Ctrl+Shift+c/Ctrl+Shift+v, или аналогичных, вы должны отредактировать ваш .Xresources. Сначала добавьте расширение:
URxvt.perl-ext-common: default,clipboard
Затем отключите iso14755:
URxvt.iso14755: False
И назначьте клавиши:
URxvt.keysym.Shift-Control-C: perl:clipboard:copy URxvt.keysym.Shift-Control-V: perl:clipboard:paste
При использовании xsel (который по умолчанию), используйте:
URxvt.clipboard.copycmd: xsel -ib URxvt.clipboard.pastecmd: xsel -ob
Эти две настройки могут быть изменены для других менеджеров буфера обмена, таких как Xclip.
Управление буфером обмена
Смотрите Clipboard#List of clipboard managers
Сценарий автоматического управления
Skottish [6] создал скрипт на Perl, который автоматически копирует в буфер обмена Х любое выделение в rxvt-Unicode. Сохраните его как /usr/lib/urxvt/perl/clipboard
:
#! /usr/bin/perl sub on_sel_grab { my $query=quotemeta $_[0]->selection; $query=~ s/\n/\\n/g; $query=~ s/\r/\\r/g; system( "echo -en " . $query . " | xsel -i -b -p" ); }
Участник Xyne также создал свой собственный вариант сценария Skottish по имени urxvt-clipboardAUR который доступен в AUR, позволяющий пользователю вставлять выделение вместо Ctrl+V
по щелчку средней кнопки мыши:
#! /usr/bin/perl sub on_sel_grab { my $query = $_[0]->selection; open (my $pipe,'|-','xsel -ib') or die; print $pipe $query; close $pipe; open (my $pipe,'|-','xsel -ip') or die; print $pipe $query; close $pipe; }
Он также требует xsel и должен быть включен в поле *perl-ext-common
или *perl-ext
~/.Xresources
. Например:
URxvt.perl-ext-common: default,clipboard
AUR пакет urxvt-perls-gitAUR это еще один вариант которым можно воспользоватся. urxvt-perls-gitAUR включает в себя такую же функциональность как urxvt-clipboardAUR, в дополнение к расширениям Perl keyboard-select и url-select.
Улучшенное поведение как в Kuake, Openbox
Это первоначально разместил Xyne, на форуме [7], и опирается на xdotool найденный в официальных репозиториях.
Скриплеты
Сохраните этот скриплет для urxvtc
где-то на вашей системе как urxvtc
(например в ~/.config/openbox
):
#!/bin/sh urxvtc "$@" if [ $? -eq 2 ]; then urxvtd -q -o -f urxvtc "$@" fi
и сохраните этот скриплет как urxvtq
:
#!/bin/bash wid=$(xdotool search --classname urxvtq) if [ -z "$wid" ]; then /path/to/urxvtc -name urxvtq -geometry 80x28 wid=$(xdotool search --classname urxvtq | head -1) xdotool windowfocus "$wid" xdotool key Control_L+l else if [ -z "$(xdotool search --onlyvisible --classname urxvtq 2>/dev/null)" ]; then xdotool windowmap "$wid" xdotool windowfocus "$wid" else xdotool windowunmap "$wid" fi fi
Предыдущая версия xdotool выдавала ошибку, которая отключала признание видимых окон и, таким образом, привела некоторых пользователей к использованию следующего скриптлета на месте предыдущего. В этом больше нет необходимости, как и в xdotool >= 1.20100416.2809, но он был оставлен здесь для дальнейшего использования.'
#!/bin/bash wid=$(xprop -name urxvtq | grep 'WM_COMMAND' | awk -F ',' '{print $3}' | awk -F '"' '{print $2}') if [ -z "$wid" ]; then /path/to/urxvtc -name urxvtq -geometry 200x28 wid=$(xprop -name urxvtq | grep 'WM_COMMAND' | awk -F ',' '{print $3}' | awk -F '"' '{print $2}') xdotool windowfocus "$wid" xdotool key Control_L+l else if [ -z "$(xprop -id "$wid" | grep 'window state: Normal' 2>/dev/null)" ]; then xdotool windowmap "$wid" xdotool windowfocus "$wid" else xdotool windowunmap "$wid" fi fi
Убедитесь, что вы измените /путь/к/urxvtc
к фактическому путю скриптлета urxvtc
, что вы сохранили выше. Мы будем использовать urxvtc
чтобы запустить как обычные экземпляры urxvt
и экземпляр как kuake.
urxvtq с табуляцией
Если вы хотите, чтобы вкладки были как в kuake urxvtc
(здесь называется urxvtq
) просто замените третью строчку в urxvtq
:
wid=$(xdotool search --name urxvtq)
на:
wid=$(xdotool search --name urxvtq | grep -m 1 "" )
Для активации поддержки вкладок, вы можете либо заменить пятую строку вашего urxvtq
:
/path/to/urxvtc -name urxvtq -geometry 80x28
на:
/path/to/urxvtc -name urxvtq -pe tabbed -geometry 80x28
или заменить эту строку вашего файла ~/.Xresources
:
URxvt.perl-ext-common: default,matcher
на
URxvt.perl-ext-common: default,matcher,tabbed
Управление Tab
Горячие клавиши | Описание |
---|---|
Shift+Left | Переход на вкладку слева от текущей |
Shift+Right | Переход на вкладку справа от текущей |
Shift+Down | Создать новую вкладку |
Вы также можете использовать мышь для переключения вкладок щелкая по желаемой, и создавать новую вкладку, нажав на [NEW].\\
Чтобы закрыть вкладку, введите exit
как будто вы нормально закрыли терминал.
Настройка Openbox
Теперь добавьте следующие строки в раздел <applications>
файла ~/.config/openbox/rc.xml
:
<application name="urxvtq"> <decor>no</decor> <position force="yes"> <x>center</x> <y>0</y> </position> <desktop>all</desktop> <layer>above</layer> <skip_pager>yes</skip_pager> <skip_taskbar>yes</skip_taskbar> <maximized>Horizontal</maximized> </application>
и добавьте эти строки в разделе <keyboard>
:
<keybind key="W-t"> <action name="Execute"> <command>/path/to/urxvtc</command> </action> </keybind> <keybind key="W-grave"> <action name="Execute"> <execute>/path/to/urxvtq</execute> </action> </keybind>
Здесь тоже необходимо изменить строку /path/to/*
(/путь/к/*) чтобы указать на сценарии, которые вы сохранили ранее. Сохраните файл, а затем перенастройте Openbox. Теперь вы можете запускать urxvt с Super+T
, и переключать как консоль kuake с Super+`
(ковычка на клавише "ё").
Дальнейшая настройка
Преимущество этой настройки через скрипт Perl urxvt kuake, в том что Openbox предоставляет больше возможностей, привязки клавиш-модификаторов. Сценарий kuake захватывает все физические клавиши, независимо от любой комбинации модификаторов. Для полного диапазона возможностей прочтите Openbox bindings documentation.
Openbox per-app settings могут быть использованы для дальнейшей настройки поведения как консоль kuake (например, положение экрана, слой и т.д.). Вам возможно потребуется изменить параметр "geometry" в скриплете urxvtq
для регулировки высоты консоли.
Связанные сценарии
- hbekel опубликовал обобщенную версию из
urxvtq
here которая может быть использована для переключения любого приложения, используя xdotool. - http://www.jukie.net/~bart/blog/20070503013555 - Сценарий для открытия URL-адреса с помощью клавиатуры, а не мыши.
Решение проблем
Настройки ~/.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
Смотрите также [8], FS#36548, и [9].
Горячие клавиши не работают
Смотрите 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