John R. Sheets | 1e8e5ba | 2000-08-08 01:24:00 +0000 | [diff] [blame] | 1 | <chapter id="running"> |
| 2 | <title>Running Wine</title> |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 3 | |
| 4 | <para> |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 5 | This chapter will describe all aspects of running Wine, like e.g. |
| 6 | basic Wine invocation, command line parameters of various Wine |
| 7 | support programs etc. |
Mike Hearn | 04bb802 | 2003-02-26 04:33:29 +0000 | [diff] [blame] | 8 | </para> |
John R. Sheets | 1e8e5ba | 2000-08-08 01:24:00 +0000 | [diff] [blame] | 9 | |
Mike Hearn | 04bb802 | 2003-02-26 04:33:29 +0000 | [diff] [blame] | 10 | <sect1 id="basic-usage"> |
| 11 | <title>Basic usage: applications and control panel applets</title> |
| 12 | <para> |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 13 | Assuming you are using a fake Windows installation, you install |
| 14 | applications into Wine in the same way you would in Windows: by |
| 15 | running the installer. You can just accept the defaults for |
| 16 | where to install, most installers will default to "C:\Program |
| 17 | Files", which is fine. If the application installer requests it, |
| 18 | you may find that Wine creates icons on your desktop and in your |
| 19 | app menu. If that happens, you can start the app by clicking on |
| 20 | them. |
Mike Hearn | 04bb802 | 2003-02-26 04:33:29 +0000 | [diff] [blame] | 21 | </para> |
| 22 | |
| 23 | <para> |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 24 | The standard way to uninstall things is for the application to |
| 25 | provide an uninstaller, usually registered with the "Add/Remove |
| 26 | Programs" control panel applet. |
| 27 | To access the Wine equivalent, run the <command>uninstaller</command> |
| 28 | program (it is located in the |
| 29 | <filename>programs/uninstaller/</filename> directory in a Wine |
| 30 | source directory) in a <glossterm>terminal</glossterm>: |
Mike Hearn | 04bb802 | 2003-02-26 04:33:29 +0000 | [diff] [blame] | 31 | </para> |
| 32 | |
Mike Hearn | 953ce99 | 2003-03-28 19:46:49 +0000 | [diff] [blame] | 33 | <screen> |
| 34 | <prompt>$</prompt> <userinput>uninstaller</userinput> |
| 35 | </screen> |
| 36 | |
Mike Hearn | 04bb802 | 2003-02-26 04:33:29 +0000 | [diff] [blame] | 37 | <para> |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 38 | Some programs install associated control panel applets, examples |
| 39 | of this would be Internet Explorer and QuickTime. You can access |
| 40 | the Wine control panel by running in a |
| 41 | <glossterm>terminal</glossterm>: |
Mike Hearn | 04bb802 | 2003-02-26 04:33:29 +0000 | [diff] [blame] | 42 | </para> |
| 43 | |
| 44 | <screen> |
| 45 | <prompt>$</prompt> <userinput>wine control</userinput> |
| 46 | </screen> |
| 47 | |
| 48 | <para> |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 49 | which will open a window with the installed control panel |
| 50 | applets in it, as in Windows. |
Mike Hearn | 04bb802 | 2003-02-26 04:33:29 +0000 | [diff] [blame] | 51 | </para> |
| 52 | |
| 53 | <para> |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 54 | If the application doesn't install menu or desktop items, you'll |
| 55 | need to run the app from the command line. Remembering where you |
| 56 | installed to, something like: |
Mike Hearn | 04bb802 | 2003-02-26 04:33:29 +0000 | [diff] [blame] | 57 | </para> |
| 58 | |
| 59 | <screen> |
| 60 | <prompt>$</prompt> <userinput>wine "c:\program files\appname\appname.exe"</userinput> |
| 61 | </screen> |
| 62 | |
| 63 | <para> |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 64 | will probably do the trick. The path isn't case sensitive, but |
| 65 | remember to include the double quotes. Some programs don't |
| 66 | always use obvious naming for their directories and EXE files, |
| 67 | so you might have to look inside the program files directory to |
Dimitrie O. Paun | 66f1725 | 2004-01-30 22:58:26 +0000 | [diff] [blame] | 68 | see what was put where. |
Mike Hearn | 04bb802 | 2003-02-26 04:33:29 +0000 | [diff] [blame] | 69 | </para> |
| 70 | </sect1> |
Andreas Mohr | b7a3f2b | 2003-05-02 20:09:58 +0000 | [diff] [blame] | 71 | |
John R. Sheets | 1e8e5ba | 2000-08-08 01:24:00 +0000 | [diff] [blame] | 72 | <sect1 id="running-wine"> |
| 73 | <title>How to run Wine</title> |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 74 | |
| 75 | <para> |
Dimitrie O. Paun | f950d97 | 2004-05-06 23:51:43 +0000 | [diff] [blame] | 76 | You can simply invoke the <command>wine</command> command to |
| 77 | get a small help message: |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 78 | </para> |
| 79 | <para> |
| 80 | <screen> |
Dimitrie O. Paun | f950d97 | 2004-05-06 23:51:43 +0000 | [diff] [blame] | 81 | Wine 20040405 |
| 82 | Usage: wine PROGRAM [ARGUMENTS...] Run the specified program |
| 83 | wine --help Display this help and exit |
| 84 | wine --version Output version information and exit |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 85 | </screen> |
| 86 | </para> |
| 87 | |
| 88 | <para> |
Dimitrie O. Paun | f950d97 | 2004-05-06 23:51:43 +0000 | [diff] [blame] | 89 | The first argument should be the name of the file you |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 90 | want <command>wine</command> to execute. If the executable is |
| 91 | in the <parameter>Path</parameter> parameter in the |
| 92 | configuration file, you can simply give the executable file |
| 93 | name. However, if the executable is not in |
| 94 | <parameter>Path</parameter>, you must give the full path to |
| 95 | the executable (in Windows format, not UNIX format!). For |
| 96 | example, given a <parameter>Path</parameter> of the following: |
| 97 | </para> |
| 98 | <screen> |
| 99 | [wine] |
Andreas Mohr | 5ec74d6 | 2002-07-24 03:00:02 +0000 | [diff] [blame] | 100 | "Path"="c:\\windows;c:\\windows\\system;e:\\;e:\\test;f:\\" |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 101 | </screen> |
| 102 | <para> |
| 103 | You could run the file |
| 104 | <filename>c:\windows\system\foo.exe</filename> with: |
| 105 | </para> |
| 106 | <screen> |
| 107 | <prompt>$</prompt> <userinput>wine foo.exe</userinput> |
| 108 | </screen> |
| 109 | <para> |
| 110 | However, you would have to run the file |
| 111 | <filename>c:\myapps\foo.exe</filename> with this command: |
| 112 | </para> |
| 113 | <screen> |
Andreas Mohr | 5ec74d6 | 2002-07-24 03:00:02 +0000 | [diff] [blame] | 114 | <prompt>$</prompt> <userinput>wine c:\\myapps\\foo.exe</userinput> |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 115 | </screen> |
Andreas Mohr | 5ec74d6 | 2002-07-24 03:00:02 +0000 | [diff] [blame] | 116 | <para> |
| 117 | (note the backslash-escaped "\" !) |
| 118 | </para> |
Eric Pouech | 0b83d4c | 2001-11-23 23:04:58 +0000 | [diff] [blame] | 119 | <para> |
Eric Pouech | 0b36e34 | 2003-03-10 19:06:46 +0000 | [diff] [blame] | 120 | For details on running text mode (CUI) executables, read the |
| 121 | <link linkend="CUI-programs">section</link> below. |
Eric Pouech | 0b83d4c | 2001-11-23 23:04:58 +0000 | [diff] [blame] | 122 | </para> |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 123 | </sect1> |
| 124 | |
Vincent BĂ©ron | 7006ab1 | 2003-07-21 22:13:19 +0000 | [diff] [blame] | 125 | <sect1 id="explorer-like-wine"> |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 126 | <title>Explorer-like graphical Wine environments</title> |
Andreas Mohr | b7a3f2b | 2003-05-02 20:09:58 +0000 | [diff] [blame] | 127 | |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 128 | <para> |
Brian Vincent | 652919b | 2004-02-20 01:09:49 +0000 | [diff] [blame] | 129 | If you prefer using a graphical interface to manage your |
| 130 | files you might want to consider using Winefile. This Winelib |
| 131 | application comes with Wine and can be found with the other |
| 132 | Wine programs. It is a useful way to view your drive configuration |
| 133 | and locate files, plus you can execute programs directly from |
| 134 | Winefile. Please note, many functions are not yet implemented. |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 135 | </para> |
| 136 | </sect1> |
| 137 | |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 138 | <sect1 id="command-line-options"> |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 139 | <title>Wine Command Line Options</title> |
John R. Sheets | 1828e59 | 2001-01-24 19:36:24 +0000 | [diff] [blame] | 140 | |
Dimitrie O. Paun | f950d97 | 2004-05-06 23:51:43 +0000 | [diff] [blame] | 141 | <sect2> |
| 142 | <title>--help</title> |
| 143 | <para> |
| 144 | Shows a small command line help page. |
| 145 | </para> |
| 146 | </sect2> |
| 147 | |
| 148 | <sect2> |
| 149 | <title>--version</title> |
| 150 | <para> |
| 151 | Shows the Wine version string. Useful to verify your installation. |
| 152 | </para> |
| 153 | </sect2> |
| 154 | </sect1> |
| 155 | |
| 156 | <sect1> |
| 157 | <title>Environment variables</title> |
| 158 | <sect2> |
| 159 | <title>WINEDEBUG=[channels]</title> |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 160 | <para> |
| 161 | Wine isn't perfect, and many Windows applications still |
Andreas Mohr | 5ec74d6 | 2002-07-24 03:00:02 +0000 | [diff] [blame] | 162 | don't run without bugs under Wine (but then, a lot of programs |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 163 | don't run without bugs under native Windows either!). To |
| 164 | make it easier for people to track down the causes behind |
| 165 | each bug, Wine provides a number of <firstterm>debug |
| 166 | channels</firstterm> that you can tap into. |
| 167 | </para> |
| 168 | <para> |
| 169 | Each debug channel, when activated, will trigger logging |
| 170 | messages to be displayed to the console where you invoked |
| 171 | <command>wine</command>. From there you can redirect the |
| 172 | messages to a file and examine it at your leisure. But be |
| 173 | forewarned! Some debug channels can generate incredible |
| 174 | volumes of log messages. Among the most prolific offenders |
| 175 | are <parameter>relay</parameter> which spits out a log |
| 176 | message every time a win32 function is called, |
| 177 | <parameter>win</parameter> which tracks windows message |
| 178 | passing, and of course <parameter>all</parameter> which is |
| 179 | an alias for every single debug channel that exists. For a |
| 180 | complex application, your debug logs can easily top 1 MB and |
| 181 | higher. A <parameter>relay</parameter> trace can often |
| 182 | generate more than 10 MB of log messages, depending on how |
Bill Medland | 8417027 | 2002-10-19 01:00:04 +0000 | [diff] [blame] | 183 | long you run the application. (As described in the |
| 184 | <link linkend = "config-debug-etc">Debug</link> |
| 185 | section of configuring wine you can |
| 186 | modify what the <parameter>relay</parameter> trace reports). |
| 187 | Logging does slow down Wine |
Dimitrie O. Paun | f950d97 | 2004-05-06 23:51:43 +0000 | [diff] [blame] | 188 | quite a bit, so don't use <parameter>WINEDEBUG</parameter> |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 189 | unless you really do want log files. |
| 190 | </para> |
| 191 | <para> |
| 192 | Within each debug channel, you can further specify a |
| 193 | <firstterm>message class</firstterm>, to filter out the |
| 194 | different severities of errors. The four message classes |
| 195 | are: |
| 196 | <simplelist type="inline"> |
| 197 | <member><parameter>trace</parameter></member> |
| 198 | <member><parameter>fixme</parameter></member> |
| 199 | <member><parameter>warn</parameter></member> |
| 200 | <member><parameter>err</parameter></member> |
| 201 | </simplelist>. |
| 202 | </para> |
| 203 | <para> |
| 204 | To turn on a debug channel, use the form |
| 205 | <parameter>class+channel</parameter>. To turn it off, use |
| 206 | <parameter>class-channel</parameter>. To list more than one |
Dimitrie O. Paun | f950d97 | 2004-05-06 23:51:43 +0000 | [diff] [blame] | 207 | channel in the same <parameter>WINEDEBUG</parameter> |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 208 | option, separate them with commas. For example, to request |
| 209 | <parameter>warn</parameter> class messages in the |
| 210 | <parameter>heap</parameter> debug channel, you could invoke |
| 211 | <command>wine</command> like this: |
| 212 | </para> |
| 213 | <screen> |
Dimitrie O. Paun | f950d97 | 2004-05-06 23:51:43 +0000 | [diff] [blame] | 214 | <prompt>$</prompt> <userinput>WINEDEBUG=warn+heap wine <replaceable>program_name</replaceable></userinput> |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 215 | </screen> |
| 216 | <para> |
| 217 | If you leave off the message class, <command>wine</command> |
| 218 | will display messages from all four classes for that channel: |
| 219 | </para> |
| 220 | <screen> |
Dimitrie O. Paun | f950d97 | 2004-05-06 23:51:43 +0000 | [diff] [blame] | 221 | <prompt>$</prompt> <userinput>WINEDEBUG=heap wine <replaceable>program_name</replaceable></userinput> |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 222 | </screen> |
| 223 | <para> |
| 224 | If you wanted to see log messages for everything except the |
| 225 | relay channel, you might do something like this: |
| 226 | </para> |
| 227 | <screen> |
Dimitrie O. Paun | f950d97 | 2004-05-06 23:51:43 +0000 | [diff] [blame] | 228 | <prompt>$</prompt> <userinput>WINEDEBUG=+all,-relay wine <replaceable>program_name</replaceable></userinput> |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 229 | </screen> |
| 230 | <para> |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 231 | Here is a list of the debug channels and classes in Wine. |
| 232 | More channels will be added to (or subtracted from) later |
| 233 | versions. |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 234 | </para> |
Susan Farley | 3b10efe | 2001-09-26 23:02:31 +0000 | [diff] [blame] | 235 | |
| 236 | <table frame="none"><title>Debug Channels</title> |
| 237 | <tgroup cols=5 align="left"> |
| 238 | <tbody> |
Mike Hearn | 3e22f43 | 2003-11-28 23:36:25 +0000 | [diff] [blame] | 239 | <row> <entry>accel</entry> <entry>adpcm</entry> <entry>advapi</entry> <entry>animate</entry> <entry>aspi</entry> </row> |
| 240 | <row> <entry>atom</entry> <entry>avicap</entry> <entry>avifile</entry> <entry>bidi</entry> <entry>bitblt</entry> </row> |
| 241 | <row> <entry>bitmap</entry> <entry>cabinet</entry> <entry>capi</entry> <entry>caret</entry> <entry>cdrom</entry> </row> |
| 242 | <row> <entry>cfgmgr32</entry> <entry>class</entry> <entry>clipboard</entry> <entry>clipping</entry> <entry>combo</entry> </row> |
| 243 | <row> <entry>comboex</entry> <entry>comm</entry> <entry>commctrl</entry> <entry>commdlg</entry> <entry>computername</entry> </row> |
| 244 | <row> <entry>console</entry> <entry>crtdll</entry> <entry>crypt</entry> <entry>curses</entry> <entry>cursor</entry> </row> |
| 245 | <row> <entry>d3d</entry> <entry>d3d_shader</entry> <entry>d3d_surface</entry> <entry>datetime</entry> <entry>dc</entry> </row> |
| 246 | <row> <entry>ddeml</entry> <entry>ddraw</entry> <entry>ddraw_fps</entry> <entry>ddraw_geom</entry> <entry>ddraw_tex</entry> </row> |
| 247 | <row> <entry>debugstr</entry> <entry>devenum</entry> <entry>dialog</entry> <entry>dinput</entry> <entry>dll</entry> </row> |
| 248 | <row> <entry>dma</entry> <entry>dmband</entry> <entry>dmcompos</entry> <entry>dmfile</entry> <entry>dmfiledat</entry> </row> |
| 249 | <row> <entry>dmime</entry> <entry>dmloader</entry> <entry>dmscript</entry> <entry>dmstyle</entry> <entry>dmsynth</entry> </row> |
| 250 | <row> <entry>dmusic</entry> <entry>dosfs</entry> <entry>dosmem</entry> <entry>dplay</entry> <entry>dplayx</entry> </row> |
| 251 | <row> <entry>dpnhpast</entry> <entry>driver</entry> <entry>dsound</entry> <entry>dsound3d</entry> <entry>edit</entry> </row> |
| 252 | <row> <entry>enhmetafile</entry> <entry>environ</entry> <entry>event</entry> <entry>eventlog</entry> <entry>exec</entry> </row> |
| 253 | <row> <entry>file</entry> <entry>fixup</entry> <entry>font</entry> <entry>fps</entry> <entry>g711</entry> </row> |
| 254 | <row> <entry>gdi</entry> <entry>global</entry> <entry>glu</entry> <entry>graphics</entry> <entry>header</entry> </row> |
| 255 | <row> <entry>heap</entry> <entry>hook</entry> <entry>hotkey</entry> <entry>icmp</entry> <entry>icon</entry> </row> |
| 256 | <row> <entry>imagehlp</entry> <entry>imagelist</entry> <entry>imm</entry> <entry>int</entry> <entry>int21</entry> </row> |
| 257 | <row> <entry>int31</entry> <entry>io</entry> <entry>ipaddress</entry> <entry>iphlpapi</entry> <entry>jack</entry> </row> |
| 258 | <row> <entry>joystick</entry> <entry>key</entry> <entry>keyboard</entry> <entry>listbox</entry> <entry>listview</entry> </row> |
| 259 | <row> <entry>loaddll</entry> <entry>local</entry> <entry>mapi</entry> <entry>mci</entry> <entry>mcianim</entry> </row> |
| 260 | <row> <entry>mciavi</entry> <entry>mcicda</entry> <entry>mcimidi</entry> <entry>mciwave</entry> <entry>mdi</entry> </row> |
| 261 | <row> <entry>menu</entry> <entry>menubuilder</entry> <entry>message</entry> <entry>metafile</entry> <entry>midi</entry> </row> |
| 262 | <row> <entry>mmaux</entry> <entry>mmio</entry> <entry>mmsys</entry> <entry>mmtime</entry> <entry>module</entry> </row> |
| 263 | <row> <entry>monthcal</entry> <entry>mpeg3</entry> <entry>mpr</entry> <entry>msacm</entry> <entry>msdmo</entry> </row> |
| 264 | <row> <entry>msg</entry> <entry>mshtml</entry> <entry>msi</entry> <entry>msimg32</entry> <entry>msisys</entry> </row> |
| 265 | <row> <entry>msrle32</entry> <entry>msvcrt</entry> <entry>msvideo</entry> <entry>mswsock</entry> <entry>nativefont</entry> </row> |
| 266 | <row> <entry>netapi32</entry> <entry>netbios</entry> <entry>nls</entry> <entry>nonclient</entry> <entry>ntdll</entry> </row> |
| 267 | <row> <entry>odbc</entry> <entry>ole</entry> <entry>oledlg</entry> <entry>olerelay</entry> <entry>opengl</entry> </row> |
| 268 | <row> <entry>pager</entry> <entry>palette</entry> <entry>pidl</entry> <entry>powermgnt</entry> <entry>print</entry> </row> |
| 269 | <row> <entry>process</entry> <entry>profile</entry> <entry>progress</entry> <entry>propsheet</entry> <entry>psapi</entry> </row> |
| 270 | <row> <entry>psdrv</entry> <entry>qcap</entry> <entry>quartz</entry> <entry>ras</entry> <entry>rebar</entry> </row> |
| 271 | <row> <entry>reg</entry> <entry>region</entry> <entry>relay</entry> <entry>resource</entry> <entry>richedit</entry> </row> |
| 272 | <row> <entry>rundll32</entry> <entry>sblaster</entry> <entry>scroll</entry> <entry>seh</entry> <entry>selector</entry> </row> |
| 273 | <row> <entry>server</entry> <entry>setupapi</entry> <entry>shdocvw</entry> <entry>shell</entry> <entry>shlctrl</entry> </row> |
| 274 | <row> <entry>snmpapi</entry> <entry>snoop</entry> <entry>sound</entry> <entry>static</entry> <entry>statusbar</entry> </row> |
| 275 | <row> <entry>storage</entry> <entry>stress</entry> <entry>string</entry> <entry>syscolor</entry> <entry>system</entry> </row> |
| 276 | <row> <entry>tab</entry> <entry>tape</entry> <entry>tapi</entry> <entry>task</entry> <entry>text</entry> </row> |
| 277 | <row> <entry>thread</entry> <entry>thunk</entry> <entry>tid</entry> <entry>timer</entry> <entry>toolbar</entry> </row> |
| 278 | <row> <entry>toolhelp</entry> <entry>tooltips</entry> <entry>trackbar</entry> <entry>treeview</entry> <entry>ttydrv</entry> </row> |
| 279 | <row> <entry>twain</entry> <entry>typelib</entry> <entry>uninstaller</entry> <entry>updown</entry> <entry>urlmon</entry> </row> |
| 280 | <row> <entry>uxtheme</entry> <entry>ver</entry> <entry>virtual</entry> <entry>vxd</entry> <entry>wave</entry> </row> |
| 281 | <row> <entry>wc_font</entry> <entry>win</entry> <entry>win32</entry> <entry>wineboot</entry> <entry>winecfg</entry> </row> |
| 282 | <row> <entry>wineconsole</entry> <entry>wine_d3d</entry> <entry>winevdm</entry> <entry>wing</entry> <entry>winhelp</entry> </row> |
| 283 | <row> <entry>wininet</entry> <entry>winmm</entry> <entry>winsock</entry> <entry>winspool</entry> <entry>wintab</entry> </row> |
| 284 | <row> <entry>wintab32</entry> <entry>wnet</entry> <entry>x11drv</entry> <entry>x11settings</entry> <entry>xdnd</entry> </row> |
| 285 | <row> <entry>xrandr</entry> <entry>xrender</entry> <entry>xvidmode</entry> </row> |
Susan Farley | 3b10efe | 2001-09-26 23:02:31 +0000 | [diff] [blame] | 286 | </tbody> |
| 287 | </tgroup> |
| 288 | </table> |
| 289 | |
John R. Sheets | d9e064f | 2000-12-13 21:52:37 +0000 | [diff] [blame] | 290 | <para> |
| 291 | For more details about debug channels, check out the |
| 292 | <ulink url="http://wine.codeweavers.com/docs/wine-devel/"> |
| 293 | The Wine Developer's Guide</ulink>. |
| 294 | </para> |
| 295 | </sect2> |
John R. Sheets | 1e8e5ba | 2000-08-08 01:24:00 +0000 | [diff] [blame] | 296 | </sect1> |
Andreas Mohr | 52ab395 | 2002-07-08 19:36:51 +0000 | [diff] [blame] | 297 | |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 298 | <sect1 id="wineserver-command-line-options"> |
| 299 | <title>wineserver Command Line Options</title> |
| 300 | |
| 301 | <para> |
| 302 | wineserver usually gets started automatically by Wine whenever |
| 303 | the first wine process gets started. |
| 304 | However, wineserver has some useful command line options that |
| 305 | you can add if you start it up manually, e.g. via a user login |
| 306 | script or so. |
| 307 | </para> |
| 308 | |
| 309 | <sect2 id="wineserver-config-parameter"> |
| 310 | <title>-d<n></title> |
| 311 | <para> |
| 312 | Sets the debug level for debug output in the terminal that |
| 313 | wineserver got started in at level <n>. |
| 314 | In other words: everything greater than 0 will enable |
Dimitrie O. Paun | f950d97 | 2004-05-06 23:51:43 +0000 | [diff] [blame] | 315 | wineserver specific debugging output. |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 316 | </para> |
| 317 | </sect2> |
Andreas Mohr | b7a3f2b | 2003-05-02 20:09:58 +0000 | [diff] [blame] | 318 | |
Andreas Mohr | 56e6cd0 | 2003-04-01 03:26:13 +0000 | [diff] [blame] | 319 | <sect2> |
| 320 | <title>-h</title> |
| 321 | <para> |
| 322 | Display wineserver command line options help message. |
| 323 | </para> |
| 324 | </sect2> |
| 325 | |
| 326 | <sect2> |
| 327 | <title>-k[n]</title> |
| 328 | <para> |
| 329 | Kill the current wineserver, optionally with signal n. |
| 330 | </para> |
| 331 | </sect2> |
| 332 | |
| 333 | <sect2> |
| 334 | <title>-p[n]</title> |
| 335 | <para> |
| 336 | This parameter makes wineserver persistent, optionally for n |
| 337 | seconds. It will prevent wineserver from shutting down immediately. |
| 338 | </para> |
| 339 | <para> |
| 340 | Usually, wineserver quits almost immediately after the last |
| 341 | wine process using this wineserver terminated. |
| 342 | However, since wineserver loads a lot of things on startup |
| 343 | (such as the whole Windows registry data), its startup might |
| 344 | be so slow that it's very useful to keep it from exiting after |
| 345 | the end of all Wine sessions, by making it persistent. |
| 346 | </para> |
| 347 | </sect2> |
| 348 | |
| 349 | <sect2> |
| 350 | <title>-w</title> |
| 351 | <para> |
| 352 | This parameter makes a newly started wineserver wait until the |
| 353 | currently active wineserver instance terminates. |
| 354 | </para> |
| 355 | </sect2> |
| 356 | </sect1> |
| 357 | |
Andreas Mohr | 52ab395 | 2002-07-08 19:36:51 +0000 | [diff] [blame] | 358 | <sect1 id="environment-variables"> |
| 359 | <title>Setting Windows/DOS environment variables</title> |
| 360 | <para> |
| 361 | Your program might require some environment variable to be set |
| 362 | properly in order to run successfully. |
| 363 | In this case you need to set this environment variable in the |
| 364 | Linux shell, since Wine will pass on the entire shell environment |
| 365 | variable settings to the Windows environment variable space. |
| 366 | Example for the bash shell (other shells may have a different syntax |
| 367 | !): |
| 368 | <screen> |
| 369 | export MYENVIRONMENTVAR=myenvironmentvarsetting |
| 370 | </screen> |
| 371 | This will make sure your Windows program can access the |
| 372 | MYENVIRONMENTVAR environment variable once you start your program |
| 373 | using Wine. |
| 374 | If you want to have MYENVIRONMENTVAR set permanently, then you can |
| 375 | place the setting into /etc/profile, or also ~/.bashrc in the case of |
| 376 | bash. |
| 377 | </para> |
Andreas Mohr | f71ae47 | 2002-12-16 22:09:55 +0000 | [diff] [blame] | 378 | <para> |
| 379 | Note however that there is an exception to the rule: |
| 380 | If you want to change the PATH environment variable, then of |
| 381 | course you can't modify it that way, since this will alter the |
| 382 | Unix PATH environment setting. Instead, you should set the |
| 383 | WINEPATH environment variable. An alternative way to |
| 384 | indicate the content of the DOS PATH environment variable would |
| 385 | be to change the "path" setting in the wine config file's <link |
| 386 | linkend="config-wine">[wine]</link> section. |
| 387 | </para> |
Andreas Mohr | b7a3f2b | 2003-05-02 20:09:58 +0000 | [diff] [blame] | 388 | |
Andreas Mohr | 52ab395 | 2002-07-08 19:36:51 +0000 | [diff] [blame] | 389 | </sect1> |
| 390 | |
Eric Pouech | 0b36e34 | 2003-03-10 19:06:46 +0000 | [diff] [blame] | 391 | <sect1 id="CUI-programs"> |
| 392 | <title>Text mode programs (CUI: Console User Interface)</title> |
| 393 | <para>Text mode programs are program which output is only made |
Tom Wickline | c28575e | 2003-07-09 19:50:14 +0000 | [diff] [blame] | 394 | out of text (surprise!). In Windows terminology, they are |
Eric Pouech | 0b36e34 | 2003-03-10 19:06:46 +0000 | [diff] [blame] | 395 | called CUI (Console User Interface) executables, by opposition |
| 396 | to GUI (Graphical User Interface) executables. Win32 API |
| 397 | provide a complete set of APIs to handle this situation, which |
| 398 | goes from basic features like text printing, up to high level |
Tom Wickline | c28575e | 2003-07-09 19:50:14 +0000 | [diff] [blame] | 399 | functionalities (like full screen editing, color support, |
Eric Pouech | 0b36e34 | 2003-03-10 19:06:46 +0000 | [diff] [blame] | 400 | cursor motion, mouse support), going through features like |
| 401 | line editing or raw/cooked input stream support |
| 402 | </para> |
| 403 | <para> |
| 404 | Given the wide scope of features above, and the current usage |
| 405 | in Un*x world, Wine comes out with three different ways for |
| 406 | running a console program (aka a CUI executable): |
| 407 | <itemizedlist> |
| 408 | <listitem> |
Vincent BĂ©ron | b940e37 | 2003-07-21 22:42:50 +0000 | [diff] [blame] | 409 | <para> |
| 410 | bare streams |
| 411 | </para> |
Eric Pouech | 0b36e34 | 2003-03-10 19:06:46 +0000 | [diff] [blame] | 412 | </listitem> |
| 413 | <listitem> |
Vincent BĂ©ron | b940e37 | 2003-07-21 22:42:50 +0000 | [diff] [blame] | 414 | <para> |
| 415 | wineconsole with user backend |
| 416 | </para> |
Eric Pouech | 0b36e34 | 2003-03-10 19:06:46 +0000 | [diff] [blame] | 417 | </listitem> |
| 418 | <listitem> |
Vincent BĂ©ron | b940e37 | 2003-07-21 22:42:50 +0000 | [diff] [blame] | 419 | <para> |
| 420 | wineconsole with curses backend |
| 421 | </para> |
Eric Pouech | 0b36e34 | 2003-03-10 19:06:46 +0000 | [diff] [blame] | 422 | </listitem> |
| 423 | </itemizedlist> |
| 424 | </para> |
| 425 | <para>The names here are a bit obscure. "bare streams" means |
| 426 | that no extra support of wine is provide to map between the |
| 427 | unix console access and Windows console access. The two other |
| 428 | ways require the use of a specific Wine program (wineconsole) |
| 429 | which provide extended facilities. The following table |
| 430 | describes what you can do (and cannot do) with those three |
| 431 | ways. |
| 432 | <table> |
| 433 | <title>Basic differences in consoles</title> |
| 434 | <tgroup cols="4" align="left"> |
| 435 | <thead> |
| 436 | <row> |
| 437 | <entry>Function</entry> |
| 438 | <entry>Bare streams</entry> |
| 439 | <entry>Wineconsole & user backend</entry> |
| 440 | <entry>Wineconsole & curses backend</entry> |
| 441 | </row> |
| 442 | </thead> |
| 443 | <tbody> |
| 444 | <row> |
| 445 | <entry>How to run (assuming executable is called foo.exe)</entry> |
| 446 | <entry><msgtext> |
| 447 | <screen><prompt>$</prompt> <userinput>wine foo.exe</userinput></screen> |
| 448 | </msgtext></entry> |
| 449 | <entry><msgtext> |
| 450 | <screen><prompt>$</prompt> <userinput>wineconsole -- --backend=user foo.exe</userinput></screen> |
| 451 | </msgtext></entry> |
| 452 | <entry><msgtext> |
| 453 | <screen><prompt>$</prompt> <userinput>wineconsole foo.exe</userinput></screen> |
| 454 | </msgtext>You can also use --backend=curses as an option</entry> |
| 455 | </row> |
| 456 | <row> |
| 457 | <entry>Good support for line oriented CUI applications |
| 458 | (which print information line after line) |
| 459 | </entry> |
| 460 | <entry>Yes</entry> |
| 461 | <entry>Yes</entry> |
| 462 | <entry>Yes</entry> |
| 463 | </row> |
| 464 | <row> |
| 465 | <entry>Good support for full screen CUI |
| 466 | applications (including but not limited to color |
| 467 | support, mouse support...)</entry> |
| 468 | <entry>No</entry> |
| 469 | <entry>Yes</entry> |
| 470 | <entry>Yes</entry> |
| 471 | </row> |
| 472 | <row> |
| 473 | <entry>Can be run even if X11 is not running</entry> |
| 474 | <entry>Yes</entry> |
| 475 | <entry>No</entry> |
| 476 | <entry>Yes</entry> |
| 477 | </row> |
| 478 | <row> |
| 479 | <entry>Implementation</entry> |
| 480 | <entry>Maps the standard Windows streams to the |
| 481 | standard Unix streams (stdin/stdout/stderr) |
| 482 | </entry> |
| 483 | <entry> |
| 484 | Wineconsole will create a new Window (hence |
| 485 | requiring the USER32 DLL is available) where all |
| 486 | information will be displayed |
| 487 | </entry> |
| 488 | <entry> |
| 489 | Wineconsole will use existing unix console |
| 490 | (from which the program is run) and with the help of |
| 491 | the (n)curses library take control of all the terminal |
| 492 | surface for interacting with the user |
| 493 | </entry> |
| 494 | </row> |
| 495 | <row> |
| 496 | <entry>Known limitations</entry> |
| 497 | <entry></entry> |
| 498 | <entry></entry> |
| 499 | <entry> |
| 500 | Will produce strange behavior if two (or more) |
| 501 | Windows consoles are used on the same Un*x terminal. |
| 502 | </entry> |
| 503 | </row> |
| 504 | </tbody> |
| 505 | </tgroup> |
| 506 | </table> |
| 507 | </para> |
| 508 | <sect2 id="CUI-programs-config"> |
| 509 | <title>Configuration of CUI executables</title> |
| 510 | <para> |
| 511 | When wineconsole is used, several configuration options are |
| 512 | available. Wine (as Windows do) stores, on a per application |
| 513 | basis, several options in the registry. This let a user, for |
| 514 | example, define the default screen-buffer size he would like |
| 515 | to have for a given application. |
| 516 | </para> |
| 517 | <para> |
| 518 | As of today, only the USER backend allows you to edit those |
| 519 | options (we don't recommend editing by hand the registry |
| 520 | contents). This edition is fired when a user right click in |
| 521 | the console (this popups a menu), where you can either |
| 522 | choose from: |
| 523 | <itemizedlist> |
| 524 | <listitem> |
| 525 | <para> |
| 526 | Default: this will edit the settings shared by all |
| 527 | applications which haven't been configured yet. So, |
| 528 | when an application is first run (on your machine, |
| 529 | under your account) in wineconsole, wineconsole will |
| 530 | inherit this default settings for the |
| 531 | application. Afterwards, the application will have its |
| 532 | own settings, that you'll be able to modify at your will. |
| 533 | </para> |
| 534 | <para> |
| 535 | Properties: this will edit the application's |
| 536 | settings. When you're done, with the edition, you'll |
| 537 | be prompted whether you want to: |
| 538 | <orderedlist> |
| 539 | <listitem> |
| 540 | <para> |
| 541 | Keep these modified settings only for this |
| 542 | session (next time you run the application, you |
| 543 | will not see the modification you've just made). |
| 544 | </para> |
| 545 | </listitem> |
| 546 | <listitem> |
| 547 | <para> |
| 548 | Use the settings for this session and save them |
| 549 | as well, so that next you run your application, |
| 550 | you'll use these new settings again. |
| 551 | </para> |
| 552 | </listitem> |
| 553 | </orderedlist> |
| 554 | </para> |
| 555 | </listitem> |
| 556 | </itemizedlist> |
| 557 | </para> |
| 558 | <para> |
| 559 | Here's the list of the items you can configure, and their |
| 560 | meanings: |
| 561 | <table> |
| 562 | <title>Wineconsole configuration options</title> |
| 563 | <tgroup cols="2" align="left"> |
| 564 | <thead> |
| 565 | <row> |
| 566 | <entry>Configuration option</entry> |
| 567 | <entry>Meaning</entry> |
| 568 | </row> |
| 569 | </thead> |
| 570 | <tbody> |
| 571 | <row> |
| 572 | <entry>Cursor's size</entry> |
| 573 | <entry> |
| 574 | Defines the size of the cursor. Three options are |
| 575 | available: small (33% of character height), medium |
| 576 | (66%) and large (100%) |
| 577 | </entry> |
| 578 | </row> |
| 579 | <row> |
| 580 | <entry>Popup menu</entry> |
| 581 | <entry> |
| 582 | It's been said earlier that wineconsole |
| 583 | configuration popup was triggered using a right |
| 584 | click in the console's window. However, this can |
| 585 | be an issue when the application you run inside |
| 586 | wineconsole expects the right click events to be |
| 587 | sent to it. By ticking control or shift you select |
| 588 | additional modifiers on the right click for |
| 589 | opening the popup. For example, ticking shift will |
| 590 | send events to the application when you right |
| 591 | click the window without shift being hold down, |
| 592 | and open the window when you right-click while |
| 593 | shift being hold down. |
| 594 | </entry> |
| 595 | </row> |
| 596 | <row> |
| 597 | <entry>Quick edit</entry> |
| 598 | <entry> |
| 599 | This tick box lets you decide whether left-click |
| 600 | mouse events shall be interpreted as events to be |
| 601 | sent to the underlying application (tick off) or |
| 602 | as a selection of rectangular part of the screen |
| 603 | to be later on copied onto the clipboard (tick on). |
| 604 | </entry> |
| 605 | </row> |
| 606 | <row> |
| 607 | <entry>History</entry> |
| 608 | <entry> |
| 609 | This lets you pick up how many commands you want |
| 610 | the console to recall. You can also drive whether |
| 611 | you want, when entering several times the same |
Tom Wickline | c28575e | 2003-07-09 19:50:14 +0000 | [diff] [blame] | 612 | command - potentially intertwined with others - |
Eric Pouech | 0b36e34 | 2003-03-10 19:06:46 +0000 | [diff] [blame] | 613 | whether you want to store all of them (tick off) |
| 614 | or only the last one (tick on). |
| 615 | </entry> |
| 616 | </row> |
| 617 | <row> |
| 618 | <entry>Police</entry> |
| 619 | <entry> |
| 620 | The Police property sheet allows you to pick the |
| 621 | default font for the console (font file, size, |
| 622 | background and foreground color). |
| 623 | </entry> |
| 624 | </row> |
| 625 | <row> |
| 626 | <entry>Screenbuffer & window size</entry> |
| 627 | <entry> |
| 628 | The console as you see it is made of two different |
| 629 | parts. On one hand there's the screenbuffer which |
| 630 | contains all the information your application puts |
| 631 | on the screen, and the window which displays a |
| 632 | given area of this screen buffer. Note that the |
| 633 | window is always smaller or of the same size than |
Francois Gouget | 6683432 | 2004-04-20 04:03:42 +0000 | [diff] [blame] | 634 | the screen buffer. Having a strictly smaller window |
Eric Pouech | 0b36e34 | 2003-03-10 19:06:46 +0000 | [diff] [blame] | 635 | size will put on scrollbars on the window so that |
| 636 | you can see the whole screenbuffer's content. |
| 637 | </entry> |
| 638 | </row> |
| 639 | <row> |
| 640 | <entry>Close on exit</entry> |
| 641 | <entry> |
| 642 | If it's ticked, then the wineconsole will exit |
| 643 | when the application within terminates. Otherwise, |
| 644 | it'll remain opened until the user manually closes |
| 645 | it: this allows seeing the latest information of a |
| 646 | program after it has terminated. |
| 647 | </entry> |
| 648 | </row> |
| 649 | <row> |
| 650 | <entry>Edition mode</entry> |
| 651 | <entry> |
| 652 | <msgtext> |
| 653 | <para> |
| 654 | When the user enter commands, he or she can |
| 655 | choose between several edition modes: |
| 656 | <itemizedlist> |
| 657 | <listitem> |
| 658 | <para> |
| 659 | Emacs: the same keybindings as under |
| 660 | emacs are available. For example, Ctrl-A |
| 661 | will bring the cursor to the beginning |
| 662 | of the edition line. See your emacs |
| 663 | manual for the details of the commands. |
| 664 | </para> |
| 665 | </listitem> |
| 666 | <listitem> |
| 667 | <para> |
| 668 | Win32: this are the standard Windows |
| 669 | console key-bindings (mainly using |
| 670 | arrows). |
| 671 | </para> |
| 672 | </listitem> |
| 673 | </itemizedlist> |
| 674 | </para> |
| 675 | </msgtext> |
| 676 | </entry> |
| 677 | </row> |
| 678 | </tbody> |
| 679 | </tgroup> |
| 680 | </table> |
| 681 | </para> |
| 682 | </sect2> |
| 683 | </sect1> |
John R. Sheets | 1e8e5ba | 2000-08-08 01:24:00 +0000 | [diff] [blame] | 684 | </chapter> |
| 685 | |
| 686 | <!-- Keep this comment at the end of the file |
| 687 | Local variables: |
| 688 | mode: sgml |
Dimitrie O. Paun | 255ecc5 | 2003-04-19 02:50:57 +0000 | [diff] [blame] | 689 | sgml-parent-document:("wine-user.sgml" "set" "book" "chapter" "") |
John R. Sheets | 1e8e5ba | 2000-08-08 01:24:00 +0000 | [diff] [blame] | 690 | End: |
| 691 | --> |