urxvt
Run a terminal emulator within X
TLDR
Open a new urxvt window
Run in a specific directory
Run a command in a new urxvt window
Run a command and keep the window open
Run a command within the sh shell
SYNOPSIS
urxvt [options]
urxvt [options] -e command [arguments...]
PARAMETERS
-fn fontlist
Specifies the font or font list to be used for displaying text. Multiple fonts can be specified, separated by commas.
-geometry WxH+X+Y
Sets the initial size and position of the terminal window (e.g., 80x24+50+50).
-bg color
Specifies the background color of the terminal window.
-fg color
Specifies the foreground (text) color of the terminal window.
-name name
Specifies the application name under which resources are to be obtained, often used for specific Xresource configurations.
-e command [args...]
Executes the specified command with its arguments instead of the user's shell.
-sr / +sr
Enables (-sr) or disables (+sr) a scrollbar. +sr is often used to save space.
-rv / +rv
Reverses (-rv) or un-reverses (+rv) the foreground and background colors.
-transient
Makes the window a transient window, meaning it will appear on top of its parent and close with it.
-pe ext_name
Enables a specific Perl extension by its name. Multiple extensions can be loaded.
DESCRIPTION
urxvt (Rxvt-Unicode) is a highly configurable and lightweight terminal emulator for the X Window System. It's designed to be a modern replacement for the traditional rxvt, primarily by adding full Unicode support. Beyond Unicode, urxvt distinguishes itself with its ability to load Perl extensions, allowing users to deeply customize its behavior, add new features, and integrate with other tools. This makes it incredibly flexible for power users who want fine-grained control over their terminal environment. Key features include client/server mode for reduced memory usage, transparency, multiple fonts support, and excellent performance, making it a popular choice for developers and command-line enthusiasts who prioritize speed and extensibility.
CAVEATS
Configuration of urxvt is primarily done via X resources (typically in ~/.Xresources or ~/.config/Xresources), which can be less intuitive for users accustomed to GUI configuration. Its powerful Perl extension system, while highly flexible, requires some familiarity with scripting to leverage fully. Mouse support for copy-paste and URL handling might also require specific extensions.
CONFIGURATION FILES
urxvt reads its configuration from the X resource database. Typically, this means placing settings in your ~/.Xresources or ~/.config/Xresources file. After modifying these files, you usually need to run xrdb -load ~/.Xresources (or the relevant path) to apply changes, or simply restart your X session. Settings include colors, fonts, key bindings, scrollback buffer size, and Perl extension loading.
PERL EXTENSIONS
One of urxvt's most powerful features is its Perl extension system. Users can write or use pre-existing Perl scripts to extend the terminal's functionality. This includes features like URL highlighting and opening, tabbed interfaces, copy-on-select, and many more. Extensions are typically placed in ~/.urxvt/ext/ and loaded via X resources (e.g., URxvt.perl-ext: clipboard,url-launcher) or the -pe option.
HISTORY
urxvt, short for rxvt-unicode, originated as a fork of the rxvt terminal emulator. The primary motivation for its creation was to add native support for Unicode, a feature that was lacking in the original rxvt. Developed by Marc Lehmann, it also introduced a 'tiny' X resources implementation for efficient configuration and the revolutionary Perl extension system. This focus on Unicode, extensibility, and efficiency has cemented its place as a popular choice among Linux and Unix power users since its initial development in the early 2000s.