linux 下通过wine 运行windows程序包括IE

时间:2021-06-10 17:12:21

一、相关说明

Ubuntu9.10 举例(因为它方便,N多东西直接在线安装,省得编译了),其他linux基本相同(不同的就是有些要进行源码安装,但用到的软件是一样的),整个安装我以经做成脚本放方便下载安装不过脚本写的比较简单没有做太多判断到这里下载:http://download.csdn.net/source/2044895,所以如果使用这个脚本安装请仔细看安装时的说明。

乱码等解决参考自:http://www.lyzsoft.cn/wine-garbled-solution.html

涉及的软件:

1wine,是一個在容許类Unix操作系統在X Window System下运行Microsoft Windows程序的软件,可以认为所有的windows程序是运行于wine模拟的环境中;

2winetricks,这是一个Windows有关库和软件的小程序,wine的辅助工具。以后通过winetricks,方便安装windows下的dll

3cabextract,是用于微软的 .cab 压缩/解压文件

4ies4linuxlinux下运行ie4ie5ie5.5ie6ie7的解决方案,图形化安装

不要认为有了wine就可以真的像windows一样运行exe,如果真的那么好干脆改名叫windows了!!其实wine不是很稳定,尤其是那个ies4linjux在安装时看运气了,我反复运行了4次才装好,而且运行ie容易死。

二、安装软件

Ubuntu有在线安装,其它linux先下载在通过rpm或源码安装,这里只针对Ubuntu下安装。

2.1安装wine

$sudo apt-get install wine1.2

安装wine,随着wine版本升级可能有变化,如以前使用wine,而现在用wine1.2;以后只要输入到wine再按table键就可以知道带有wine的全部软件了,然后再补完整;

2.2 拷贝常用dll

安装完成后,还须要一些额外的dll才能运行大部分EXE,这些主要包括微软的mfc*.dllmsvp*.dllrich*.dll。可以从windows xp系统的windows/system32中找到。

将以上文件拷贝到/home/用户/.wine/drive_c/windows/system32/下(wine默认安装到这)

2.3 配置wine

通过“应用程序”-》“wine”-》“Configure wine“启动(或在终端中输入winecfg);其时一般不需要配置什么,建议你顺着点一遍看看,有些是没有初始化的只有你点击时才会做这个动作,如:配置中的 “音效”。

2.4 安装wine辅助工具

wget http://www.kegel.com/wine/winetricks //下载winetrickswinetricks下载完成后不须要安装就可以直接运行

chmod +x winetricks //赋执行权限

winetricks //运行并下载须要的dll及环境

2.5 安装cab提取工具

sudo apt-get install cabextract

2.6 安装ies4linux

wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz  //下载

tar zxvf ies4linux-latest.tar.gz //解压

cd ies4linux-latest

./ies4linux //运行安装,安装时默认安装ie6,如果须要安装ie7,在高级中会有选择(ie6以下的安装就算了吧!!)

三、优化及乱码解决

通常安装完成后,部分中文是有问题的,包括外观等。在实际安装中发现ies4linxu只需要拷贝中文字体到iewindows/Fonts就可以了,不需修改其他的。以下是Wine需要修改的一下内容,摘抄自http://www.lyzsoft.cn/wine-garbled-solution.html

3.1加快 wine 速度

由于 X locale 的问题, 默认 wine 会轮询 x core fonts ,使得 wine 很慢,请先执行

sudo sed -i -e '/GBK/,/^}/d' /usr/share/X11/locale/zh_CN.UTF-8/XLC_LOCALE

3.2修改 wine 外观

默认的 wine 字体、主题、颜色等不太合适,可以用这 [Hiweed] wine 配置 新建一个文本文件 hiweed_green_color.reg 写入(9.04的源中安装的wine无法导入以下reg文件,可能是由于regedit不兼容空格造成的,将下面这段中每行前的第一个空格删除可能会解决问题) 代码如下:

REGEDIT4

 [HKEY_LOCAL_MACHINESystemCurrentControlSetHardware ProfilesCurrentSoftwareFonts]

 "FIXEDFON.FON"=""

 "FONTS.FON"=""

 "LogPixels"=dword:00000060

 "OEMFONT.FON"=""

 [HKEY_CURRENT_USERSoftware/Wine/Fonts/Replacements]

 @="AR PL ShanHeiSun Uni"

 "Arial"="AR PL ShanHeiSun Uni"

 "Fixedsys"="AR PL ShanHeiSun Uni"

 "Microsoft Sans Serif"="AR PL ShanHeiSun Uni"

 "MingLiU"="AR PL ShanHeiSun Uni"

 "MS UI Gothic"="AR PL ShanHeiSun Uni"

 "PMingLiU"="AR PL ShanHeiSun Uni"

 "Simsun"="AR PL ShanHeiSun Uni"

 "Songti"="AR PL ShanHeiSun Uni"

 "System"="AR PL ShanHeiSun Uni"

 "Tahoma"="AR PL ShanHeiSun Uni"

 "Terminal"="AR PL ShanHeiSun Uni"

 "宋体"="文鼎PL细上海宋Uni"

 [HKEY_CURRENT_USERSoftware/Wine/X11 Driver]

 "ClientSideAntiAliasWithRender"="N"

 [HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionFontSubstitutes]

 "MS Shell Dlg"="文鼎PL细上海宋Uni"

 "MS Shell Dlg 2"="文鼎PL细上海宋Uni"

 "System"="AR PL ShanHeiSun Uni"

 [HKEY_CURRENT_USERControl Panel/Colors]

 "ActiveBorder"="239 235 230"

 "ActiveTitle"="0 153 11"

 "AppWorkspace"="128 128 128"

 "Background"="58 110 165"

 "ButtonAlternateFace"="180 180 180"

 "ButtonDkShadow"="64 64 64"

 "ButtonFace"="232 227 221"

 "ButtonHilight"="255 255 255"

 "ButtonLight"="239 235 230"

 "ButtonShadow"="128 128 128"

 "ButtonText"="0 0 0"

 "GradientActiveTitle"="166 202 240"

 "GradientInactiveTitle"="192 192 192"

 "GrayText"="128 128 128"

 "Hilight"="0 153 11"

 "HilightText"="255 255 255"

 "HotTrackingColor"="0 0 255"

 "InactiveBorder"="192 192 192"

 "InactiveTitle"="232 227 221"

 "InactiveTitleText"="0 0 0"

 "InfoText"="0 0 0"

 "InfoWindow"="255 255 225"

 "Menu"="232 227 221"

 "MenuBar"="232 227 221"

 "MenuHilight"="0 0 0"

 "MenuText"="0 0 0"

 "Scrollbar"="239 235 230"

 "TitleText"="255 255 255"

 "Window"="255 255 255"

 "WindowFrame"="0 0 0"

 "WindowText"="0 0 0"

再用 regedit 导入这个 reg 执行:

 regedit hiweed_green_color.reg

如果 .wine/drive_c/windows/fonts/ 下没有文鼎的字体文件,应该用以下命令连接::

ln -s /usr/share/fonts/TTF/odosung.ttc ~/.wine/drive_c/windows/Fonts/

3.3乱码解决方法

1、首先拷贝simsun.ttc字体进入~/.wine/drive_c/windows/Fonts/

2、修改注册表文件~/.wine/system.reg

[Software//Microsoft//Windows NT//CurrentVersion//FontSubstitutes] 中的:

MS Shell Dlg”=”Tahoma”

MS Shell Dlg 2=Tahoma

改为:

MS Shell Dlg”=”SimSun”

MS Shell Dlg 2=SimSun

当然,如果你有兴趣,也可以将这个部分的其他字体都转换成SimSun

3.4中文支持

用法:

1) 安装 winehq 官方的 wine 相应版本(请参考:http://wiki.ubuntu.org.cn/Wine)

2)载相应版本的补丁包;

3) 解压(先进入补丁包在所在目录):

然后输入命令:

tar -xvvf wine-1.1.25_amd64_gdi32.dll.so.tar.bz2

Hardy amd64:

sudo mv /usr/lib32/wine/gdi32.dll.so gdi32.dll.so.backup

sudo cp gdi32.dll.so /usr/lib32/wine

Hardy i386:

sudo mv /usr/lib/wine/gdi32.dll.so gdi32.dll.so.backup

sudo cp gdi32.dll.so /usr/lib/wine

补丁下在地址

http://forum.ubuntu.org.cn/viewtopic.php?f=121&t=131400

美化

如果在英文环境下使用wine,用env LANG=zh_CN.UTF-8 wine "运行的程序"wine的字体美化。

打开字体的防锯齿:

REGEDIT4

[HKEY_CURRENT_USER/Software/Wine/X11 Driver]

"ClientSideAntiAliasWithCore"="Y"

"ClientSideAntiAliasWithRender"="Y"

"ClientSideWithRender"="Y"

打开字体的平滑功能:

REGEDIT4

[HKEY_CURRENT_USER/Control Panel/Desktop]

"FontSmoothing"="2"

"FontSmoothingType"=dword:00000002

"FontSmoothingGamma"=dword:00000578

"FontSmoothingOrientation"=dword:00000001