winetricks 用WineTricks令你的Wine更完整

   日期:2024-12-27    作者:5pv2g 移动:http://ljhr2012.riyuangf.com/mobile/quote/72148.html

原文网址:http://blog.csdn.net/iwtwiioi/article/details/10530561

wine,是一款优秀的Linux系统平台下的模拟器软件,用来将Windows系统下的软件在Linux系统下稳定运行,该软件更新频繁,日臻完善,可以运行许多大型Windows系统下的软件。另外英语单词wine是葡萄酒的意思。

wine下载地址(我是在软件中心下的,版本是1.5):
http://www.winehq.org/download/ubuntu/
https://launchpad.net/~ubuntu-wine/+archive/ppa

或者直接sudo apt-get install wine也行(有可能版本很旧)

或者照百科的

若你使用 Debian 或者 Ubuntu 之类的发行版,只需要一个命令即可完成安装:
sudo apt-get install wine
请注意:由这种方法安装的Wine通常不是最新版本。要获取最新版,请由官方网站上下载安装包、添加ppa源(针对Ubuntu用户)或直接编译安装。
若你使用的为其他发行版,请访问官方网站下载区[1]查询安装方法
这里是Ubuntu官方Wiki给的方法
添加PPA源
sudo add-apt-repository ppa:ubuntu-wine/ppa
更新软件列表
sudo apt-get update
安装wine
sudo apt-get install wine

 

转自http://forum.ubuntu.org.cn/viewtopic.php?f=24&t=384535

  1. Dash -> 搜索wine,运行Configure Wine配置程序
  2. 激活“函数库”页面,在“新增函数库顶替”下拉框里输入“winemenubuilder.exe”,添加,编辑,停用
  3. 激活“函数库”页面,在“新增函数库顶替”下拉框里输入“winemine.exe”,添加,编辑,停用
    如果已经将int main() { return 0; }编译成main.exe,则可以执行:
    cp -f main.exe $HOME/.wine/drive_c/windows/system32/winemenubuilder.exe
    cp -f main.exe $HOME/.wine/drive_c/windows/system32/winemine.exe
    然后将第2、3两步中的停用改成原装。
  4. “驱动器”页面,添加D分区,路径指定为$HOME/qpSOFT/Wine;同时将Z分区路径修改为$HOME
  5. “关于”页面,填写Windows注册信息,姓名:loaden,单位:qpsoft
  6. 运行Winetricks程序,安装字体:corefonts,然后从XP系统拷贝simhei.ttf simsun.ttc至Fonts目录
  7. 视需要安装DLL或组件:winetricks cmd vcrun6 vcrun2003

彻底清理Wine
删除$HOME/.local/share/applications/mimeapps.list中含有wine的条目
删除$HOME/.wine目录
find $HOME/.config -name '*wine*' -exec rm {} ;
find $HOME/.local -name '*wine*' -exec rm {} ;
find $HOME/.local -name '*wine*' -exec rm -r {} ;
rm -rf $HOME/.local/share/icons/hicolor
rm -f $HOME/.local/share/applications/mimeinfo.cache

Wine调用批处理时字体错误处理
err:wineconsole:WCUSER_SetFont wrong font
err:wineconsole:WINECON_Fatal Couldn't find a decent font, aborting
方案:
$LANG=C
$wineconsole cmd 或$wineconsole XXX.bat
另一方案:
$wine cmd
$XXX.bat
这样就不会存在找不到中文字体的问题了,但要支持中文:
1. 批处理文件编码必须是GBK
2. 行尾必须用Windows风格

64位系统Wine缺少gnome-keyring-pkcs11.so的错误处理
详见点击打开链接
1)安装getlibs:
自己谷歌getlibs_2.06-0ubuntu1~ppa2_all.deb下载吧,转载的那个链接已失效
sudo dpkg -i getlibs_2.06-0ubuntu1~ppa2_all.deb
2) 安装32bit库:
sudo getlibs -p gnome-keyring:i386
3) 链接
sudo mkdir /usr/lib/i386-linux-gnu/pkcs11
sudo ln -s /usr/lib32/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so

64位Ubuntu系统,通过Wine模拟纯32位Windows
打开终端,预设环境变量:
export WINEARCH=win32
export WINEPREFIX=$HOME/.wine32/
winecfg
winetricks ie6
这样就可以解决64位Ubuntu中,Wine无法安装32位IE的错误。
不过以后每次运行纯32位Windows中的程序,例如IE6,就需要先导出环境变量了。
通过bash脚本可以简化操作:wine32.sh
#!/bin/bash
export WINEARCH=win32
export WINEPREFIX=$HOME/.wine32/
winefile
在文件管理器中双击安装或运行。

以下转自http://blog.csdn.net/arthur_yang/article/details/6365445

Linux下最有名的Windows环境模拟器就是WINE了。它提供了一个可以模拟WINDOWS环境的基本平台,在这上面你几乎可以运行任何你想运行的windows程序。
什么?你不相信?不要告诉我你的程序运行时总是提示缺少mfc42.dll。。。
默认的WINE环境缺少很多WIN平台的库,而且最可恨的是,system32目录下竟然没有regedit程序。

下面我来介绍一下,如何让你的WINE环境更为完整。
我示范的linux发行版是ubuntu 9.04, wine的版本号是1.1.26

  1. 准备正确的注册表编辑器
    首先将/home/你的用户名/.wine/dosdevices/c:/windows下的regedit.exe程序复制到system32目录下。
    命令:
    sudo cp /home/你的用户名/.wine/dosdevices/c:/windows/regedit.exe /home/你的用户名/.wine/dosdevices/c:/windows/system32/
  2. 下载并安装winetricks
    wget http://www.kegel.com/wine/winetricks
    chmod +x winetricks
    sudo mv winetricks /usr/local/bin
  3. winetricks安装必须的win支持库。这一步很关键。
    命令行中输入winetricks
    然后勾选colorprofile、corefonts、d3dx9、fontfix、fontsmooth-gray、fontsmooth-rgb、fontsmooth-bgr、gdiplus、mfc40、mfc42、msxml3、msxml4、msxml6、riched20、riched30、tahoma、urlmon、vb6run、vcrun6、vcrun2003、vcrun2005、vcrun2008、ie6、allfonts
    然后选择安装。
  4. 下面输入winetricks后,勾选dotnet11、dotnet20、vjrun20并安装。

都安装完毕以后,有兴趣的朋友可以尝试安装一下powerdesigner看看能不能用。哈哈。
更多信息请参见http://wiki.winehq.org/winetricks

Wine的其中一个开发者DanKegel写的一个安装Windows有关库和软件的小程序,非常有用!
介绍一下使用方法:

  1. 打开终端,输入
    wget http://www.kegel.com/wine/winetricks
  2. 再输入
    sudo apt-get install cabextract
  3. 再输入
    chmod +x winetricks
  4. 最后
    https://www.cnblogs.com/wi100sh/p/winetricks

在打开的窗口中,可以看到程序所支持的一个软件列表
代码:

还有什么不懂百度吧,百科里面的也是有很多的。

============================2014.01.16更新=============================

鉴于Wine的迅猛发展,本文的内容已经有些已经不适用了。Wine的自动化提高了很多,以前的很多设置已经不必要了。参考一下就好了。

为了回应最近网友的一些普遍问题,特此作以下说明:
1、如果发现wine的注册表没有相应的键值,要自己创建。有时候用命令不行的话,只能手动一个个添加。
2、wine还是一个不成熟的软件,经常出现bug,一切使用的问题和风险都只能自己承担。
3、wine并不完善,不是所有程序都能用wine解决,有些甚至根本无法解决(反作弊,凡外挂,虚拟光驱等)。

一直苦于没有一篇像样的使用指南,原来外国有朋友跟我有同感,既然他捷足先登了,那我只好翻译了。
原文作者说会保持更新,这篇文章是很新的,介绍了很多实用的Wine设置方法,非常全面,无论新手还是老鸟都值得一读。
原文:
http://sudan.ubuntuforums.com/showthread.php?t=497332

我收集到的关于Wine的一些资料

如果你像我一样的话,当你第一次使用Wine的时候,就会被Wine的帮助文章现状所困扰。互联网上确实有很多的HOWTO文章来教你使用一些程序或游戏,但是我找不到一个全面的“Wine初学者教程”来让我真正懂得实际了解和使用Wine所需的基本知识。我不需要一个教我如何运行半条命2的文章,我需要的是一篇能实实在在教我怎样使用Wine的文章。最后,我整理了从众多的Wiki、指南、帖子和HOWTO搜集来的资料,写成这篇文章。虽然这篇文章主要针对在Wine下运行游戏,但是它包括的几乎所有的信息都可以应用到用Wine来运行其它的程序。

一般资料
“winecfg”的使用资料
特殊配置资料
安装资料
一般使用资料
第三方软件资料
高级设置资料

1一般资料

1.1Wine is not an emulator
这个我就不翻译了,没有多少技术介绍。

1.2使用最新的Wine
记住最新版的Wine会包含一些旧版本里没有的bug。在feisty的软件仓库里包含了0.9.33,而最新的Wine是0.9.44(我翻译文章时)。0.9.33更加稳定,但是最新的版本包含重大的DirectX改进。有一些不能在0.9.33下运行的游戏能够在0.9.44中很好地运行。在使用0.9.37到0.9.40之间的某些版本运行KotOR2时,声音在我的系统上崩溃了。那是最好的有关使用最新版导致棘手问题的好例子。
(译者:我个人还是推荐使用最新版,使用新版本会有更好的运行速度,而且基本上每个bug都会在未来的2~3个版本中被修复)

1.3不要从源码编译安装Wine
(译者:作者没有说为什么,可能是因为编译要解决的依赖性问题太多了。
我个人还是推荐编译安装,这样安装完后问题少一点,性能好一点。)

1.4使用终端
如果正确安装的话,wine会把它自己关联到exe文件,所以你只要双击exe文件就可以运行。无论怎样,这都不是我们所推荐的使用wine的方法(译者:我也不推荐)。使用终端会比较好,因为这样可以正确地设定程序的路径,否则程序就会找不到所需要的文件。另外,使用终端还可以显示出错误信息,这对于解决问题是非常有用的。

1.5准备对付挫折
Wine并不完美。不会所有的事情都能顺利发展,有时候甚至需要你自己去解决问题。但你现在是一个linux用户了,你就要准备着去应付。

2“winecfg”的使用资料

2.1运行“winecfg”
你至少需要运行一次winecfg来设置wine的目录和硬件。

2.2虚拟桌面
使用这个选项可以使软件的安装更加流畅。我发现在不使用这个选项的时候,使用某些程序会导致已经激活的对话框、CDKEY输入窗口或更换光盘的确认窗口不能出现在前端。让我以为程序卡死了,就kill掉了进程。选择这个选项还能够避免程序锁死你的桌面或者把你的屏幕分辨率改成难看的模式。

2.3使用Application Settings
你可以在winecfg的Application标签里的Application Settings对话框对个别的程序进行自定义设置。那里只允许你进行windows兼容运行模式设置(译者:像windows下的exe属性里的兼容性标签)、某些显示设置和DLL的设置。
当你只需要设置某个程序使用某些特定的windows自带的DLL,不希望其它程序(包括wine)使用这些native的DLL的时候(而其它程序使用这些DLL会导致问题),(译者:wine自带的DLL叫做builtin,windows下原生的DLL叫做native)这个选项就会变得十分有用。在进行DLL设置时我都用这个方法,就是为了防止某些对wine的运行存在潜在威胁的nativeDLL被wine调用(译者:在一般情况下,wine只调用自带的builtinDLL,而不会使用native的DLL,版权问题,除非经过设置,如上所述)。这样我就只是修改了那些可执行的配置文件,当我不需要时,可以改回来而不会损坏整个Wine。(译者:设置这些东西之前,保证已经将一个程序的exe文件添加到Application标签的白框中,并且反色选中。不是default的那个,是你所需要设置的那个exe文件。)

2.4Windows版本
对不同的程序尝试不同的Windows版本。这就是说一个为了XP而设计的游戏可能会在wine的98模式的支持下能更好地运行。在做这个之前确认你已经把程序添加到Application的白框中,并且选中,反色显示。

2.5使用ALSA驱动
有些游戏是需要OSS才能运行,但是OSS已经不会再继续开发了。
(译者:推荐只是独立声卡使用ALSA,集成的还是使用OSS最好)

2.6不要总是选择allow the window manager to control the windows(winecfg里的)
使用这个选项有时候会使游戏在全屏幕运行时出现问题。当前的wine版本0.9.39+已经修正了多数游戏的全屏问题,但是引入了一个新的问题:当不使用这个选项时,会使键盘不能游戏中输入。在使用一个单独的X server来运行游戏时,这个问题可以得到解决。(见“高级设置资料”)

2.7谨慎对待DLL
winecfg可以让你用native的DLL替换builtin的DLL。下面的这些DLL是绝对不能被替换的。kernel32.dll,gdi32.dll,user32.dll,和ntdll.dll。有些nativeDLL也可能使一些程序不能运行。记得永远不要覆盖wine自带的dll,如果native的用不了就用builtin的换回来。有些MS的DLL要得到许可才能用,如果你没有许可,就不要用。

3特殊配置资料

3.1建立一个到CD的链接
Wine会建立一个到你挂载CD的文件夹的链接,但是建立一个到真正的/dev里的设备的链接会更好。我发现如果不这样做,Wine会自己建立到/dev的链接,把CD认成E:盘,而我的挂载目录却链接为D:盘。我认为这个可能会导致某些使用CD安装的程序出现问题。修改/dev/hdc以适应你的系统(译者:7.04一般都是/dev/scd0)。

代码:
ln -s /dev/hdc ~/.wine/dosdevices/d::


3.2实用注册表键值

有些设置是不能通过winecfg来进行设置的,但是可以在注册表中进行设置。在wine的wiki中有一篇保持更新的文章
http://wiki.winehq.org/UsefulRegistryKeys
有两个键值是非常有用的,一个是Alsa Driver的UseDirectHW,可以解决一些声音跳顿的问题;还有Direct3D的VideoMemorySize,你应该设置成你的显卡的准确显存,默认wine会设置成64MB。

3.3WINEPREFIXCREATE
这个我暂时不翻译

3.4安装Wine Gecko IE engine
有些程序的运行依赖于IE,但是,安装IE会严重地破环Wine。所以可以安装Wine Gecko IE engine作为替代品。
1、在终端下运行下面的命令:
代码:
wine iexplore http://www.winehq.org
2、当出现安装提示时回答yes
3、打开http://wiki.winehq.org/UsefulRegistryKeys,找到HKEY_LOCAL_MACHINE板块
4、把所有有关Internet Explorer的键值加到注册表中

安装完成后,运行

代码:
wine iexplore http://www.winehq.org

成功的话就会出现winehq的主页。

3.5中文支持设置
把下面的代码保存为zh.reg,然后终端执行regedit zh.reg。从Windows目录下的Fonts里的simsun.ttc复制到/home/user/.wine/drive_c/windows/fonts里面。

代码:

REGEDIT4

[HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionFontSubstitutes]
"Arial"="simsun"
"Arial CE,238"="simsun"
"Arial CYR,204"="simsun"
"Arial Greek,161"="simsun"
"Arial TUR,162"="simsun"
"Courier New"="simsun"
"Courier New CE,238"="simsun"
"Courier New CYR,204"="simsun"
"Courier New Greek,161"="simsun"
"Courier New TUR,162"="simsun"
"FixedSys"="simsun"
"Helv"="simsun"
"Helvetica"="simsun"
"MS Sans Serif"="simsun"
"MS Shell Dlg"="simsun"
"MS Shell Dlg 2"="simsun"
"System"="simsun"
"Tahoma"="simsun"
"Times"="simsun"
"Times New Roman CE,238"="simsun"
"Times New Roman CYR,204"="simsun"
"Times New Roman Greek,161"="simsun"
"Times New Roman TUR,162"="simsun"
"Tms Rmn"="simsun"

4安装资料

4.1不要在CD的目录下安装程序
(译者:就是不要cd到CD的挂载目录运行安装程序)
如果这样做的话,就会在换CD时出现CD不能推出的问题,用下面的命令来安装CD:

代码:
wine /media/cdrom0/setup.exe


4.2需要用到“wine eject”

如果安装程序需要你换CD,而系统却说不能推出CD,那就打开一个新终端,输入:

代码:
wine eject d:


4.3安装InstallShield的bug补丁

安装http://support.installshield.com/kb/files/Q108322/IkernelUpdate.exe
这个补丁可以解决一些CD安装问题。

4.4使用uninstaller
使用命令“uninstaller”来卸载安装的程序,不要使用程序在菜单里面创建的卸载快捷方式,他们有时候不能正常工作,而uninstaller可以。

4.5安装.msi文件
有些windows的安装程序是使用msi来安装的,那就用下面的命令来安装:

代码:
wine msiexec /i install.msi

或者

代码:
wine start install.msi

4.6不要安装DirectX
Wine有它自己的DirectX库,安装微软的DirectX会破坏wine的DirectX库和Wine。
但是,d3dx9_##.dll和d3dx10_33.dll可以从Windows复制过来使用,可能会在启动某些游戏时有所帮助。使用这些dll你需要微软的授权证书。

5一般使用资料

5.1如何用wine来运行程序

代码:
wine application.exe


5.2运行程序前cd到程序的安装目录

cd到程序的安装目录再运行程序。

5.3关掉WINEDEBUG
一般情况下,wine会不断地产生一些debug信息(那些“fixme”的东西)。那些信息在很多情况下是没有用的,尤其你已经可以正常地运行一个程序。你可以使用下面的命令来避免debug信息,节省资源:

代码:
WINEDEBUG=-all game.exe


5.4不要使用root或者sudo来运行wine

可能会损坏系统文件。

5.5其他wine的命令
wineboot 模拟windows的重新启动
wine control 运行控制面板
wineserver wineserver会随着wine的命令自动启动,但也能通过终端启动来达到不同的目的。
wineserver的一些参数
1、-d# 设置终端中debug的显示级别。
2、-h 显示wineserver帮助文件
3、-k kill掉当前的wineserver,当程序失去响应而你要结束它时使用。
4、-p 让wineserver一直运行,也就是说即使程序退出了,wineserver还继续运行。当你需要运行连续的程序时可以使用,这样可以缩短程序的启动时间。
5、-w 让wineserver一直运行直到当前已激活的wineserver退出。

5.6让Wine运行更流畅
当出现程序运行缓慢或性能起伏不定的问题时,可以通过提高进程的优先级来解决。启动游戏后,可以使用“renice”命令来改变进程的优先级。“renice”命令可以改变当前进程的优先级,“nice”的值是优先级级别的标志,(高优先级=低nice值,低优先级=高nice值)。这个命令把程序优先级的值设置为从-20(最高优先级)到19(最低优先级)之间的任何一个整数值,而默认的值是0。在启动游戏以后,你需要打开另外一个终端输入下面的命令来改变程序的优先级:

代码:
sudo renice -10 -n game.exe

在用Wine运行游戏时,我不推荐直接把程序的优先级设置到-20,最好是从-10开始,如果效果提升不明显,可以一步步尝试小幅度的提高(-11,-12,……)。你会发现绝大多数的游戏不需要比-10更高的优先级就已经可以达到最好的性能了。不用多说(我认为),在游戏中你可以用ALT-TAB组合键回到桌面使用“renice”命令。

第二种方法
使用图形界面来设置优先级。
1、 用终端运行游戏,按ALT-TAB回到桌面
2、 系统——>系统管理——>系统监视程序,切换到进程标签
3、 在进程上点右键——更改优先权
4、 要求密码时输入
5、 关闭系统监视程序,用ALT-TAB回到游戏

6第三方软件资料

6.1 WineTools
WineTools是一个菜单式的可以安装90多个常见Windows程序的软件。它也可以帮助你设置Wine的基本目录。已经不再有人维护WineTools,它已经两年没有升级了,但很多用户都发现它依然有用。而WineTools所作的一切事情都可以自己通过winecfg或终端完成。

6.2Wine-Doors
Wine-Doors是一个帮助你安装很多的Windows程序,包括游戏的一个图形界面的软件。它现在还处在开发阶段,但已经发布了一个可以下载的最初版本。就这个软件看来,是非常有前途的。

6.3Cedega
Cedega就技术上来说是Wine的一个分支,它明确地针对于游戏。cedega包含了一个安装和运行游戏的图形界面,还加上了对受防拷贝保护的软件的支持(不需要使用破解来免CD)(译者:wine的对防拷贝的支持不是很好)。cedega不适免费的,最低消费是购买3个月,每月3美元,如果预付一年的费用的话,可以享受一点折扣。cedega从前叫做WineX,在Wine还是MIT软件,而不是现在的GPL的时候,WineX就从wine的一个分支分离出来,就因为cedega不属于GPL,cedega不再对wine的代码发展作贡献了。再加上cedega缺少支持,很多人便不再用cedega在linux下玩游戏。

6.4CrossOver
CrossOver从技术上来说,CrossOver不是wine的一个第三方产品,而是wine的主要财力支持者。CrossOver一开始是以在linux下运行Microsoft Office软件为目标的,但最近它开始添加对游戏的支持。CrossOver基于一个更老,更稳定的Wine版本(译者:好像是0.9.17),但CrossOver也随着Wine一起升级。CrossOver标准版的售价是39.95美元。

6.5ReactOS
正如CrossOver一样,ReactOS也是Wine的一个支持者,基于许多Wine已经完成的成果,它致力于建立一个能与Windows完全兼容的操作系统。完成后,ReactOS能够使用Windows的驱动程序和软件,完全兼容。这项计划还处于开发阶段,但已经可以提供安装CD、LiveCD、QEMU和VMware镜像的下载。

7高级设置资料

7.1使用启动脚本(使用之前确保游戏能够正常运行)
再使用单独得X server时,很多游戏一般都可以发挥出他们最佳性能。wine不需要窗口管理器(GNOME或KDE)就可以正常地运行,所以如果你在一个单独的X server下运行游戏,你会得到明显的性能提升。在运行游戏之前,关闭GDM或KDM,还会得到更大的性能提升(只能通过控制(console)台来实现)。
1、首先,在终端下建立一个脚本

代码:
nano launcher.sh(可以用vim替换nano)

2、复制下面的文字到终端里。如果你没有nVidia的显卡,就删除nvidia settings的那部分,然后用你的游戏的正确路径替换里面的路径

代码:

3、把文件保存到你的主文件夹(保存Ctrl+O,退出Ctrl+X。Vim的话先Esc,再Shift+:,保存w,退出q)
4、然后,给你的脚本加上可执行属性

代码:
chmod +x ~/launcher.sh

5、运行脚本

代码:
sh launcher.sh

代码:
https://www.cnblogs.com/wi100sh/p/launcher.sh


6、结束游戏后,用CTRL-ALT-BACKSPACE回到桌面

第二种方法
如果你的游戏不能运行或者只是单纯想压榨出更好的游戏性能,跟着下面的步骤尝试在关闭X session的情况下运行游戏。
1、取消注销“sudo /etc/init.d/gdm stop”语句(删除#)后保存,如果你是使用KDE,就取消注销“sudo /etc/init.d/kdm stop”。
2、关闭所有程序,按CTRL-ALT-F1打开控制台
3、在控制台登陆并运行这个脚本。你会被要求输入密码,然后游戏会在它自己的X session里运行,而没有GDM或KDM的妨碍。
4、如果脚本显示你没有启动X session的权限,就修改那个脚本
按照这样修改X server的启动语句

代码:
sudo X :3 -ac & nvidia-settings --load-config-only

注意:为了避免修改脚本,你可以修改Xwrapper.config给与一般用户启动X的权限。用sudo vim打开/etc/X11/Xwrapper.config,把allowed_users=console修改为allowed_users=anybody。

5、结束游戏后,可以重启或CTRL-ALT-BACKSPACE回到控制台,重新启动X和桌面:

代码:
sudo /etc/init.d/gdm start

如果是KDE

代码:
sudo /etc/init.d/kdm start

桌面会很快出现,还不行的话就输入

代码:
startx

本博客IkernelUpdate.zip
网盘


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号