1 |
root |
1.1 |
=head1 NAME |
2 |
|
|
|
3 |
|
|
@@RXVT_NAME@@d - @@RXVT_NAME@@ terminal daemon |
4 |
|
|
|
5 |
|
|
=head1 SYNOPSIS |
6 |
|
|
|
7 |
root |
1.8 |
B<@@RXVT_NAME@@d> [-q|--quiet] [-o|--opendisplay] [-f|--fork] [-m|--mlock] [-e|--eval I<perlstring>] |
8 |
root |
1.1 |
|
9 |
root |
1.4 |
B<@@RXVT_NAME@@d> -q -o -f # for .xsession use |
10 |
|
|
|
11 |
root |
1.1 |
=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 |
root |
1.10 |
=over |
36 |
root |
1.1 |
|
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 |
root |
1.6 |
=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 |
root |
1.8 |
=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 |
root |
1.1 |
=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 |
root |
1.3 |
@@RXVT_NAME@@d -q -f -o |
92 |
root |
1.1 |
|
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 |
root |
1.10 |
=over |
100 |
root |
1.1 |
|
101 |
|
|
=item B<RXVT_SOCKET> |
102 |
|
|
|
103 |
root |
1.2 |
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 |
root |
1.5 |
the @@RXVT_NAME@@d, respectively. If the variable is missing then |
106 |
sf-exg |
1.7 |
F<<< $HOME/.urxvt/urxvtd-I<< <nodename> >> >>> is used. |
107 |
root |
1.1 |
|
108 |
sf-exg |
1.9 |
=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 |
root |
1.1 |
=item B<DISPLAY> |
116 |
|
|
|
117 |
|
|
Only used when the C<--opendisplay> option is specified. Must contain a |
118 |
|
|
valid X display name. |
119 |
|
|
|
120 |
root |
1.4 |
=back |
121 |
root |
1.1 |
|
122 |
|
|
=head1 SEE ALSO |
123 |
|
|
|
124 |
|
|
@@RXVT_NAME@@(7), @@RXVT_NAME@@c(1) |