ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/doc/rxvtd.1.pod
Revision: 1.9
Committed: Sun May 9 05:53:11 2021 UTC (3 years, 1 month ago) by sf-exg
Branch: MAIN
CVS Tags: rxvt-unicode-rel-9_26, rxvt-unicode-rel-9_25
Changes since 1.8: +7 -0 lines
Log Message:
Add support for systemd socket activation

File Contents

# Content
1 =head1 NAME
2
3 @@RXVT_NAME@@d - @@RXVT_NAME@@ terminal daemon
4
5 =head1 SYNOPSIS
6
7 B<@@RXVT_NAME@@d> [-q|--quiet] [-o|--opendisplay] [-f|--fork] [-m|--mlock] [-e|--eval I<perlstring>]
8
9 B<@@RXVT_NAME@@d> -q -o -f # for .xsession use
10
11 =head1 DESCRIPTION
12
13 This manpage describes the @@RXVT_NAME@@d daemon, which is the same vt102
14 terminal emulator as @@RXVT_NAME@@, but runs as a daemon that can open
15 multiple terminal windows within the same process.
16
17 You can run it from your X startup scripts, for example, although it is
18 not dependent on a working DISPLAY and, in fact, can open windows on
19 multiple X displays on the same time.
20
21 Advantages of running a @@RXVT_NAME@@ daemon include faster creation time
22 for terminal windows and a lot of saved memory.
23
24 The disadvantage is a possible impact on stability - if the
25 main program crashes, all processes in the terminal windows are
26 terminated. For example, as there is no way to cleanly react to abnormal
27 connection closes, C<xkill> and server resets/restarts will kill the
28 B<@@RXVT_NAME@@d> instance including all windows it has opened.
29
30 =head1 OPTIONS
31
32 B<@@RXVT_NAME@@d> currently understands a few options only. Bundling of
33 options is not yet supported.
34
35 =over 4
36
37 =item B<-q>, B<--quiet>
38
39 Normally, B<@@RXVT_NAME@@d> outputs the message C<< rxvt-unicode daemon
40 listening on <path> >> after binding to its control socket. This option
41 will suppress this message (errors and warnings will still be logged).
42
43 =item B<-o>, B<--opendisplay>
44
45 This forces B<@@RXVT_NAME@@d> to open a connection to the current
46 C<$DISPLAY> and keep it open.
47
48 This is useful if you want to bind an instance of B<@@RXVT_NAME@@d> to
49 the lifetime of a specific display/server. If the server does a reset,
50 B<@@RXVT_NAME@@d> will be killed automatically.
51
52 =item B<-f>, B<--fork>
53
54 This makes B<@@RXVT_NAME@@d> fork after it has bound itself to its control
55 socket.
56
57 =item B<-m>, B<--mlock>
58
59 This makes B<@@RXVT_NAME@@d> call mlockall(2) on itself. This locks
60 B<@@RXVT_NAME@@d> in RAM and prevents it from being swapped out to disk,
61 at the cost of consuming a lot more memory on most operating systems.
62
63 Note: In order to use this feature, your system administrator must have set
64 your user's RLIMIT_MEMLOCK to a size greater than or equal to the size of the
65 B<@@RXVT_NAME@@d> binary (or to unlimited). See F</etc/security/limits.conf>.
66
67 Note 2: There is a known bug in glibc (possibly fixed in 2.8 and later
68 versions) where calloc returns non-zeroed memory when mlockall is in
69 effect. If you experience crashes or other odd behaviour while using
70 --mlock, try it without it.
71
72 =item B<-e>, B<--eval> I<perlstring>
73
74 Evaluate the given perl code after basic initialisation (requires perl
75 support to be enabled when compiling B<@@RXVT_NAME@@d>).
76
77 This can be used for example to configure the internal perl interpreter,
78 which is shared between all terminal instances, or create additional
79 listening sockets for additional protocols.
80
81 The code is currently executed I<before> creating the normal listening
82 sockets: this might change in future versions.
83
84 =back
85
86 =head1 EXAMPLES
87
88 This is a useful invocation of B<@@RXVT_NAME@@d> in a F<.xsession>-style
89 script:
90
91 @@RXVT_NAME@@d -q -f -o
92
93 This waits till the control socket is available, opens the current display
94 and forks into the background. When you log-out, the server is reset and
95 B<@@RXVT_NAME@@d> is killed.
96
97 =head1 ENVIRONMENT
98
99 =over 4
100
101 =item B<RXVT_SOCKET>
102
103 Both B<@@RXVT_NAME@@c> and B<@@RXVT_NAME@@d> use the environment
104 variable F<RXVT_SOCKET> to create a listening socket and to contact
105 the @@RXVT_NAME@@d, respectively. If the variable is missing then
106 F<<< $HOME/.urxvt/urxvtd-I<< <nodename> >> >>> is used.
107
108 =item B<LISTEN_PID>, B<LISTEN_FDS>, B<LISTEN_FDNAMES>
109
110 if these environment variables are set, @@RXVT_NAME@@d checks for a file
111 descriptor passed by the service manager via systemd native interface. If
112 one is provided, @@RXVT_NAME@@d uses it as its listening socket instead of
113 creating one as specified above.
114
115 =item B<DISPLAY>
116
117 Only used when the C<--opendisplay> option is specified. Must contain a
118 valid X display name.
119
120 =back
121
122 =head1 SEE ALSO
123
124 @@RXVT_NAME@@(7), @@RXVT_NAME@@c(1)