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<DISPLAY> |
109 |
|
110 |
Only used when the C<--opendisplay> option is specified. Must contain a |
111 |
valid X display name. |
112 |
|
113 |
=back |
114 |
|
115 |
=head1 SEE ALSO |
116 |
|
117 |
@@RXVT_NAME@@(7), @@RXVT_NAME@@c(1) |