5.2. 命令行选项

5.2.1. --debugmsg [通道]

Wine 仍不完善,并且许多 Windows 应用程序仍然不能在 Wine 下运行而没有 bug(但它们中的许多程序在本地 Windows 下运行也不能没有 bug!)。为了易于人们找出(track down)导致每个 bug 的原因。Wine 提供了许多用于窃听的调试通道。

每个调试通道在活跃的时候,将触发把日记消息显示到你调用 wine 的控制台上。你可以把消息从它重定向到一个文件中并在你有空时检查它。但是要事先警告你! 一些调试通道可以生成难以置信的大量日记消息。最多产的犯罪分子(offender)有 relay,它在每次调用一个 win32 函数的时候吐出(spits out)一个日记消息,win ,它跟踪 windows 消息传递,当然还有 all ,它是所有现存的调试单一通道的一个别名。对于一个复杂的应用程序,你的调试日志文件可能很容易的就达到 1 MB 和更多。依赖于你运行程序多长时间,一个 relay 经常可以生成多于 10 MB 日志消息。记录日志使 Wine 减慢许多。所以除非你真的想要日记文件,否则不要使用 --debugmsg

在每个调试通道中,你可以进一步指定一个 message class,来过滤出不同严重程度的错误。四个消息类是: tracefixmewarnerr

要开启一个调试通道,使用形式 class+channel。要关闭它,使用 class-channel。要在同一个 --debugmsg 选项中列出多于一个通道,用逗号分隔它们。例如,要求在 heap 通道中的 warn 类消息,你可以项下面这样调用 wine:

$ wine --debugmsg warn+heap program_name
        

如果你去掉了消息类,wine 将显示这个通道的所有四类消息:

$ wine --debugmsg +heap program_name
        

如果你想查看除了 relay 通道的所有日志消息,你可以象下面这样去做:

$ wine --debugmsg +all,-relay program_name
        

下面是在 Wine 中所有调试通道和类的一个主列表。在以后的版本中可能增添(或减去)更多的通道。

all       accel     advapi    animate   aspi      atom      avifile   bitblt   
bitmap    caret     cdrom     class     clipboard clipping  combo     comboex  
comm      commctrl  commdlg   console   crtdll    cursor    datetime  dc       
ddeml     ddraw     debug     debugstr  delayhlp  dialog    dinput    dll      
dosfs     dosmem    dplay     driver    dsound    edit      elfdll    enhmetafile
event     exec      file      fixup     font      gdi       global    graphics 
header    heap      hook      hotkey    icmp      icon      imagehlp  imagelist
imm       int       int10     int16     int17     int19     int21     int31    
io        ipaddress joystick  key       keyboard  ldt       listbox   listview 
local     mci       mcianim   mciavi    mcicda    mcimidi   mciwave   mdi      
menu      message   metafile  midi      mmaux     mmio      mmsys     mmtime   
module    monthcal  mpr       msacm     msg       msvideo   nativefont nonclient
ntdll     odbc      ole       opengl    pager     palette   pidl      print    
process   profile   progress  prop      propsheet psapi     psdrv     ras      
rebar     reg       region    relay     resource  richedit  scroll    segment  
seh       selector  sendmsg   server    setupapi  setupx    shell     snoop    
sound     static    statusbar storage   stress    string    syscolor  system   
tab       tape      tapi      task      text      thread    thunk     timer    
toolbar   toolhelp  tooltips  trackbar  treeview  ttydrv    tweak     typelib  
updown    ver       virtual   vxd       wave      win       win16drv  win32    
wing      wininet   winsock   winspool  wnet      x11       x11drv    
        

关于调试通道的详情,请查看 Wine 开发者指南

5.2.2. --desktop [几何]

缺省的,wine 在你的正规桌面上运行应用程序。Wine 应用程序与本地 X11 应用程序混合在一起。窗口相互交叠,并且你可以在相互关系中调整它们的大小。通常,当你最小化 Wine 窗口的时候,它们缩小(collapse)成在你的桌面左下角的一个小图标,躲避你的其他非 Wine 窗口的行为。但是,如果你运行在 --managed 模式中,你的 Wine 应用程序将象其他程序那样最小化。

有时,你可能要把 Wine 窗口限制于你的桌面中小一些的一个区域中。这由 --desktop 选项来控制。 当你把这个选项传递给 wine 的时候,它将建立这么大的一个窗口并作为 Wine 桌面而不再借用正规的桌面空间。Wine 将接着把应用程序窗口放置到这个新桌面窗口中。如果你最小化这个应用程序,它将在它自己的桌面窗口的左下角图标化(iconize)。

--desktop 选项的几何信息使用标准的 X11 几何格式,例如,"640x480" 是 640 象素宽和 480 象素高的一个桌面窗口。你还可以在几何中指定桌面窗口的左上角的坐标,但你的窗口管理器可能选择屏弃你的要求。下列调用将在坐标(10, 25)打开一个新的 640 x 480 桌面窗口:
$ wine --desktop 640x480+10+25 foo.exe
          

更常见的是,你去掉起点坐标,而只使用高度和宽度:
$ wine --desktop 640x480 foo.exe
          

5.2.3. --display

缺省的,wine 在 $DISPLAY 环境变量中的那个 X 显示器上显示它的窗口。通常,$DISPLAY 被设置为 :0,它把所有窗口发送到你的当前宿主主机上的主视频监视器上。

要包窗口发送到在同一个系统上的一个不同的监视器上,你需要把 :0 变更为一个不同的数,例如,设置为 :1 来发送到第二监视器上。你还可以指定其他系统。如果你登录到一个系统 alpha,但想让 wine 在网络上的一个其他系统上运行,比如 beta,你可以使 $DISPLAY 的值为 beta:0

你还可以在你的 wine 命令行使用 --display 选项声明你的显示器的值。上面的例子的命令行如下:

$ wine --display="beta:0" foo.exe
        

5.2.4. --dll

 

5.2.5. --dosver

 

5.2.6. --help

 

5.2.7. --language

 

5.2.8. --managed

 

5.2.9. --synchronous

 

5.2.10. --version

 

5.2.11. --winver