set _NET_WM_USER_TIME on the window
[dana/urxvt.git] / doc / rxvtd.1.pod
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]
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 =back
73
74 =head1 EXAMPLES
75
76 This is a useful invocation of B<@@RXVT_NAME@@d> in a F<.xsession>-style
77 script:
78
79    @@RXVT_NAME@@d -q -f -o
80
81 This waits till the control socket is available, opens the current display
82 and forks into the background. When you log-out, the server is reset and
83 B<@@RXVT_NAME@@d> is killed.
84
85 =head1 ENVIRONMENT
86
87 =over 4
88
89 =item B<RXVT_SOCKET>
90
91 Both B<@@RXVT_NAME@@c> and B<@@RXVT_NAME@@d> use the environment
92 variable F<RXVT_SOCKET> to create a listening socket and to contact
93 the @@RXVT_NAME@@d, respectively. If the variable is missing then
94 F<<< $HOME/.rxvt-unicode-I<< <nodename> >> >>> is used.
95
96 =item B<DISPLAY>
97
98 Only used when the C<--opendisplay> option is specified. Must contain a
99 valid X display name.
100
101 =back
102
103 =head1 SEE ALSO
104
105 @@RXVT_NAME@@(7), @@RXVT_NAME@@c(1)