.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "@@RXVT_NAME@@ 1"
.TH @@RXVT_NAME@@ 1 "2021-11-22" "@@RXVT_VERSION@@" "RXVT-UNICODE"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
@@RXVT_NAME@@d \- @@RXVT_NAME@@ terminal daemon
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fB@@RXVT_NAME@@d\fR [\-q|\-\-quiet] [\-o|\-\-opendisplay] [\-f|\-\-fork] [\-m|\-\-mlock] [\-e|\-\-eval \fIperlstring\fR]
.PP
\&\fB@@RXVT_NAME@@d\fR \-q \-o \-f    # for .xsession use
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This manpage describes the @@RXVT_NAME@@d daemon, which is the same vt102
terminal emulator as @@RXVT_NAME@@, but runs as a daemon that can open
multiple terminal windows within the same process.
.PP
You can run it from your X startup scripts, for example, although it is
not dependent on a working \s-1DISPLAY\s0 and, in fact, can open windows on
multiple X displays on the same time.
.PP
Advantages of running a @@RXVT_NAME@@ daemon include faster creation time
for terminal windows and a lot of saved memory.
.PP
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, \f(CW\*(C`xkill\*(C'\fR and server resets/restarts will kill the
\&\fB@@RXVT_NAME@@d\fR instance including all windows it has opened.
.SH "OPTIONS"
.IX Header "OPTIONS"
\&\fB@@RXVT_NAME@@d\fR currently understands a few options only. Bundling of
options is not yet supported.
.IP "\fB\-q\fR, \fB\-\-quiet\fR" 4
.IX Item "-q, --quiet"
Normally, \fB@@RXVT_NAME@@d\fR outputs the message \f(CW\*(C`rxvt\-unicode daemon
listening on <path>\*(C'\fR after binding to its control socket. This option
will suppress this message (errors and warnings will still be logged).
.IP "\fB\-o\fR, \fB\-\-opendisplay\fR" 4
.IX Item "-o, --opendisplay"
This forces \fB@@RXVT_NAME@@d\fR to open a connection to the current
\&\f(CW$DISPLAY\fR and keep it open.
.Sp
This is useful if you want to bind an instance of \fB@@RXVT_NAME@@d\fR to
the lifetime of a specific display/server. If the server does a reset,
\&\fB@@RXVT_NAME@@d\fR will be killed automatically.
.IP "\fB\-f\fR, \fB\-\-fork\fR" 4
.IX Item "-f, --fork"
This makes \fB@@RXVT_NAME@@d\fR fork after it has bound itself to its control
socket.
.IP "\fB\-m\fR, \fB\-\-mlock\fR" 4
.IX Item "-m, --mlock"
This makes \fB@@RXVT_NAME@@d\fR call \fBmlockall\fR\|(2) on itself. This locks
\&\fB@@RXVT_NAME@@d\fR in \s-1RAM\s0 and prevents it from being swapped out to disk,
at the cost of consuming a lot more memory on most operating systems.
.Sp
Note: In order to use this feature, your system administrator must have set
your user's \s-1RLIMIT_MEMLOCK\s0 to a size greater than or equal to the size of the
\&\fB@@RXVT_NAME@@d\fR binary (or to unlimited). See \fI/etc/security/limits.conf\fR.
.Sp
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.
.IP "\fB\-e\fR, \fB\-\-eval\fR \fIperlstring\fR" 4
.IX Item "-e, --eval perlstring"
Evaluate the given perl code after basic initialisation (requires perl
support to be enabled when compiling \fB@@RXVT_NAME@@d\fR).
.Sp
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.
.Sp
The code is currently executed \fIbefore\fR creating the normal listening
sockets: this might change in future versions.
.SH "EXAMPLES"
.IX Header "EXAMPLES"
This is a useful invocation of \fB@@RXVT_NAME@@d\fR in a \fI.xsession\fR\-style
script:
.PP
.Vb 1
\&   @@RXVT_NAME@@d \-q \-f \-o
.Ve
.PP
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
\&\fB@@RXVT_NAME@@d\fR is killed.
.SH "ENVIRONMENT"
.IX Header "ENVIRONMENT"
.IP "\fB\s-1RXVT_SOCKET\s0\fR" 4
.IX Item "RXVT_SOCKET"
Both \fB@@RXVT_NAME@@c\fR and \fB@@RXVT_NAME@@d\fR use the environment
variable \fI\s-1RXVT_SOCKET\s0\fR to create a listening socket and to contact
the @@RXVT_NAME@@d, respectively. If the variable is missing then
\&\fI\f(CI$HOME\fI/.urxvt/urxvtd\-\fI<nodename>\fI\fR is used.
.IP "\fB\s-1LISTEN_PID\s0\fR, \fB\s-1LISTEN_FDS\s0\fR, \fB\s-1LISTEN_FDNAMES\s0\fR" 4
.IX Item "LISTEN_PID, LISTEN_FDS, LISTEN_FDNAMES"
if these environment variables are set, @@RXVT_NAME@@d checks for a file
descriptor passed by the service manager via systemd native interface. If
one is provided, @@RXVT_NAME@@d uses it as its listening socket instead of
creating one as specified above.
.IP "\fB\s-1DISPLAY\s0\fR" 4
.IX Item "DISPLAY"
Only used when the \f(CW\*(C`\-\-opendisplay\*(C'\fR option is specified. Must contain a
valid X display name.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
@@RXVT_NAME@@(7), @@RXVT_NAME@@c(1)
