.\" -*- nroff -*-
.TH WINESERVER 1 "October 2005" "@PACKAGE_STRING@" "Windows on Unix"
.SH NAME
wineserver \- the Wine server
.SH SYNOPSIS
.BI wineserver\  [options]
.SH DESCRIPTION
.B wineserver
is a daemon process that provides to Wine roughly the same services
that the Windows kernel provides on Windows.
.PP
.B wineserver
is normally launched automatically when starting \fBwine\fR(1), so you
shouldn't have to worry about it. In some cases however, it can be
useful to start \fBwineserver\fR explicitly with different options, as
explained below.
.SH OPTIONS
.TP
\fB\-d\fI[n]\fR, \fB--debug\fI[=n]
Set the debug level to
.IR n .
0 means no debugging information, 1 is the normal level, and 2 is for
extra verbose debugging. If
.I n
is not specified, the default is 1. The debug output will be sent to
stderr. \fBwine\fR(1) will automatically set the debug level when
starting \fBwineserver\fR if the +server option is set in the
WINEDEBUG variable.
.TP
.BR \-f ", " --foreground
Make the server remain in the foreground for easier debugging, for
instance when running it under a debugger.
.TP
.BR \-h ", " --help
Display a help message.
.TP
\fB\-k\fI[n]\fR, \fB--kill\fI[=n]
Kill the currently running
.BR wineserver ,
optionally by sending signal \fIn\fR. If no signal is specified, sends
a SIGINT first and then a SIGKILL.  The instance of \fBwineserver\fR
that is killed is selected based on the WINEPREFIX environment
variable.
.TP
\fB\-p\fI[n]\fR, \fB--persistent\fI[=n]
Specify the \fBwineserver\fR persistence delay, i.e. the amount of
time that the server will keep running when all client processes have
terminated. This avoids the cost of shutting down and starting again
when programs are launched in quick succession. The timeout \fIn\fR is
in seconds, the default value is 3 seconds. If \fIn\fR is not
specified, the server stays around forever.
.TP
.BR \-v ", " --version
Display version information and exit.
.TP
.BR \-w ", " --wait
Wait until the currently running
.B wineserver
terminates.
.SH ENVIRONMENT VARIABLES
.TP
.I WINEPREFIX
If set, the content of this variable is taken as the name of the directory where
.B wineserver
stores its data (the default is \fI$HOME/.wine\fR). All
.B wine
processes using the same
.B wineserver
(i.e.: same user) share certain things like registry, shared memory
and kernel objects.
By setting
.I WINEPREFIX
to different values for different Wine processes, it is possible to
run a number of truly independent Wine sessions.
.TP
.I WINESERVER
Specifies the path and name of the
.B wineserver
binary that will be launched automatically by \fBwine\fR. If not set,
\fBwine\fR will try to load
.IR @bindir@/wineserver ,
and if this doesn't exist it will then look for a file named
\fIwineserver\fR in the path and in a few other likely locations.
.SH FILES
.TP
.B ~/.wine
Directory containing user specific data managed by
.BR wine .
.TP
.BI /tmp/.wine- uid
The directory containing the server Unix socket and the lock
file. These files are created in a subdirectory generated from the
WINEPREFIX directory device and inode numbers.
.SH AUTHORS
The original author of
.B wineserver
is Alexandre Julliard. Many other people have contributed new features
and bug fixes. Please check the file Changelog in the Wine
distribution for the complete details.
.SH BUGS
If you find a bug, please submit a bug report at
.UR http://bugs.winehq.org
.BR http://bugs.winehq.org .
.UE
.SH AVAILABILITY
.B wineserver
is part of the Wine distribution, which is available through WineHQ,
the Wine development headquarters, at
.UR http://www.winehq.org/
.BR http://www.winehq.org/ .
.UE
.SH "SEE ALSO"
.BR wine (1).
