.\" -*- 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(1)\fR, 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
.BI \-d [n] ,\ --debug [=n]
Set the debug level to
.I 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(1)\fR will automatically set the debug level when
starting \fBwineserver\fR if the +server option is set in the
WINEDEBUG variable.
.TP
.B \-f, --foreground
Make the server remain in the foreground for easier debugging, for
instance when running it under a debugger.
.TP
.B \-h, --help
Display a help message.
.TP
.BI \-k [n] ,\ --kill [=n]
Kill the currently running
.B 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
.BI \-p [n] ,\ --persistent [=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
.B \-v, --version
Display version information and exit.
.TP
.B \-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
.I @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
.B 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
.B 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/
.B http://www.winehq.org/.
.UE
.SH "SEE ALSO"
.BR wine (1).
