「Rxvt-unicode」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(en:Rxvt-unicodeへの転送ページ)
 
1行目: 1行目:
  +
[[Category:ターミナルエミュレータ]]
#redirect[[en:Rxvt-unicode]]
 
  +
{{DISPLAYTITLE:rxvt-unicode}}
  +
[[de:urxvt]]
  +
[[en:Rxvt-unicode]]
  +
[[es:Rxvt-unicode]]
  +
[[fr:urxvt]]
  +
[[sr:Rxvt-unicode]]
  +
[http://software.schmorp.de/pkg/rxvt-unicode.html rxvt-unicode] は細かいカスタマイズができる[[Wikipedia:ja:端末エミュレータ|ターミナルエミュレータ]]で [[Wikipedia:ja:Rxvt|rxvt]] のフォークです。一般に {{Ic|urxvt}} と呼ばれている、rxvt-unicode は[[デーモン]]化して一つの[[Wikipedia:ja:プロセス|プロセス]]で複数のクライアントを実行することができ、システムリソースの使用を抑えることができます。Marc Lehmann によって開発されており、rxvt-unicode の取り柄としては [[Wikipedia:ja:Unicode|Unicode]] による多言語サポートや、複数のフォントタイプの表示機能、[[Wikipedia:ja:Perl|Perl]] 拡張のサポートなどが挙げられます。
  +
  +
== インストール ==
  +
  +
{{Pkg|rxvt-unicode}} は[[公式リポジトリ]]からインストールすることができ、256色のカラーをサポートしています。
  +
  +
また、[[AUR]] からは {{AUR|rxvt-unicode-patched}} をインストールでき、フォントの太さに関するバグが修正されています。
  +
  +
== 設定 ==
  +
  +
設定と値の完全なリストは [http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.1.pod rxvt-unicode リファレンスページ] を見て下さい。
  +
  +
=== ~/.Xresources の作成 ===
  +
  +
rxvt-unicode の外観や機能はコマンドラインの引数や [[X resources]] によって制御されます。X resources は {{ic|~/.Xresources}} や xrdb ({{Pkg|xorg-xrdb}}) を使って設定することができます。詳しくは [[en2:X resources|wiki ページ]]を見て下さい。
  +
  +
Append commented list of all rxvt resources to your {{ic|~/.Xresources}} file
  +
  +
urxvt --help 2>&1| sed -n '/: /s/^ */! URxvt*/gp' >> ~/.Xresources
  +
  +
Or for a commented list + helpful descriptions
  +
  +
{{bc|<nowiki>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</nowiki>}}
  +
  +
{{Note|Command-line arguments override, and take precedence over resource settings}}
  +
  +
=== 完全透過 ===
  +
  +
完全透過を使用するには、コンポジタによるコンポジットをサポートしている[[ウィンドウマネージャ]]を使っている必要があります。
  +
  +
コマンドラインから:
  +
  +
$ urxvt -depth 32 -bg rgba:3f00/3f00/3f00/dddd
  +
  +
設定ファイルを使用:
  +
  +
{{hc|~/.Xresources|
  +
URxvt.depth: 32
  +
URxvt.background: rgba:1111/1111/1111/dddd
  +
}}
  +
  +
or
  +
  +
{{hc|~/.Xresources|
  +
URxvt.depth: 32
  +
URxvt.background: [95]#000000
  +
}}
  +
  +
'95' は透過レベル (パーセンテージ)、'#000000' は背景色に置き換えて下さい。
  +
  +
To use a color i.e. #302351 with the rgba:rrrr/gggg/bbbb/aaaa syntax it would be rgba:3000/2300/5100/ee00. "ee00" (the alpha value) to make it nicely transparent.
  +
  +
{{Note|To make these settings universal for all forms of URxvt, you may add a wildcard. For example, {{ic|URxvt.depth}} would become {{ic|URxvt*.depth}}.}}
  +
  +
=== 擬似透過 ===
  +
  +
完全透過の必要がない場合、もしくはコンポジットによるシステムリソースの消費が多すぎるという場合、以下のようにして透過を使うことができます:
  +
  +
{{hc|~/.Xresources|<nowiki>
  +
! Xresources file
  +
  +
URxvt*.transparent: true
  +
! URxvt*.shading: 0 to 99 darkens, 101 to 200 lightens
  +
URxvt*.shading: 110
  +
</nowiki>}}
  +
  +
Using the URxvt*background setting exemplified above instead of URxvt*.shading will also work.
  +
  +
{{Note|Avoid using shading if you have a {{ic|URxvt.tintColor}} set. Use a different {{ic|tintColor}} instead.}}
  +
  +
=== スクロールバー ===
  +
  +
The look of the scrollbar can be chosen through this entry in {{ic|~/.Xresources}}:
  +
  +
! scrollbar style - rxvt (default), plain (most compact), next, or xterm
  +
URxvt.scrollstyle: rxvt
  +
  +
The scrollbar can also be completely deactivated like so:
  +
  +
URxvt.scrollBar: false
  +
  +
=== Scrollback position ===
  +
  +
By default, when shell output appears the scrollback view will automatically jump to the bottom of the buffer to display new output. If in cases where you want to see previous output (e.g., compiler messages), set the following options in {{ic|~/.Xresources}}:
  +
  +
! do not scroll with output
  +
URxvt*scrollTtyOutput: false
  +
  +
! scroll in relation to buffer (with mouse scroll or Shift+Page Up)
  +
URxvt*scrollWithBuffer: true
  +
  +
! scroll back to the bottom on keypress
  +
URxvt*scrollTtyKeypress: true
  +
  +
=== Scrollback buffer in secondary screen ===
  +
  +
When you scroll a pager in a ''secondary screen''(e.g. {{ic|less}} without the {{ic|'''-X'''}} option), it may be a good idea to disable the scrollback buffer to be able to scroll in the pager ''itself'', instead of the terminal's buffer: this is default and unchangeable behaviour in konsole and vte-based terminals.
  +
In urxvt, to disable the scrollback buffer for the ''secondary screen'':
  +
URxvt.secondaryScreen: 1
  +
URxvt.secondaryScroll: 0
  +
  +
The above configuration works as expected except when scrolling with a mouse wheel. When you scroll a pager in the ''secondary screen'' with the mouse wheel - and there has been something in the scrollback buffer, instead of the pager itself - the scrollback buffer will be scrolled by the mouse wheel. To solve this issue, it is necessary to introduce a new option into rxvt-unicode[https://bbs.archlinux.org/viewtopic.php?id=132150]. A patched rxvt-unicode is available in AUR as {{aur|rxvt-unicode-better-wheel-scrolling}}. After installing it, add the following to the configuration file:
  +
URxvt.secondaryWheel: 1
  +
  +
{{note|Please do not use this option with the [[#Scrollwheel_support|vtwheel]] perl extension, it will mess up.}}
  +
  +
=== Font declaration methods ===
  +
  +
URxvt.font: 9x15
  +
is the same as:
  +
URxvt.font: -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1
  +
  +
And, for the same font in bold:
  +
URxvt.font: 9x15bold
  +
is the same as:
  +
URxvt.font: -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1
  +
  +
The complete list of short names for X core fonts can be found in {{ic|/usr/share/fonts/misc/fonts.alias}} (there's also some fonts.alias files in some of the other subdirectories of {{ic|/usr/share/fonts/}}, but as they are packaged separately from the actual fonts, they may list fonts you do not actually have installed). It is worth noting that these short aliases select for ISO-8859-1 versions of the fonts rather than ISO-10646-1 (Unicode) versions, and 75 DPI rather than 100 DPI versions, so you're probably better off avoiding them and choosing fonts by their full long names instead.
  +
  +
{{Note|The above paragraph is only for bitmap fonts. Other fonts can be used through Xft using the following format:}}
  +
URxvt.font: xft:monaco:size=10
  +
  +
Or
  +
URxvt.font: xft:monaco:bold:size=10
  +
  +
{{Note|If there is a hyphen(-) in an Xft font name, it must be escaped with backslash(\) twice. It's different from the usage of urxvt -fn option and the result that fc-list returns, where backslash present only once}}
  +
  +
=== アイコンの設定 ===
  +
  +
{{Note|Because of a bug report[https://bugs.archlinux.org/task/34862] complaining that the rxvt-unicode package had too many dependencies, you must now install the AUR package {{AUR|rxvt-unicode-pixbuf}} in order to use the icon option.}}
  +
  +
By default URxvt does not feature a taskbar icon. However, this can be easily changed by adding the following line to {{ic|~/.Xresources}} and pointing to the desired icon:
  +
  +
URxvt.iconFile: /usr/share/icons/Clarity/scalable/apps/terminal.svg
  +
  +
=== ログインシェルに設定 ===
  +
  +
This will cause the shell to be started as a login shell, like the option {{ic|-ls}}.
  +
URxvt*loginShell: true
  +
  +
=== urxvt をアプリケーションランチャーとして使う ===
  +
  +
urxvt can be used as a lightweight alternative to application launchers such as {{pkg|gmrun}}. Run urxvt with the following configuration to imitate look and behaviour of an application launcher or assign the command to a custom alias:
  +
  +
$ urxvt -geometry 80x3 -name 'bashrun' -e sh -c "/bin/bash -i -t"
  +
  +
=== Font spacing ===
  +
  +
By default the distance between characters can feel too wide. It's controlled by this entry:
  +
  +
{{hc|~/.Xresources|<nowiki>
  +
URxvt.letterSpace: -1
  +
</nowiki>}}
  +
  +
Here {{ic|-1}} decreases the spacing by one pixel, but can be adjusted as needed.
  +
  +
== Perl 拡張 ==
  +
  +
=== クリックできる URL ===
  +
  +
You can make URLs in the terminal clickable using the matcher extension. For example, to open links in [[Firefox]] add the following to {{ic|.Xresources}}:
  +
  +
URxvt.perl-ext-common: default,matcher
  +
URxvt.url-launcher: /usr/bin/firefox
  +
URxvt.matcher.button: 1
  +
  +
Since rxvt-unicode 9.14, it's also possible to use matcher to open and list recent (currently limited to 10) URLs via keyboard:
  +
  +
URxvt.keysym.C-Delete: perl:matcher:last
  +
URxvt.keysym.M-Delete: perl:matcher:list
  +
  +
To color all matching text in a blue color for quickly finding links, use the following setting or any color in the form of #RRGGBB you like instead.
  +
  +
URxvt.colorUL: #4682B4
  +
  +
=== ヤンクできる URL (no mouse) ===
  +
  +
In addition, you can select and open URLs in your web browser without using the mouse.
  +
  +
Install the {{Pkg|urxvt-perls}} package from the [[official repositories]] and adjust your {{ic|.Xresources}} as necessary. An example is shown below:
  +
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
  +
  +
{{Note|This extension replaces the Clickable URLs extension mentioned above, so {{Ic|matcher}} can be removed from the {{Ic|URxvt.perl-ext}} list.}}
  +
  +
'''Key commands:'''
  +
{{Tip|To change {{ic|Alt+u}} to a more intuitive {{ic|Ctrl+i}}, replace {{ic|M-u}} by {{ic|C-i}} above.}}
  +
  +
{| class="wikitable"
  +
! Key !! Description
  +
|-
  +
| Alt+u || Enter selection mode. The last URL on your screen will be selected. You can repeat {{ic|Alt+u}} to select the next upward URL.
  +
|-
  +
| k || Select next upward URL
  +
|-
  +
| j || Select next downward URL
  +
|-
  +
| Return || Open selected URL in browser and quit selection mode
  +
|-
  +
| o || Open selected URL in browser without quitting selection mode
  +
|-
  +
| y || Copy (yank) selected URL and quit selection mode
  +
|-
  +
| Esc || Cancel URL selection mode
  +
|}
  +
  +
=== シンプルなタブ ===
  +
  +
urxvt にタブを追加するには、以下を {{ic|~/.Xresources}} に追加します:
  +
URxvt.perl-ext-common: ...,tabbed,...
  +
  +
タブをコントロールするには:
  +
  +
{| class="wikitable"
  +
! キー !! 説明
  +
|-
  +
| 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
  +
  +
=== 高度なタブの管理 ===
  +
  +
Install the {{AUR|urxvt-tabbedex}} package from [[AUR]], then add the {{ic|tabbedex}} value to the {{ic|URxvt.perl-ext-common}} X resource in your {{ic|~/.Xresources}}:
  +
URxvt.perl-ext-common: ...,tabbedex,...
  +
  +
{{Note|If you have previously used the {{ic|tabbed}} Perl extension and have defined the {{ic|tabbed}} value for the {{ic|URxvt.perl-ext-common}} X resource, please remove the {{ic|tabbed}} value first to avoid conflict with {{ic|tabbedex}}.}}
  +
  +
By default, the "[NEW]" button (which is rarely used and usable only with the mouse) is disabled with tabbedex. You can reenable this feature by setting the {{ic|new-button}} to yes.
  +
URxvt.tabbed.new-button: true
  +
  +
Tabs can be named with {{ic|Shift+ ↑}} ({{ic|Enter}} to confirm, {{ic|Escape}} to cancel).
  +
  +
To automatically hide the tabs bar when only one tab is present, enable the following resource:
  +
URxvt.tabbed.autohide: true
  +
  +
To prevent the last tab from closing Urxvt, enable the following resource:
  +
URXvt.tabbed.reopen-on-close: yes
  +
  +
To start a new tab or cycle through tabs, use the following user commands: {{ic|<nowiki>tabbedex:(new|next|prev)_tab</nowiki>}}. Example of mappings:
  +
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
  +
  +
To define your own key bindings to rename a tab or move a tab to the right or to the left, use the following commands: {{ic|<nowiki>tabbedex:move_tab_(left|right)</nowiki>}} and {{ic|tabbedex:rename_tab}}. Example of mappings:
  +
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
  +
  +
{{Note|Redefining the keys used for the user commands will not disable the default mappings, you have to set the X resource {{ic|no-tabbedex-keys}} for that:
  +
URxvt.tabbed.no-tabbedex-keys: true
  +
}}
  +
  +
=== フルスクリーン ===
  +
  +
You can install the [[AUR]] package {{AUR|urxvt-fullscreen}}, and then set a key binding to put urxvt fullscreen.
  +
  +
{{hc|~/.Xresources|
  +
...
  +
URxvt.perl-ext-common: ..., fullscreen, ...
  +
URxvt.keysym.F11: perl:fullscreen:switch
  +
...
  +
}}
  +
  +
=== スクロールホイールのサポート ===
  +
  +
Install {{AUR|urxvt-vtwheel}} from the [[AUR]] and add it to your Perl extensions within {{ic|~/.Xresources}}:
  +
  +
URxvt.perl-ext-common: ...,vtwheel,...
  +
  +
=== フォントサイズを即座に変更 ===
  +
  +
Install {{AUR|urxvt-font-size-git}} from the [[AUR]], add it to your Perl extensions within {{ic|~/.Xresources}}
  +
  +
URxvt.perl-ext-common: ...,font-size,...
  +
  +
and add some key bindings, for example like this:
  +
  +
URxvt.keysym.C-Up: perl:font-size:increase
  +
URxvt.keysym.C-Down: perl:font-size:decrease
  +
URxvt.keysym.C-S-Up: perl:font-size:incglobal
  +
URxvt.keysym.C-S-Down: perl:font-size:decglobal
  +
  +
For the suggested Ctrl+Shift bindings to work, a default binding needs to be disabled (see discussion [http://wilmer.gaa.st/blog/archives/36-rxvt-unicode-and-ISO-14755-mode.html here]):
  +
  +
URxvt.iso14755: false
  +
URxvt.iso14755_52: false
  +
  +
=== Perl 拡張の無効化 ===
  +
  +
If you do not use the Perl extension features, you can improve the security and speed by disabling Perl extensions completely.
  +
URxvt.perl-ext:
  +
URxvt.perl-ext-common:
  +
  +
== カラー ==
  +
  +
By default, rxvt-unicode is compiled with color support. In addition to the default foreground and background colors, rxvt can display up to 256 colors (plus high-intensity bold/blinking/underlined and any mix of these).
  +
The look, feel, and function of rxvt-unicode is controlled by command-line arguments called X resources.
  +
  +
A sample ~/.Xresoures with for a urxvt terminal with default colors but white fonts on a black background would be written as follow:
  +
  +
{{hc|~/.Xresources|2=
  +
! Background color
  +
URxvt*background: black
  +
  +
! Font color
  +
URxvt*foreground: white
  +
  +
! Other colors
  +
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
  +
}}
  +
  +
It is also possible to specify the color values of foreground, background, cursorColor, cursorColor2, colorBD, colorUL as a number 0-15, as a convenient shorthand to reference the color name of color0-color15. See [[#Creating ~/.Xresources|Creating ~/.Xresources]] to create a commented {{ic|~/.Xresources}} file for {{ic|urxvt}}
  +
  +
==== Xterm のようなカラー ====
  +
  +
By default {{ic|urxvt}} uses the same colors as {{ic|xterm}} use except one. Add the following line at the end of your {{ic|~/.Xresources}} for xterm-like colors:
  +
{{hc|~/.Xresources|2=
  +
...
  +
URxvt*color12: rgb:5c/5c/ff
  +
}}
  +
then merge it contents with your current X resources configuration with:
  +
xrdb -merge ~/.Xresources
  +
and finally restart {{ic|urxvt}}.
  +
  +
== パフォーマンスの改善 ==
  +
  +
* Avoid the use of Xft fonts. If Xft fonts must be used, append {{Ic|<nowiki>:antialias=false</nowiki>}} to the setting value.[http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod#Can_I_speed_up_Xft_rendering_somehow]
  +
* Build rxvt-unicode with disabled support for unnecessary features, {{Ic|--disable-xft}} and {{Ic|--disable-unicode3}} in particular.<sup>[http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod#Rxvt_unicode_uses_gobs_of_memory_how]
  +
* Limit the number of {{Ic|saveLines}} (option {{Ic|-sl}}) in the scrollback buffer to reduce memory usage. [http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod#Isn_t_rxvt_unicode_supposed_to_be_sm]
  +
** Use tmux for scrollback buffer and set saveLines to 0
  +
* [[#Disabling Perl extensions|Disable perl]]
  +
* Consider running {{Ic|urxvtd}} as a daemon accepting connections from {{Ic|urxvtc}} clients.
  +
  +
=== デーモンクライアント ===
  +
  +
==== Xinitrc ====
  +
  +
See the ''Examples'' section in {{ic|man urxvtd}}.
  +
  +
==== systemd ====
  +
  +
{{Note|systemd で起動した urxvt クライアント/デーモンにログインしているとき、通常ユーザーは systemctl の電源コマンド (reboot, poweroff など) を実行することはできません。クライアントが[[セッション]]に含まれなくなるからです。}}
  +
  +
システムサービス:
  +
  +
{{hc|/etc/systemd/system/urxvtd@.service|<nowiki>
  +
[Unit]
  +
Description=RXVT-Unicode Daemon
  +
  +
[Service]
  +
User=%i
  +
ExecStart=/usr/bin/urxvtd -q -o
  +
  +
[Install]
  +
WantedBy=multi-user.target
  +
</nowiki>}}
  +
  +
Pass the username when [[Systemd#Units|starting the service]]:
  +
  +
urxvtd@''username''.service
  +
  +
[[systemd/ユーザー]]サービスの場合、以下のユニットファイルを {{ic|~/.config/systemd/user}} に配置してください:
  +
  +
{{hc|urxvtd.service|<nowiki>
  +
[Unit]
  +
Description=Urxvt Terminal Daemon
  +
Requires=urxvtd.socket
  +
  +
[Service]
  +
ExecStart=/usr/bin/urxvtd -o -q
  +
Environment=RXVT_SOCKET=%t/urxvtd-%H
  +
  +
[Install]
  +
WantedBy=</nowiki>''MyTarget''.target
  +
}}
  +
  +
{{hc|urxvtd.socket|<nowiki>
  +
[Unit]
  +
Description=urxvt daemon (socket activation)
  +
Documentation=man:urxvtd(1) man:urxvt(1)
  +
  +
[Socket]
  +
ListenStream=%t/urxvtd-%H
  +
  +
[Install]
  +
WantedBy=sockets.target
  +
</nowiki>}}
  +
  +
== カットアンドペースト ==
  +
  +
{{Note|With the use of a VDT multiplexer, urxvt (or any VDT emulator) {{Ic|CLIPBOARD}} integration will not be effective, since it will not be possible to select all of the desired text in a straightforward fashion or at all, in some cases (e.g., when the active multiplexed terminal is changed to another one and then back to the original one, and one selects text beyond what is visible, which causes text from the other terminal to be displayed). Obviously this is due to the fact that the VDT emulator lacks the ability to distinguish between multiplexed terminals. Therefore, it would be effectively redundant for one who always uses a VDT multiplexer capable of maintaining a scrollback buffer and integrating with {{Ic|CLIPBOARD}} (e.g., [[tmux]] with [[tmux#ICCCM Selection Integration|customized key bindings]]) to integrate {{Ic|CLIPBOARD}} with urxvt.}}
  +
  +
For users unfamiliar with [[Xorg]] data transfer methods, the exchange of information to and from rxvt-unicode can become a burden. Suffice to say that rxvt-unicode uses cut buffers which are typically loaded into the current {{Ic|PRIMARY}} selection by default. [http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.1.pod#THE_SELECTION_SELECTING_AND_PASTING_] Users are urged to review [[Wikipedia:X Window selection]] for additional information.
  +
  +
==== デフォルトのキーバインディング ====
  +
  +
Default X key bindings will still work for copying and pasting. After selecting the text Ctrl+Insert can be used to copy and Shift+Insert to paste.
  +
  +
==== クリップボードの管理 ====
  +
  +
[[クリップボード#クリップボードマネージャの一覧]]を見て下さい。
  +
  +
==== Automatic script management ====
  +
  +
{{Note|Since version 9.20, {{Pkg|rxvt-unicode}} comes with a new {{ic|selection-to-clipboard}} extension that supersedes the scripts below. Enable it like any other extension.}}
  +
Skottish[https://bbs.archlinux.org/viewtopic.php?pid=506845#p506845] created a Perl script to automatically copy any selection in rxvt-unicode to the X clipboard. Save the following as {{ic|/usr/lib/urxvt/perl/clipboard}}:
  +
  +
{{bc|<nowiki>
  +
#! /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" );
  +
}
  +
</nowiki>}}
  +
  +
Xyne has also created his own variation of Skottish's script named {{AUR|urxvt-clipboard}} which is available in the [[AUR]] that allows the user to paste the selection with {{ic|Ctrl+V}} instead of only with a middle mouse click:
  +
  +
{{bc|<nowiki>
  +
#! /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;
  +
}
  +
</nowiki>}}
  +
  +
It also requires {{Pkg|xsel}} and needs to be enabled in the {{Ic|*perl-ext-common}} or {{Ic|*perl-ext}} field in {{ic|~/.Xresources}}. For example:
  +
URxvt.perl-ext-common: default,clipboard
  +
  +
The [[AUR]] package {{AUR|urxvt-perls-git}} is another option one can use. {{AUR|urxvt-perls-git}} includes the same functionality as {{AUR|urxvt-clipboard}}, in addition to the keyboard-select and url-select Perl extensions.
  +
  +
== Improved Kuake-like behavior in Openbox ==
  +
  +
This was originally posted on the forum by Xyne [https://bbs.archlinux.org/viewtopic.php?pid=550380], and it relies on the {{Pkg|xdotool}} found in the [[official repositories]].
  +
  +
=== Scriptlets ===
  +
  +
Save this scriptlet from the {{Ic|urxvtc}} man page somewhere on your system as {{ic|urxvtc}} (e.g., in {{ic|~/.config/openbox}}):
  +
  +
{{bc|
  +
#!/bin/sh
  +
  +
urxvtc "$@"
  +
if [$? -eq 2]; then
  +
urxvtd -q -o -f
  +
urxvtc "$@"
  +
fi
  +
}}
  +
  +
and save this one as {{ic|urxvtq}}:
  +
  +
{{bc|<nowiki>
  +
#!/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
  +
</nowiki>}}
  +
  +
A previous version of {{Pkg|xdotool}} introduced a bug which disabled recognition of visible windows and thus led some users to use the following scriptlet in place of the previous one. This is no longer necessary as of {{Pkg|xdotool}} >= 1.20100416.2809, but it has been left here for future reference.'
  +
  +
{{bc|<nowiki>
  +
#!/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
  +
</nowiki>}}
  +
  +
Make sure that you change {{Ic|/path/to/urxvtc}} to the actual path to the {{ic|urxvtc}} scriptlet that you saved above. We will be using {{ic|urxvtc}} to launch both regular instances of {{Ic|urxvt}} and the kuake-like instance.
  +
  +
=== urxvtq with tabbing ===
  +
  +
If you want to have tabs in your kuake-like {{ic|urxvtc}} (here called {{ic|urxvtq}}) just replace the third line in your {{ic|urxvtq}}:
  +
wid=$(xdotool search --name urxvtq)
  +
with:
  +
wid=$(xdotool search --name urxvtq | grep -m 1 "" )
  +
  +
To activate tab support, you can either replace the fifth line of your {{ic|urxvtq}}:
  +
/path/to/urxvtc -name urxvtq -geometry 80x28
  +
with:
  +
/path/to/urxvtc -name urxvtq -pe tabbed -geometry 80x28
  +
or replace this line of your {{ic|~/.Xresources}} file:
  +
URxvt.perl-ext-common: default,matcher
  +
with
  +
URxvt.perl-ext-common: default,matcher,tabbed
  +
  +
==== Tab control ====
  +
  +
{| class="wikitable"
  +
! Key !! Description
  +
|-
  +
| Shift+Left || Switch to the tab left of the current one
  +
|-
  +
| Shift+Right || Switch to the tab right of the current one
  +
|-
  +
| Shift+Down || Create a new tab
  +
|}
  +
  +
You can also use your mouse to switch the tabs by clicking the wished one and create a new tab by clicking on ''[NEW].\\''
  +
  +
To close a tab just enter {{Ic|exit}} like you would to normally close a terminal.
  +
  +
=== Openbox の設定 ===
  +
  +
Now add the following lines to the {{Ic|<applications>}} section of {{ic|~/.config/openbox/rc.xml}}:
  +
  +
{{bc|1=
  +
<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>
  +
}}
  +
  +
and add these lines to the {{Ic|<keyboard>}} section:
  +
  +
{{bc|1=
  +
<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>
  +
}}
  +
  +
Here too you need to change the {{Ic|/path/to/*}} lines to point to the scripts that you saved above. Save the file and then reconfigure Openbox. You should now be able to launch regular instances of urxvt with {{ic|Super+T}}, and toggle the kuake-like console with {{ic|Super+'''`'''}} (the grave key also known as the backtick).
  +
  +
=== Further configuration ===
  +
  +
The advantage of this configuration over the urxvt kuake Perl script is that Openbox provides more keybinding options such as modifier keys. The kuake script hijacks an entire physical key regardless of any modifier combination. Review the [http://icculus.org/openbox/index.php/Help:Bindings Openbox bindings documentation] for the full range or possibilities.
  +
  +
The [http://icculus.org/openbox/index.php/Help:Applications Openbox per-app settings] can be used to further configure the behavior of the kuake-like console (e.g. screen position, layer, etc.). You may need to change the "geometry" parameter in the {{ic|urxvtq}} scriptlet to adjust the height of the console.
  +
  +
=== Related scripts ===
  +
  +
* hbekel has posted a generalized version of the {{ic|urxvtq}} [https://bbs.archlinux.org/viewtopic.php?pid=550380#p550380 here] which can be used to toggle any application using {{Pkg|xdotool}}.
  +
* http://www.jukie.net/~bart/blog/20070503013555 - A script for opening URLs with your keyboard instead of mouse with urxvt.
  +
  +
== トラブルシューティング ==
  +
  +
=== ~/.Xresources is not being sourced ===
  +
  +
In some cases where urxvt does not acknowledge {{ic|~/.Xresources}}, you may need to add {{ic|xrdb -merge ~/.Xresources}} to your {{ic|~/.xinitrc}} file. See [[X resources]] for more information.
  +
  +
=== Transparency not working after upgrade to v9.09 ===
  +
  +
The rxvt-unicode developers removed compatibility code for a lot of non standard wallpaper setters with this update. Using a non compatible wallpaper setter will break transparency support. Recommended wallpaper setters:
  +
  +
* [[feh]]
  +
* hsetroot
  +
* esetroot
  +
  +
To make true transparency work, make sure to comment URxvt.tintColor and URxvt.inheritPixmap.
  +
  +
=== リモートホスト ===
  +
  +
If you are logging into a remote host, you may encounter problems when running text-mode programs under rxvt-unicode. This can be fixed by installing {{Pkg|rxvt-unicode-terminfo}} on the remote host or by copying {{ic|/usr/share/terminfo/r/rxvt-unicode}} from your local machine to your host at {{ic|~/.terminfo/r/rxvt-unicode}}; same for rxvt-unicode-256color.
  +
  +
Some remote systems do not change title automatically unless you specify TERM=xterm. To fix the issue add this line to .bashrc on the remote machine:
  +
  +
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD}\007"'
  +
  +
=== Using rxvt-unicode as gmrun terminal ===
  +
  +
Unlike some other terminals, urxvt expects the arguments to {{Ic|-e}} to be given separately, rather than grouped together with quotes. This causes trouble with gmrun, which assumes the opposite behavior. This can be worked around by putting an "eval" in front of gmrun's "Terminal" variable in {{ic|.gmrunrc}}:
  +
  +
Terminal = eval urxvt
  +
TermExec = ${Terminal} -e
  +
  +
(gmrun uses {{ic|/bin/sh}} to execute commands, so the "eval" is understood here.) The "eval" has the side-effect of "breaking up" the argument to {{Ic|-e}} in the same way that {{Ic|$@}} does in [[Bash]], making the command intelligible to urxvt.
  +
  +
=== My numerical keypad acts weird and generates differing output? (e.g. in vim) ===
  +
  +
Some Debian GNU/Linux users seem to have this problem, although no specific details were reported so far. It is possible that this is caused by the wrong TERM setting, although the details of whether and how this can happen are unknown, as TERM=rxvt should offer a compatible keymap. See the answer to the previous question, and please report if that helped.
  +
  +
However, using the ''xmodmap'' program ({{Pkg|xorg-xmodmap}}), you can re-map your number pad keys back.
  +
  +
1. Check the keycode that your numerical keypad (numpad) generates using {{ic|xev}} program.
  +
  +
* Start the {{ic|xev}} program
  +
* Press your number pad keys and look for ''... keycode xxx ...'' in {{ic|xev}}'s output. For example, numpad 1 in my keyboard is also "End" key, that have a ''''keycode 87''''.
  +
  +
2. Create or modify your xmodmap file, usually {{ic|~/.Xmodmap}}, with the content representing your keycode.
  +
  +
Example of xmodmap file with number pad keycode:
  +
  +
{{bc|1=
  +
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. Load your xmodmap file at X session start-up.
  +
  +
For example, in {{ic|~/.xinitrc}} file add:
  +
  +
...
  +
xmodmap ~/.Xmodmap
  +
...
  +
  +
=== Pseudo-tty ===
  +
  +
The following error is likely caused by {{ic|/dev/pts}} having been mounted with the wrong options.
  +
  +
urxvt: can't initialize pseudo-tty, aborting.
  +
  +
Remove {{ic|/dev/pts}} from {{ic|/etc/fstab}} and fix the current mount options with:
  +
  +
sudo mount -o remount,gid=5,mode=620 /dev/pts
  +
  +
See also [https://mailman.archlinux.org/pipermail/arch-dev-public/2013-August/025332.html], {{bug|36548}}, and [https://bbs.archlinux.org/viewtopic.php?pid=1318127].
  +
  +
=== Key combinations do not work ===
  +
  +
See [http://vim.wikia.com/wiki/Get_Alt_key_to_work_in_terminal?useskin=monobook Get Alt key to work in terminal].
  +
  +
=== Slow performance when drawing glyphs ===
  +
  +
Some programs like alsamixer and xprop do not perform well with some graphics drivers and in consequence redraw very slowly. The option "skipBuiltinGlyphs" for {{ic|~/.Xresources}} or the command line option {{ic|-sbg}} may fix this. One possible solution is to add the following to {{ic|~/.Xresources}}:
  +
  +
URxvt*skipBuiltinGlyphs: true
  +
  +
== 外部資料 ==
  +
  +
* [http://software.schmorp.de/pkg/rxvt-unicode.html rxvt-unicode] - 公式サイト
  +
* [http://cvs.schmorp.de/rxvt-unicode/ Source Code] - Browseable CVS
  +
* [http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod rxvt-unicode FAQ] - 公式 FAQ
  +
* [http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.1.pod rxvt-unicode Reference] - Official manual page
  +
* [http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/src/urxvt.pm urxvtperl] - Official Perl extension reference

2015年2月4日 (水) 23:33時点における版

rxvt-unicode は細かいカスタマイズができるターミナルエミュレータrxvt のフォークです。一般に urxvt と呼ばれている、rxvt-unicode はデーモン化して一つのプロセスで複数のクライアントを実行することができ、システムリソースの使用を抑えることができます。Marc Lehmann によって開発されており、rxvt-unicode の取り柄としては Unicode による多言語サポートや、複数のフォントタイプの表示機能、Perl 拡張のサポートなどが挙げられます。

インストール

rxvt-unicode公式リポジトリからインストールすることができ、256色のカラーをサポートしています。

また、AUR からは rxvt-unicode-patchedAUR をインストールでき、フォントの太さに関するバグが修正されています。

設定

設定と値の完全なリストは rxvt-unicode リファレンスページ を見て下さい。

~/.Xresources の作成

rxvt-unicode の外観や機能はコマンドラインの引数や X resources によって制御されます。X resources は ~/.Xresources や xrdb (xorg-xrdb) を使って設定することができます。詳しくは wiki ページを見て下さい。

Append commented list of all rxvt resources to your ~/.Xresources file

 urxvt --help 2>&1| sed -n '/:  /s/^ */! URxvt*/gp' >> ~/.Xresources

Or for a commented list + helpful descriptions

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
ノート: Command-line arguments override, and take precedence over resource settings

完全透過

完全透過を使用するには、コンポジタによるコンポジットをサポートしているウィンドウマネージャを使っている必要があります。

コマンドラインから:

$ urxvt -depth 32 -bg rgba:3f00/3f00/3f00/dddd

設定ファイルを使用:

~/.Xresources
URxvt.depth: 32
URxvt.background: rgba:1111/1111/1111/dddd

or

~/.Xresources
URxvt.depth: 32
URxvt.background: [95]#000000

'95' は透過レベル (パーセンテージ)、'#000000' は背景色に置き換えて下さい。

To use a color i.e. #302351 with the rgba:rrrr/gggg/bbbb/aaaa syntax it would be rgba:3000/2300/5100/ee00. "ee00" (the alpha value) to make it nicely transparent.

ノート: To make these settings universal for all forms of URxvt, you may add a wildcard. For example, URxvt.depth would become URxvt*.depth.

擬似透過

完全透過の必要がない場合、もしくはコンポジットによるシステムリソースの消費が多すぎるという場合、以下のようにして透過を使うことができます:

~/.Xresources
! Xresources file

URxvt*.transparent: true
! URxvt*.shading: 0 to 99 darkens, 101 to 200 lightens
URxvt*.shading: 110

Using the URxvt*background setting exemplified above instead of URxvt*.shading will also work.

ノート: Avoid using shading if you have a URxvt.tintColor set. Use a different tintColor instead.

スクロールバー

The look of the scrollbar can be chosen through this entry in ~/.Xresources:

! scrollbar style - rxvt (default), plain (most compact), next, or xterm
URxvt.scrollstyle: rxvt

The scrollbar can also be completely deactivated like so:

URxvt.scrollBar: false

Scrollback position

By default, when shell output appears the scrollback view will automatically jump to the bottom of the buffer to display new output. If in cases where you want to see previous output (e.g., compiler messages), set the following options in ~/.Xresources:

! do not scroll with output
URxvt*scrollTtyOutput: false

! scroll in relation to buffer (with mouse scroll or Shift+Page Up)
URxvt*scrollWithBuffer: true

! scroll back to the bottom on keypress
URxvt*scrollTtyKeypress: true

Scrollback buffer in secondary screen

When you scroll a pager in a secondary screen(e.g. less without the -X option), it may be a good idea to disable the scrollback buffer to be able to scroll in the pager itself, instead of the terminal's buffer: this is default and unchangeable behaviour in konsole and vte-based terminals. In urxvt, to disable the scrollback buffer for the secondary screen:

URxvt.secondaryScreen: 1
URxvt.secondaryScroll: 0

The above configuration works as expected except when scrolling with a mouse wheel. When you scroll a pager in the secondary screen with the mouse wheel - and there has been something in the scrollback buffer, instead of the pager itself - the scrollback buffer will be scrolled by the mouse wheel. To solve this issue, it is necessary to introduce a new option into rxvt-unicode[1]. A patched rxvt-unicode is available in AUR as rxvt-unicode-better-wheel-scrollingAUR. After installing it, add the following to the configuration file:

URxvt.secondaryWheel: 1
ノート: Please do not use this option with the vtwheel perl extension, it will mess up.

Font declaration methods

URxvt.font: 9x15

is the same as:

URxvt.font: -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1

And, for the same font in bold:

URxvt.font: 9x15bold

is the same as:

URxvt.font: -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1

The complete list of short names for X core fonts can be found in /usr/share/fonts/misc/fonts.alias (there's also some fonts.alias files in some of the other subdirectories of /usr/share/fonts/, but as they are packaged separately from the actual fonts, they may list fonts you do not actually have installed). It is worth noting that these short aliases select for ISO-8859-1 versions of the fonts rather than ISO-10646-1 (Unicode) versions, and 75 DPI rather than 100 DPI versions, so you're probably better off avoiding them and choosing fonts by their full long names instead.

ノート: The above paragraph is only for bitmap fonts. Other fonts can be used through Xft using the following format:
URxvt.font: xft:monaco:size=10

Or

URxvt.font: xft:monaco:bold:size=10
ノート: If there is a hyphen(-) in an Xft font name, it must be escaped with backslash(\) twice. It's different from the usage of urxvt -fn option and the result that fc-list returns, where backslash present only once

アイコンの設定

ノート: Because of a bug report[2] complaining that the rxvt-unicode package had too many dependencies, you must now install the AUR package rxvt-unicode-pixbufAUR in order to use the icon option.

By default URxvt does not feature a taskbar icon. However, this can be easily changed by adding the following line to ~/.Xresources and pointing to the desired icon:

URxvt.iconFile:    /usr/share/icons/Clarity/scalable/apps/terminal.svg

ログインシェルに設定

This will cause the shell to be started as a login shell, like the option -ls.

URxvt*loginShell: true

urxvt をアプリケーションランチャーとして使う

urxvt can be used as a lightweight alternative to application launchers such as gmrun. Run urxvt with the following configuration to imitate look and behaviour of an application launcher or assign the command to a custom alias:

$ urxvt -geometry 80x3 -name 'bashrun' -e sh -c "/bin/bash -i -t"

Font spacing

By default the distance between characters can feel too wide. It's controlled by this entry:

~/.Xresources
URxvt.letterSpace: -1

Here -1 decreases the spacing by one pixel, but can be adjusted as needed.

Perl 拡張

クリックできる URL

You can make URLs in the terminal clickable using the matcher extension. For example, to open links in Firefox add the following to .Xresources:

URxvt.perl-ext-common: default,matcher
URxvt.url-launcher: /usr/bin/firefox
URxvt.matcher.button: 1

Since rxvt-unicode 9.14, it's also possible to use matcher to open and list recent (currently limited to 10) URLs via keyboard:

URxvt.keysym.C-Delete: perl:matcher:last
URxvt.keysym.M-Delete: perl:matcher:list

To color all matching text in a blue color for quickly finding links, use the following setting or any color in the form of #RRGGBB you like instead.

URxvt.colorUL: #4682B4

ヤンクできる URL (no mouse)

In addition, you can select and open URLs in your web browser without using the mouse.

Install the urxvt-perls package from the official repositories and adjust your .Xresources as necessary. An example is shown below:

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
ノート: This extension replaces the Clickable URLs extension mentioned above, so matcher can be removed from the URxvt.perl-ext list.

Key commands:

ヒント: To change Alt+u to a more intuitive Ctrl+i, replace M-u by C-i above.
Key Description
Alt+u Enter selection mode. The last URL on your screen will be selected. You can repeat Alt+u to select the next upward URL.
k Select next upward URL
j Select next downward URL
Return Open selected URL in browser and quit selection mode
o Open selected URL in browser without quitting selection mode
y Copy (yank) selected URL and quit selection mode
Esc Cancel URL selection mode

シンプルなタブ

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

高度なタブの管理

Install the urxvt-tabbedexAUR package from AUR, then add the tabbedex value to the URxvt.perl-ext-common X resource in your ~/.Xresources:

URxvt.perl-ext-common: ...,tabbedex,...
ノート: If you have previously used the tabbed Perl extension and have defined the tabbed value for the URxvt.perl-ext-common X resource, please remove the tabbed value first to avoid conflict with tabbedex.

By default, the "[NEW]" button (which is rarely used and usable only with the mouse) is disabled with tabbedex. You can reenable this feature by setting the new-button to yes.

URxvt.tabbed.new-button: true

Tabs can be named with Shift+ ↑ (Enter to confirm, Escape to cancel).

To automatically hide the tabs bar when only one tab is present, enable the following resource:

URxvt.tabbed.autohide: true

To prevent the last tab from closing Urxvt, enable the following resource:

URXvt.tabbed.reopen-on-close: yes

To start a new tab or cycle through tabs, use the following user commands: tabbedex:(new|next|prev)_tab. Example of mappings:

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

To define your own key bindings to rename a tab or move a tab to the right or to the left, use the following commands: tabbedex:move_tab_(left|right) and tabbedex:rename_tab. Example of mappings:

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
ノート: Redefining the keys used for the user commands will not disable the default mappings, you have to set the X resource no-tabbedex-keys for that:
URxvt.tabbed.no-tabbedex-keys: true

フルスクリーン

You can install the AUR package urxvt-fullscreenAUR, and then set a key binding to put urxvt fullscreen.

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

スクロールホイールのサポート

Install urxvt-vtwheelAUR from the AUR and add it to your Perl extensions within ~/.Xresources:

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

フォントサイズを即座に変更

Install urxvt-font-size-gitAUR from the AUR, add it to your Perl extensions within ~/.Xresources

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

and add some key bindings, for example like this:

 URxvt.keysym.C-Up:     perl:font-size:increase
 URxvt.keysym.C-Down:   perl:font-size:decrease
 URxvt.keysym.C-S-Up:   perl:font-size:incglobal
 URxvt.keysym.C-S-Down: perl:font-size:decglobal

For the suggested Ctrl+Shift bindings to work, a default binding needs to be disabled (see discussion here):

 URxvt.iso14755: false
 URxvt.iso14755_52: false

Perl 拡張の無効化

If you do not use the Perl extension features, you can improve the security and speed by disabling Perl extensions completely.

URxvt.perl-ext:
URxvt.perl-ext-common:

カラー

By default, rxvt-unicode is compiled with color support. In addition to the default foreground and background colors, rxvt can display up to 256 colors (plus high-intensity bold/blinking/underlined and any mix of these). The look, feel, and function of rxvt-unicode is controlled by command-line arguments called X resources.

A sample ~/.Xresoures with for a urxvt terminal with default colors but white fonts on a black background would be written as follow:

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

! Font color
URxvt*foreground: white

! Other colors
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

It is also possible to specify the color values of foreground, background, cursorColor, cursorColor2, colorBD, colorUL as a number 0-15, as a convenient shorthand to reference the color name of color0-color15. See Creating ~/.Xresources to create a commented ~/.Xresources file for urxvt

Xterm のようなカラー

By default urxvt uses the same colors as xterm use except one. Add the following line at the end of your ~/.Xresources for xterm-like colors:

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

then merge it contents with your current X resources configuration with:

xrdb -merge ~/.Xresources

and finally restart urxvt.

パフォーマンスの改善

  • Avoid the use of Xft fonts. If Xft fonts must be used, append :antialias=false to the setting value.[3]
  • Build rxvt-unicode with disabled support for unnecessary features, --disable-xft and --disable-unicode3 in particular.[4]
  • Limit the number of saveLines (option -sl) in the scrollback buffer to reduce memory usage. [5]
    • Use tmux for scrollback buffer and set saveLines to 0
  • Disable perl
  • Consider running urxvtd as a daemon accepting connections from urxvtc clients.

デーモンクライアント

Xinitrc

See the Examples section in man urxvtd.

systemd

ノート: systemd で起動した urxvt クライアント/デーモンにログインしているとき、通常ユーザーは systemctl の電源コマンド (reboot, poweroff など) を実行することはできません。クライアントがセッションに含まれなくなるからです。

システムサービス:

/etc/systemd/system/urxvtd@.service
[Unit]
Description=RXVT-Unicode Daemon

[Service]
User=%i
ExecStart=/usr/bin/urxvtd -q -o

[Install]
WantedBy=multi-user.target

Pass the username when starting the service:

urxvtd@username.service

systemd/ユーザーサービスの場合、以下のユニットファイルを ~/.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

カットアンドペースト

ノート: With the use of a VDT multiplexer, urxvt (or any VDT emulator) CLIPBOARD integration will not be effective, since it will not be possible to select all of the desired text in a straightforward fashion or at all, in some cases (e.g., when the active multiplexed terminal is changed to another one and then back to the original one, and one selects text beyond what is visible, which causes text from the other terminal to be displayed). Obviously this is due to the fact that the VDT emulator lacks the ability to distinguish between multiplexed terminals. Therefore, it would be effectively redundant for one who always uses a VDT multiplexer capable of maintaining a scrollback buffer and integrating with CLIPBOARD (e.g., tmux with customized key bindings) to integrate CLIPBOARD with urxvt.

For users unfamiliar with Xorg data transfer methods, the exchange of information to and from rxvt-unicode can become a burden. Suffice to say that rxvt-unicode uses cut buffers which are typically loaded into the current PRIMARY selection by default. [6] Users are urged to review Wikipedia:X Window selection for additional information.

デフォルトのキーバインディング

Default X key bindings will still work for copying and pasting. After selecting the text Ctrl+Insert can be used to copy and Shift+Insert to paste.

クリップボードの管理

クリップボード#クリップボードマネージャの一覧を見て下さい。

Automatic script management

ノート: Since version 9.20, rxvt-unicode comes with a new selection-to-clipboard extension that supersedes the scripts below. Enable it like any other extension.

Skottish[7] created a Perl script to automatically copy any selection in rxvt-unicode to the X clipboard. Save the following as /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 has also created his own variation of Skottish's script named urxvt-clipboardAUR which is available in the AUR that allows the user to paste the selection with Ctrl+V instead of only with a middle mouse click:

#! /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;
}

It also requires xsel and needs to be enabled in the *perl-ext-common or *perl-ext field in ~/.Xresources. For example:

URxvt.perl-ext-common: default,clipboard

The AUR package urxvt-perls-gitAUR is another option one can use. urxvt-perls-gitAUR includes the same functionality as urxvt-clipboardAUR, in addition to the keyboard-select and url-select Perl extensions.

Improved Kuake-like behavior in Openbox

This was originally posted on the forum by Xyne [8], and it relies on the xdotool found in the official repositories.

Scriptlets

Save this scriptlet from the urxvtc man page somewhere on your system as urxvtc (e.g., in ~/.config/openbox):

#!/bin/sh

urxvtc "$@"
if [$? -eq 2]; then
   urxvtd -q -o -f
   urxvtc "$@"
fi

and save this one as 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

A previous version of xdotool introduced a bug which disabled recognition of visible windows and thus led some users to use the following scriptlet in place of the previous one. This is no longer necessary as of xdotool >= 1.20100416.2809, but it has been left here for future reference.'

#!/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

Make sure that you change /path/to/urxvtc to the actual path to the urxvtc scriptlet that you saved above. We will be using urxvtc to launch both regular instances of urxvt and the kuake-like instance.

urxvtq with tabbing

If you want to have tabs in your kuake-like urxvtc (here called urxvtq) just replace the third line in your urxvtq:

wid=$(xdotool search --name urxvtq)

with:

wid=$(xdotool search --name urxvtq | grep -m 1 "" )

To activate tab support, you can either replace the fifth line of your urxvtq:

/path/to/urxvtc -name urxvtq -geometry 80x28

with:

/path/to/urxvtc -name urxvtq -pe tabbed -geometry 80x28

or replace this line of your ~/.Xresources file:

URxvt.perl-ext-common: default,matcher

with

URxvt.perl-ext-common: default,matcher,tabbed

Tab control

Key Description
Shift+Left Switch to the tab left of the current one
Shift+Right Switch to the tab right of the current one
Shift+Down Create a new tab

You can also use your mouse to switch the tabs by clicking the wished one and create a new tab by clicking on [NEW].\\

To close a tab just enter exit like you would to normally close a terminal.

Openbox の設定

Now add the following lines to the <applications> section of ~/.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>

and add these lines to the <keyboard> section:

<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>

Here too you need to change the /path/to/* lines to point to the scripts that you saved above. Save the file and then reconfigure Openbox. You should now be able to launch regular instances of urxvt with Super+T, and toggle the kuake-like console with Super+` (the grave key also known as the backtick).

Further configuration

The advantage of this configuration over the urxvt kuake Perl script is that Openbox provides more keybinding options such as modifier keys. The kuake script hijacks an entire physical key regardless of any modifier combination. Review the Openbox bindings documentation for the full range or possibilities.

The Openbox per-app settings can be used to further configure the behavior of the kuake-like console (e.g. screen position, layer, etc.). You may need to change the "geometry" parameter in the urxvtq scriptlet to adjust the height of the console.

Related scripts

トラブルシューティング

~/.Xresources is not being sourced

In some cases where urxvt does not acknowledge ~/.Xresources, you may need to add xrdb -merge ~/.Xresources to your ~/.xinitrc file. See X resources for more information.

Transparency not working after upgrade to v9.09

The rxvt-unicode developers removed compatibility code for a lot of non standard wallpaper setters with this update. Using a non compatible wallpaper setter will break transparency support. Recommended wallpaper setters:

  • feh
  • hsetroot
  • esetroot

To make true transparency work, make sure to comment URxvt.tintColor and URxvt.inheritPixmap.

リモートホスト

If you are logging into a remote host, you may encounter problems when running text-mode programs under rxvt-unicode. This can be fixed by installing rxvt-unicode-terminfo on the remote host or by copying /usr/share/terminfo/r/rxvt-unicode from your local machine to your host at ~/.terminfo/r/rxvt-unicode; same for rxvt-unicode-256color.

Some remote systems do not change title automatically unless you specify TERM=xterm. To fix the issue add this line to .bashrc on the remote machine:

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD}\007"'

Using rxvt-unicode as gmrun terminal

Unlike some other terminals, urxvt expects the arguments to -e to be given separately, rather than grouped together with quotes. This causes trouble with gmrun, which assumes the opposite behavior. This can be worked around by putting an "eval" in front of gmrun's "Terminal" variable in .gmrunrc:

Terminal = eval urxvt
TermExec = ${Terminal} -e

(gmrun uses /bin/sh to execute commands, so the "eval" is understood here.) The "eval" has the side-effect of "breaking up" the argument to -e in the same way that $@ does in Bash, making the command intelligible to urxvt.

My numerical keypad acts weird and generates differing output? (e.g. in vim)

Some Debian GNU/Linux users seem to have this problem, although no specific details were reported so far. It is possible that this is caused by the wrong TERM setting, although the details of whether and how this can happen are unknown, as TERM=rxvt should offer a compatible keymap. See the answer to the previous question, and please report if that helped.

However, using the xmodmap program (xorg-xmodmap), you can re-map your number pad keys back.

1. Check the keycode that your numerical keypad (numpad) generates using xev program.

  • Start the xev program
  • Press your number pad keys and look for ... keycode xxx ... in xev's output. For example, numpad 1 in my keyboard is also "End" key, that have a 'keycode 87'.

2. Create or modify your xmodmap file, usually ~/.Xmodmap, with the content representing your keycode.

Example of xmodmap file with number pad 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. Load your xmodmap file at X session start-up.

For example, in ~/.xinitrc file add:

...
xmodmap ~/.Xmodmap
...

Pseudo-tty

The following error is likely caused by /dev/pts having been mounted with the wrong options.

urxvt: can't initialize pseudo-tty, aborting.

Remove /dev/pts from /etc/fstab and fix the current mount options with:

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

See also [9], FS#36548, and [10].

Key combinations do not work

See Get Alt key to work in terminal.

Slow performance when drawing glyphs

Some programs like alsamixer and xprop do not perform well with some graphics drivers and in consequence redraw very slowly. The option "skipBuiltinGlyphs" for ~/.Xresources or the command line option -sbg may fix this. One possible solution is to add the following to ~/.Xresources:

URxvt*skipBuiltinGlyphs:    true

外部資料