1 .\" $Id: xvfb-run.1 2138 2005-01-17 23:40:27Z branden $
3 .\" Copyright 1998-2004 Branden Robinson <branden@debian.org>.
5 .\" This is free software; you may redistribute it and/or modify
6 .\" it under the terms of the GNU General Public License as
7 .\" published by the Free Software Foundation; either version 2,
8 .\" or (at your option) any later version.
10 .\" This is distributed in the hope that it will be useful, but
11 .\" WITHOUT ANY WARRANTY; without even the implied warranty of
12 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 .\" GNU General Public License for more details.
15 .\" You should have received a copy of the GNU General Public License with
16 .\" the Debian operating system, in /usr/share/common-licenses/GPL; if
17 .\" not, write to the Free Software Foundation, Inc., 59 Temple Place,
18 .\" Suite 330, Boston, MA 02111-1307 USA
20 .\" We need the URL macro from groff's www macro package, but also want
21 .\" things to work all right for people who don't have it. So we define
22 .\" our own URL macro and let the www macro package override it if it's
25 \\$2 \(laURL: \\$1 \(ra\\$3
27 .if \n[.g] .mso www.tmac
28 .TH xvfb\-run 1 "2004\-11\-12" "Debian Project"
30 xvfb\-run \- run specified X client or command in a virtual X server environment
41 command which simplifies the task of running commands (typically an X
42 client, or a script containing a list of clients to be run) within a virtual
46 sets up an X authority file (or uses an existing user\-specified one),
47 writes a cookie to it (see
51 X server as a background process.
54 is stored for later use.
57 is then run using the X display corresponding to the
60 just started and the X authority file created earlier.
64 exits, its status is saved, the
66 server is killed (using the process ID stored earlier), the X authority
67 cookie removed, and the authority file deleted (if the user did not specify
70 then exits with the exit status of
79 .B \-a\fR,\fB \-\-auto\-servernum
80 Try to get a free server number, starting at 99, or the argument to
83 .BI \-e\ file \fR,\fB\ \-\-error\-file= file
93 .BI \-f\ file \fR,\fB\ \-\-auth\-file= file
94 Store X authentication data in
96 By default, a temporary directory called
98 (where PID is the process ID of
100 itself) is created in the directory specified by the environment variable
104 if that variable is null or unset), and the
106 command is used to create a file in that temporary directory called
109 .B \-h\fR,\fB \-\-help
110 Display a usage message and exit.
112 .BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
115 as the server number (but see the
116 .B \-a\fR,\fB \-\-auto\-servernum
120 .B \-l\fR,\fB \-\-listen\-tcp
121 Enable TCP port listening in the X server.
122 For security reasons (to avoid denial\-of\-service attacks or exploits),
123 TCP port listening is disabled by default.
125 .BI \-p\ protocolname \fR,\fB\ \-\-xauth\-protocol= protocolname
128 as the X authority protocol to use.
129 The default is \(oq.\(cq, which
131 interprets as its own default protocol, which is MIT\-MAGIC\-COOKIE\-1.
133 .BI \-s\ arguments \fR,\fB\ \-\-server\-args= arguments
139 Be careful to quote any whitespace characters that may occur within
141 to prevent them from regarded as separators for
144 Also, note that specification of \(oq\-nolisten tcp\(cq in
146 may override the function of
149 .B \-l\fR,\fB \-\-listen\-tcp
150 option, and that specification of the server number (e.g., \(oq:1\(cq) may
151 be ignored because of the way the X server parses its argument list.
155 .BI \-n\ servernumber \fR,\fB\ \-\-server\-num= servernumber
156 to achieve the latter function.
157 The default is \(oq\-screen 0 640x480x8\(cq.
159 .BI \-w\ delay \fR,\fB\ \-\-wait= delay
162 seconds after launching
164 before attempting to start the specified command.
169 indicates the width of the terminal device in character cells.
170 This value is used for formatting diagnostic messages.
171 If not set, the terminal is queried using
173 to determine its width.
174 If that fails, a value of \(oq80\(cq is assumed.
177 specifies the directory in which to place
179 temporary directory for storage of the X authority file; only used if the
183 options are not specified.
190 options are specified, a temporary
191 directory and file within it are created (and deleted) to store the X
192 authority cookies used by the
194 server and client(s) run under it.
197 If \-f or \-\-auth\-file are used, then the specified X authority file is
198 only written to, not created or deleted (though
200 creates an authority file itself if told to use use that does not already
203 An error file with a user\-specified name is also created if the
207 options are specifed; see above.
210 uses its exit status as well as output to standard error to communicate
212 The exit status of \(oq1\(cq is not used, and should be interpreted as failure
213 of the specified command.
217 only uses this exit status if the
218 .B \-h\fR,\fB \-\-help
220 In all other situations, this may be interpreted as success of the specified
224 No command to run was specified.
229 command is not available.
232 The temporary directory that was going to be used already exists; since
234 produces a uniquely named directory, this may indicate an attempt by another
235 process on the system to exploit a temporary file race condition.
238 A problem was encountered while cleaning up the temporary directory.
241 A problem was encountered while using
243 to parse the command\-line arguments.
246 .B xvfb\-run \-\-auto\-servernum \-\-server\-num=1 xlogo
249 demonstration client inside the
251 X server on the first available server number greater than or equal to 1.
253 .B xvfb\-run \-\-server\-args="\-screen 0 1024x768x24" ico \-faces
256 demonstration client (and passes it the
260 X server, configured with a root window of 1024 by 768 pixels and a color
263 Note that the demo X clients used in the above examples will not exit on
264 their own, so they will have to be killed before
269 .URL "http://bugs.debian.org/xvfb" "the Debian Bug Tracking System" .
270 If you wish to report a bug in
277 was written by Branden Robinson and Jeff Licquia with sponsorship from
278 Progeny Linux Systems.
282 .\" vim:set et tw=80: