urxvtd - urxvt terminal daemon
urxvtd [-q|--quiet] [-o|--opendisplay] [-f|--fork] [-m|--mlock]
[-e|--eval
perlstring]
urxvtd -q -o -f # for .xsession use
This manpage describes the urxvtd daemon, which is the same vt102 terminal
emulator as urxvt, but runs as a daemon that can open multiple terminal
windows within the same process.
You can run it from your X startup scripts, for example, although it is not
dependent on a working DISPLAY and, in fact, can open windows on multiple X
displays on the same time.
Advantages of running a urxvt daemon include faster creation time for terminal
windows and a lot of saved memory.
The disadvantage is a possible impact on stability - if the main program
crashes, all processes in the terminal windows are terminated. For example, as
there is no way to cleanly react to abnormal connection closes,
"xkill" and server resets/restarts will kill the
urxvtd
instance including all windows it has opened.
urxvtd currently understands a few options only. Bundling of options is
not yet supported.
-
-q, --quiet
- Normally, urxvtd outputs the message
"rxvt-unicode daemon listening on <path>" after binding to
its control socket. This option will suppress this message (errors and
warnings will still be logged).
-
-o, --opendisplay
- This forces urxvtd to open a connection to the
current $DISPLAY and keep it open.
This is useful if you want to bind an instance of urxvtd to the
lifetime of a specific display/server. If the server does a reset,
urxvtd will be killed automatically.
-
-f, --fork
- This makes urxvtd fork after it has bound itself to
its control socket.
-
-m, --mlock
- This makes urxvtd call mlockall(2) on itself.
This locks urxvtd in RAM and prevents it from being swapped out to
disk, at the cost of consuming a lot more memory on most operating
systems.
Note: In order to use this feature, your system administrator must have set
your user's RLIMIT_MEMLOCK to a size greater than or equal to the size of
the urxvtd binary (or to unlimited). See
/etc/security/limits.conf.
Note 2: There is a known bug in glibc (possibly fixed in 2.8 and later
versions) where calloc returns non-zeroed memory when mlockall is in
effect. If you experience crashes or other odd behaviour while using
--mlock, try it without it.
-
-e, --eval perlstring
- Evaluate the given perl code after basic initialisation
(requires perl support to be enabled when compiling urxvtd).
This can be used for example to configure the internal perl interpreter,
which is shared between all terminal instances, or create additional
listening sockets for additional protocols.
The code is currently executed before creating the normal listening
sockets: this might change in future versions.
This is a useful invocation of
urxvtd in a
.xsession-style script:
urxvtd -q -f -o
This waits till the control socket is available, opens the current display and
forks into the background. When you log-out, the server is reset and
urxvtd is killed.
- RXVT_SOCKET
- Both urxvtc and urxvtd use the environment
variable RXVT_SOCKET to create a listening socket and to contact
the urxvtd, respectively. If the variable is missing then
$HOME /.urxvt/urxvtd-<nodename>
is used.
-
LISTEN_PID, LISTEN_FDS,
LISTEN_FDNAMES
- if these environment variables are set, urxvtd checks for a
file descriptor passed by the service manager via systemd native
interface. If one is provided, urxvtd uses it as its listening socket
instead of creating one as specified above.
- DISPLAY
- Only used when the "--opendisplay" option is
specified. Must contain a valid X display name.
urxvt(7),
urxvtc(1)