【IT168 软件评论】次次都要通过Windows来查看网页在IE中是什么样子,一位巴西的网页设计师对此已经感到十分厌烦。于是他编写了一小段可供任何人下载的脚本代码,使得在Linux下能安装并运行IE。

    翘首以盼 IEs4Linux横空出世

    在六年之前,你敢提出如何在Linux下运行IE这个问题,你会得到像这样的答案——“去祈求微软造一个吧”,之后就是如盼望地狱冰封般 的等待。一个名叫 Sérgio Lopes的务实的家伙,他是来自巴西的年仅21岁的网页设计师,同时也是一个Linux用户,决心为菜鸟们作点贡献, 让他们能轻易的安装和运行这个 Windows上网页浏览器。

IEs4Linux又一个抛弃Windows的理由
Wine和IEs4Linux使得IE 6.0 SP1运行在Linux上

    这就是“IEs4Linux”的诞生。这段脚本能恰当地将不仅是一个还包括最近发布的IE的三个版本(6.0、5.5 SP2和5.0) 下载和安装到任何具有wine核心库的32位Linux桌面。这个Lopes依据GPL协议发布的安装程序是依靠“wine”和一个叫 做 “cabextract”的第三方实用软件将从微软的网站上下载下来的windows文档进行解压。IEs4Linux这个程序经历了从四月到八月这 个阶段的长时间测试,目前是2.0版本。

    缔造神话 Linux上多个版本IE并行

    在遭受所安装的软件与DLL/驱动器冲突的两年后,我的WinXP分区彻底崩溃到面目全非,我有了一个伟大的动机在我的 Gateway 7422GX计算机上去测试它:我进入当地财税中心的网站,它愚蠢的设计以致于总是要求IE能精确地弹出JScript的窗口。我最后一 次尝试用 “wine”运行Windows的应用程序时遭遇了大量的问题,因此我感到有些怀疑。然而接下来你就会看到,我的想法被证明是错误的。

IEs4Linux又一个抛弃Windows的理由
IEs4Linux简易的文本模式安装

    Ies4Linux是一个易使用的软件的很好的范例:它先检查系统中是否存在“wine”,之后通过wget下载,并解压它所需要的工 具。在回答完四个问题之后——也就是你需要安装哪个版本,哪种语言。它通过几乎所有Linux中都有配备的的“wget”操作系统工具读取所需要的文件和 组件(其中有些是来自微软的)及完成其他相关的工作,直到安装进程结束,IE的快捷图标出现在linux的桌面上。备注:我是在我最喜欢的Gnome桌面 环境下进行测试的,因此如果你使用的是KDE,与上述的操作也是不相上下的。

IEs4Linux又一个抛弃Windows的理由
敲击四次Enter键,进行一些下载之后,安装就完成了
 

    我安装了免费的UK distro BLAG,虽然不是最新的版本,但它似乎也找不出什么问题,并带有最新版本的wine。只要你的 distro有包含操作方便的“Synaptic软件包管理工具”,找到wine通常只是点击鼠标三次那样简单的事,在此之后,运行IEs4Linux就 如同敲击四次“enter”键那样容易。大约十分钟之后,安装结束,我的桌面上出现 了"Internet Explorer 6.0" 和 "Internet Explorer 5.5"的图标。我选择不安装古老的IE5.0因为我认 为两个这样不遵循标准的浏览器对我来说已经足够了。

IEs4Linux又一个抛弃Windows的理由
在Gnome Linux桌面上的IE6和IE5.5的图标

    这个程序能巧妙地实现数个IE版本的共存,而这在Windows中,除非有***提供的一些微软安装程序的补丁或是为每个版本运行一个完整 的虚拟机,否则也是不可能做到的。Sérgio Lopes声称他的程序甚至能将IE从常规的wine的安装中分离出来。“IEs4Linux会将所有的 程序安装到一个特定的文件夹(~/.ies4linux),这种做法利弊共存,其中一个优点就是我们可以将一切从你正处于工作状态的.wine文件夹中独 立出来。”

IEs4Linux又一个抛弃Windows的理由
在BLAG Linux 上运行IE

    三、完美超越:摆脱Windows的束缚

    将任何关于政治和软件设计理念的拜占庭式的讨论置于一旁,“IE4Linux”的安装脚本已经被赞助者和使用者们翻译成超过12种语言的 版本,包括西班牙语、法语、荷兰语、希伯来语、日语、意大利语、俄语、芬兰语、斯洛文尼亚语、塞尔维亚语、汉语、瑞典语、波兰语和挪威语。这说明它在世界 范围内都广泛引起了Linux用户的兴趣。

    它的锦上添花之处是对Flash的支持:IEs4Linux会自动下载IE的Flash 9 player控件,并会在进程结束时进行安 装。这个程序的作者建议:“千万不要在平时使用IE进行浏览,用Firefox替代它们!”对此我表示赞同,将其做为最末之选,仅在浏览那些不守约的仅能 通过IE浏览的网站时才使用。但是当我们要不断麻烦懒惰的网络管理员去修改他们的网站,使之能够跨平台、符合网页标准时,使用IE4Linux 是一个能 够避免使用Windows或者那些如VMWare般自命能处理完整的Windows虚拟机的软件的高明方法。

    原文作者:Fernando Cassia

http://doc.zoomquiet.org/

wine


概述

  刚刚步入Linux,难免要有时利用一下Windows的程序资源,Wine提供了一个用来运行Windows程序的平台。
  Wine (Wine Is Not an Emulator)[即Wine不仅仅是一个模拟器]是一个在X和UNIX之上的,Windows 3.x 和 Windows APIs的实现.它是一个Windows兼容层,用通俗的话说,就是一个Windows模拟器,这个层即提供了一个用来从Windows源进出到UNIX 的开发工具包(Winelib),也提供了一个程序加载器,该加载器允许不用任何修改Windows 3.1/95/NT的二进制文件,就可以运行在Intel Unix及其衍生版本下.Wine可以工作在绝大多数的UNIX版本下,包括Linux, FreeBSD, 和 Solaris. Wine不需要Microsoft Windows, 因为这是一个完全由百分之百的免费代码组成的,可以选择的实现,但是它却可以随意地使用本地系统的DLLs,如果它们是可以被利用的话.Wine的发布是 完全公开源代码的,并且是免费发行的。
  目前 Wine 仍在发展阶段,但是较新的版本可以运行一些著名软件,甚至是 Photoshop CS3!
  Wine的官方站点是http://www.winehq.com/,虽然你可以在它的官方站点下载源代码,自己配置编译,不过这个过程可是比较繁琐的!

编译安装  如果你安装了编译所需要的软件(如 gcc flex bison fontforge ),就可以进行编译了!
  首先,访问 http://www.winehq.com/ 下载最新版本的 wine,解压到一个目录
  打开终端("Terminal"),输入以下命令:
  cd <你解压的目录> #进入目录
  ./configure # 检查编译环境
  make #若上一步成功的话,即可进行编译
  make install #安装
  即可完成 Wine 的编译。
   注意:编译 WINE 一般需要一个小时(视机器性能而定),若你是刚刚接触 Linux 不久的人,最好不要进行编译。

下载及安装  若你使用 Debian 或者 Ubuntu 之类的发行版,只需要一个命令即可完成安装:
  sudo apt-get install wine
  若你使用的为其他发行版,请访问 http://winehq.org/site/download 查询安装方法

Wine 的配置  运行 winecfg 即可,里面有详尽的配置。
  注意:Wine 1.1.27以上版本的 winecfg 已经是中文界面了。

Wine 中文乱码的解决   Wine 1.1.4 以上版本的中文支持得到了极大改善。如果您在使用较低版本的WINE或者对WINE的中文支持不满意,可以把下面文字保存为 zh.reg 文件,运行 regedit 导入它即可
  REGEDIT4
  [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes]
  "Arial"="WenQuanYi Zenhei"
  "Arial CE,238"="WenQuanYi Zenhei"
  "Arial CYR,204"="WenQuanYi Zenhei"
  "Arial Greek,161"="WenQuanYi Zenhei"
  "Arial TUR,162"="WenQuanYi Zenhei"
  "Courier New"="WenQuanYi Zenhei"
  "Courier New CE,238"="WenQuanYi Zenhei"
  "Courier New CYR,204"="WenQuanYi Zenhei"
  "Courier New Greek,161"="WenQuanYi Zenhei"
  "Courier New TUR,162"="WenQuanYi Zenhei"
  "FixedSys"="WenQuanYi Zenhei"
  "Helv"="WenQuanYi Zenhei"
  "Helvetica"="WenQuanYi Zenhei"
  "MS Sans Serif"="WenQuanYi Zenhei"
  "MS Shell Dlg"="WenQuanYi Zenhei"
  "MS Shell Dlg 2"="WenQuanYi Zenhei"
  "System"="WenQuanYi Zenhei"
  "Tahoma"="WenQuanYi Zenhei"
  "Times"="WenQuanYi Zenhei"
  "Times New Roman CE,238"="WenQuanYi Zenhei"
  "Times New Roman CYR,204"="WenQuanYi Zenhei"
  "Times New Roman Greek,161"="WenQuanYi Zenhei"
  "Times New Roman TUR,162"="WenQuanYi Zenhei"
  "Tms Rmn"="WenQuanYi Zenhei"

官方介绍  Wine is an Open Source implementation of the Windows API on top of X, OpenGL, and Unix.
  Think of Wine as a compatibility layer for running Windows programs. Wine does not require Microsoft Windows, as it is a completely free alternative implementation of the Windows API consisting of 100% non-Microsoft code, however Wine can optionally use native Windows DLLs if they are available. Wine provides both a development toolkit for porting Windows source code to Unix as well as a program loader, allowing many unmodified Windows programs to run on x86-based Unixes, including Linux, FreeBSD, Mac OS X, and Solaris.
  More information can be read in the articles Why Wine is so important, and Debunking Wine Myths. If you are wondering how well a particular application works in Wine, please examine the Applications Database. For installation instructions and step-by-step help with running Wine, take a look at the User Guide.
  Wine is free software. The licensing terms are the GNU Lesser General Public License.

Wine的简单使用方法  Wine可以在绝大多数的Unix版本下工作,但其现在仍不能完全运行所有的Windows程序,不过由于几乎每个月都有新版本,越来越多的Windows程序已经能在Wine的帮助下在Linux中运行。
  1、直接运行程序
  使用命令 wine
  [root@localhost root]#wine <程序名>
  2、使用程序管理器
  [root@localhost root]#progman
  启动管理器窗口,从菜单中选择 文件(F)-执行(X),就会弹出一个目录浏览器,选择程序即可。
  3、直接双击 EXE 程序
  一些发行版安装WINE时会自动关联EXE程序,这样直接双击可以运行。
  某些简单程序可直接运行,而不需要安装。

举例:Wine运行国泰君安股票软件  如果大家经常用Linux桌面(如Ubuntu),可以用以下的方法把国泰君安股票软件安装到Ubuntu系统中。
  1. 安装Wine
  sudo apt-get install wine
  2. 下载国泰君安股票安装软件
  3. 把当前目录更换到有国泰君安股票软件的目录
  运行以下命令:
  wine setup_dzh5_fuyi.exe
  这时象在Microsoft Windows中一样的安装界面就会出现,按提示安装。
  注意:如果这时出现乱码,可能是由于Wine中的字体替换出了问题,请参考以下链接:http://forum.ubuntu.org.cn/viewtopic.php?t=72933
  ---
  4. 运行国泰君安股票软件
  运行以下命令:
  cd ~/.wine/drive_c/DZH5/internet/
  wine Hypmain.exe

Wine可以做什么  本文中,我们讨论的是 Wine 在纯 Linux 上的安装,没有任何 Windows 分区。
  1. Windows 可执行文件:
  Wine 完全支持 Windows 可执行文件( .exe 和 DLL)的二进制加载。
  2. DLL:
  Wine 有几百个 Windows DLL 的内部实现 -- 不过,其中没有多少是完全的实现。例如,包含有用户界面相关函数的 userd32.dll 在开放源代码的 Wine 中实现了 92%。
  3. COM:
  这是一种几乎被所有的大型 Windows 应用程序所使用的 Windows 技术,它支持诸如将一个 Excel 电子数据表嵌入到 Word 文档中等功能。这一技术得到了 Wine 的很好的支持。
  4. 注册表:
  这是另一个几乎任何一个 Windows 应用程序都会使用的关键技术,Wine 实现了大约 90% 的 Windows 注册表管理 API。
  5. 核心功能:
  核心系统功能也得到了特别好的支持。如前面提到的,尽管 Linux 和 Windows 之间存在区别,但是基本的层次上还有很多类似之处,因此与进程、线程、文件和消息队列相关的核心系统 API 得到了近乎完美的支持。
  6. 音频和视频:
  Wine 支持 Windows 音频和视频文件的运行(还可以使用 Windows 媒体播放器)。
  7. 打印:
  也得到了支持,可以从一个在 Wine 中运行的 Windows 应用程序进行打印。
  8. ODBC:
  Wine 支持那些需要通过 ODBC 访问数据库的 Windows 应用程序。
  9. 调试:
  Wine 有一个非常健壮和强大的内置调试器,除了支持标准的调试功能外,它还为调试运行于 Linux 上的 Windows 二进制程序进行了定制。它是 Wine 为其开发者提供的最重要工具之一。Wine 还有一个设计完备的追踪和记录日志的模块,可以帮助调试。我们之所以强调这一点,原因在于,尽管框架是健壮的,但是,当在 Wine 中安装和运行 Windows 应用程序时有很多不确定因素,在使用开放源代码的 Wine 时迟早会停下来进行调试。

Wine 不能做什么   不幸的是,很多用户发现 Wine 难于使用。诚然,在 Linux 上使用类似于 MS Office 这样的应用程序可能是困难的;在这里我们来看一些原因,为什么确实是这样。在开始之前,我们应该指出,CodeWeavers 提供的商用 Wine (CrossOver)已经解决了大部分此类问题(参阅参考资料以获得链接)。假以时日,这些问题将可能在开放源代码的 Wine 中同样得到解决。
  1. 使用命令行
  与大部分 Linux 中的应用程序一样,Wine 必须在命令行中安装。用户必须回到命令行中来在 Wine 下运行应用程序。例如,要运行Internet Explorer,用户通常需要在 shell 中输入 wine IEXPLORE.EXE 。尽管经验丰富的用户喜欢这样做,但初学者会发现这比较困难,而且不太可能懂得起别名等快捷方式。不过,现在用户也可以直接双击EXE文件运行(如果进行 了关联),尽管这样会给查看错误信息带来困难。
  2. 配置
  Wine 的配置较为复杂。不过现在有了简体中文的界面,对于初学者来说,配置简单了不少。
  3. 取消对隐藏文件的隐藏
  如果挂载 CDROM 时没有使用专门的 unhide 选项,那么安装 CD 上的一些文件可能会无法找到,从而导致安装失败。
  4. 调整配置
  Wine 安装很少能直接使用(对它来说也就是从 tarfile 解开)。通常需要进行全面的调整;例如,一个程序的安装可能与您在配置文件中设置的 Windows 版本不相容;而修改那个版本又可能会影响一些已安装的应用程序。对很多 DLL 来说也是如此。为此,Wine 提供了一个巧妙的修复,让您可以设置特定于应用程序的属性。不过,一般的用户可能不会像我们一样满意。
  5. 额外的安装步骤
  大部分应用程序的安装过程都不是标准的。例如,当我们安装 Internet Explorer 6 时,必须跳过一些步骤,比如 DCOM98 的定位与安装。对用户来说,这类事情可能是最大的障碍。
  注意,这些并不是病症,而是举例说明了是哪些种类的事情导致对一般用户来说 Wine 看起来复杂而且困难。
  更多 Wine 所不能做的
  看完 Wine 的可用性问题后,现在让我们来总结在尝试使用 Wine 时一些常见的技术问题。
  1. 缺少 DLL
  这可能是最常见的问题:很多安装由于缺少 DLL 而失败。人们应该熟练使用调试器来决定下一步如何去做。(稍后将深入讨论调试器)。
  2. DLL 版本问题
  一些安装程序在开始之前会检查现有的系统 DLL。Wine 解决这一问题的方法是,创建假 DLL 以满足安装程序的需要。不过,有一些安装程序会更进一步并深入检查 DLL 以获得它们的版本。这对假的 DLL 来说要求太高了,会导致安装失败。
  3. DLL 加载次序
  Wine 有对很多 Windows DLL 的实现,而且如果可用,它还可以使用原始的 Windows DLL。如果两种 DLL 都可用,好像显然应该选择总是使用 Windows 自己的 DLL,但实际上 Windows DLL 有时会包含不能被满足的依赖。要确定是更应该使用 Wine 的 DLL 还是应该使用本机 DLL,惟一的方法是,基于各个应用程序反复进行试验。
  4. DLL 中的函数
  当一个 Wine DLL 没有实现 Windows 中相应的 DLL 的全部功能时,应用程序可能会遭遇函数调用失败。由于 DLL 是动态加载的,可能没有办法事先知道会发生这样的事情。这是一个复杂的问题,有一些可做的工作,但最终实际来说它只是取决于应用程序的代码如何编写。
  有一些因素会减轻这些问题。一方面,您将会一个一个地遇到这些问题,而不是一次遇到全部问题, 这样处理起来要容易些。另外,您遇到的那些问题可能其他人曾遇到过并已经解决(而且解决方案已经公布出来)。Wine 用户组非常活跃,会提供许多帮助,每周一次的 Wine 时事通讯(参阅 参考资料)是极好的信息资源。
  Wine 中还没有实现的 Win32 API
  在 Wine 中,很多 Win32 API5 的函数是残缺不全的。最常见的原因是,相当多的 Win32 API 并没有被文档化。这就意味着一个特别的应用程序可能会调用某个函数,而完全没有关于此函数的可用资料。例如,我们在运行一个简单的 RPC 程序时发现了 RtlAnsiCharToUnicodeChar 这个函数。在 MSDN 上的搜索结果显示没有关于这个函数的资料,而且没有关于所有 RtlXXXX 类别函数的资料。因此,如果它们在 Wine 中的实现对一些应用程序来说至关重要,那么人们可能只有去猜测它们的行为了。


从下面的地址下载最新的版本,
http://www.tatanka.com.br/ies4linux/downloads/

安装cabextract
sudo apt-get install cabextract

解压,并执行:
./ies4linux

以下部分转自:http://forum.ubuntu.org.cn/post-280158.html&sid=f6a87661b04de41b907a5f5ccfe0e63e

这时运行桌面上的IE6图标,使用后有2个问题:
1.不能用scim输入中文
2.对话框的按钮文字是乱码

解决办法
1.
去掉scim设置的 前端->全局设置->将预编辑字符串嵌入到客户端中 前的勾
去掉scim设置的 面板->gtk->嵌入式候选词标


http://forum.ubuntu.org.cn/viewtopic.php?t=51420&postdays=0&postorder=asc&start=0

2.
到windows下copy一个simsun.ttc放到
~/.ies4linux/ie6/drive_c/windows/fonts

代码:

gedit ~/.ies4linux/ie6/system.reg


找到这两行

代码:

"MS Sans Serif"="sserife.fon"
"MS Serif"="serife.fon"


替换为

代码:

"MS Sans Serif"="SIMSUN.TTC"
"MS Serif"="SIMSUN.TTC"


另外修改
其中如下部分
代码:

[Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes] 1144897563
"MS Shell Dlg"="SimSun"
"MS Shell Dlg 2"="SimSun"

 有人和我提起在 Linux 下可以用 ies4linux 实现 IE 的安装和运行,今天花了一些时间试了试。安装起来相当的简便。对于需要在 Linux 下通过 wine 运行 IE 的用户来说,ies4linux 真是它们的福音。
    不知道是否有人尝试过在 wine 下安装运行 IE,我没有亲自做过,只是听说比较复杂。 ies4linux 是一些脚本,这些脚本会把 wine 初始环境的设置;IE 软件包的下载;IE 软件包的解包;IE 文件在 wine 环境内的拷贝;注册表的修改;IE 插件的安装;Flash Player 的安装等工作替用户处理掉。
    既然这个项目是实现 IE 在 Linux 下的自动安装,它依赖于两个组件:
wine
cabextract
    wine 可从 winehq 处下载
http://www.winehq.org/
    cabextract 可从以下网址下载
http://www.kyz.uklinux.net/cabextract.php
    ies4linux 可从该项目的主页下载
http://www.tatanka.com.br/ies4linux/page/Main_Page
    在安装或升级完 wine 及 cabextract 之后,就可以运行 ies4linux 了
juwang@node2:~/tmp/ies4linux-2.0.3>
WARNING: unknown locale setting; no translations available.
Welcome, juwang! I'm IEs4Linux.
I can install IE 6, 5.5 and 5.0 for you easily and quickly.
You are just four 'enter's away from your IEs.
I'll ask you some questions now. Just answer y or n (default answer is the bold one)
IE 6 will be installed automatically.
Do you want to install IE 5.5 SP2 too? [ y / n ]y
And do you want to install IE 5.01 SP2? [ y / n ]y
IEs can be installed using one of the following locales:
EN-US PT-BR DE FR ES IT NL SV JA KO NO
DA CN TW FI PL HU AR HE CS PT RU EL TR
Default is . Hit enter to keep it or choose a different one:CN
By default, I will install everything at /home/juwang/.ies4linux
I will also install Flash 9 plugin and create Desktop shortcuts.
Is that ok for you? (To configure advanced options type n) [ y / n ]y
All right! Let's start the installations...
Downloading everything we need
DCOM98.EXE
--17:33:30--  http://download.microsoft.com/download/d/1/3/d13cd456-f0cf-4fb2-a17f-20afc79f8a51/DCOM98.EXE
           => `/home/juwang/.ies4linux-tst/downloads/DCOM98.EXE'
正在解析主机 download.microsoft.com... 66.77.218.153, 66.77.218.151, 66.77.218.152
Connecting to download.microsoft.com|66.77.218.153|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1,229,056 (1.2M) [application/octet-stream]
6% [=>                                   ] 85,140        97.02K/s
...
[ OK ]
Installing IE 6
Initializing
Creating Wine Prefix
Extracting CAB files
Processing inf file
Installing IE 6
Installing TTF Fonts
Installing RICHED20
Installing ActiveX MFC40
Installing DCOM98
Installing registry
Finalizing
[ OK ]
Installing Flash Player 9
Extracting files
Installing flash on ie6
[ OK ]
Installing IE 5.5
Copying ie6 installation
Extracting files
Installing registry
Finalizing
[ OK ]
Installing IE 5.0
Copying ie6 installation
Extracting files
Installing registry
Finalizing
[ OK ]
IEs 4 Linux installations finished!
To run your IEs, type:
ie6
ie55
ie5
If you have 5 minutes, help me translating IEs4Linux to your language.
Visit: http://tatanka.com.br/ies4linux/forum/viewtopic.php?p=2