Wine最新版是一款实用的Windows程序软件。Wine官方版完全支持 Windows可执行文件( .exe 和 DLL)的二进制加载。Wine最新版有几百个 Windows DLL 的内部实现,不过,其中没有多少是完全的实现。例如,包含有用户界面相关函数的userd32.dll在开放源代码的Wine中实现了92%。
基本简介
Wine是款针对Windows所打造的程序工具。Wine是一个Windows兼容层,这个层即提供了一个用来从Windows源进出到UNIX的开发工具包(Winelib)。Wine还可以将Windows API调用翻译成为动态的POSIX调用,免除了性能和其他一些行为的内存占用。
功能介绍
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 时迟早会停下来进行调试。
软件特色
1、Wine是一个Windows兼容层,是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,Mac OSX 及 BSD 等)上运行 Windows 应用的兼容层;
2、提供了一个用来从Windows源进出到UNIX的开发工具包;
3、也提供了一个程序加载器,该加载器允许不用任何修改 Windows 3.1/95/NT 的二进制文件,就可以运行在Intel Unix及其衍生版本下。
使用方法
1、直接运行程序
使用命令wine
[root@localhost root]#wine <程序名>
2、使用程序管理器
[root@localhost root]#progman
打开Linux系统的管理器窗口,从菜单中选择 文件(F)-执行(X),会弹出目录浏览窗口,选择需要启动的程序即可。
3、直接双击EXE程序
在用户安装WINE后,会自动关联到电脑上的EXE程序,之后直接双击exe应用程序即可直接运行,不需要安装。
常见问题
wine官方版出现中文乱码怎么办?
Wine1.1.4以上版本的中文支持得到了极大改善。如果您在使用较低版本的WINE或者对WINE的中文支持不满意,可以把下面文字保存为zh.reg文件,运行wine regedit导入它即可
REGEDIT4
[HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionFontSubstitutes]
"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"
安装步骤
1. 首先点击系统中的“Applications(应用程序)”菜单。
2. 点击其中的“Software & Updates(软件和更新)”一项。
3.再点击“Other Software(其他软件)”选项卡。
4. 点击“Add”来进行添加。
5. 在APT行,输入“ppa:ubuntu-wine/ppa”,并点击“Add Source(添加来源)”。
6. 之后输入sudo密码,点击“Authenticate”进行验证。
7. 验证完成后,点击“Close”关闭窗口。
8. 出现系统提示后,点击“Reload”重新载入。
9. 打开“Software Center(软件中心)”并找到Wine软件,然后点击“Install”进行安装。
10. 之后只需等待安装完成即可。
功能介绍
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 难于使用。诚然,在 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 而失败,这时需要熟练使用调试器来决定下一步(稍后将深入讨论调试器)。解决问题的最佳方法是由错误信息寻找到所需的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 中的实现对一些应用程序来说至关重要,那么人们可能只有去猜测它们的行为了。
FAQ
问:Linux下wine是怎么使用?
答:一、要在Linux下运行Windows程序,wine是必不可少的,所以,请将wine安装到你的系统里。
二、将你的Windows所在的分区加载到某个目录。(本文假定这个目录是/mnt/c).
三、修改wine.conf。这也是最关键的步骤。在wine.conf里,系统默认有五个驱动器:
A,软驱,对应于软驱在Linux下的载入点/mnt/fd0;
C,windows所在的分区,对应于 /c;
D,CD-ROM,对应于/cdrom;
E,临时分区,对应于/tmp;
F,网络驱动器。
首先,你必须指明你的Windows所在路径,否则,wine是不会工作的。用任意文本编辑器打开/etc/wine/wine.conf,找到 [Drive c],将Path=/c改为Path=/mnt/c。如果其他驱动器所对应的路径与你的系统中的载入点不同,你应将它们改为你系统中实际的路径。至此, wine基本上可以运行了。运行"wine Winamp.exe",Winamp就能运行了,当然,你的系统必须能够发声。此时,如果你在Winamp中打开某个文件,你就会发现选择路径的下拉框中只有 A,C,D,E,F四个驱动器可选。如果你想像在Windows下一样方便地使用它,你必须将所有的分区映射到相应的驱动器名。格式为:
[Drive M] (M为驱动器名,如,c,d,e,f...)
Path=/xyz (/xyz是分区在Linux中的载入点)
Type=abc (abc是驱动器的类型,软驱为floppy,硬盘为hd,光驱为cdrom,网络为net)
Label=labelname(labelnemae为卷标)
Filesystem=win95
Device=/dev/hdxy(x是物理硬盘驱动器的编号,第一主盘为a,第一从盘为b;y是逻辑分区编号,主分区为1,逻辑分区从5开始。例如,我的系 兄挥幸桓鲇才蹋 ? 为/dev/hda1, d为/hda5,e为/hda6...) 。当然,如果在某个地方插入一个驱动器,其后的驱动器也应做相应的修改。
最后,找到[wine],对Temp=e:,Path=c:wineows;c:windowssystem;e:;e:test;f: 中的驱动器名做相应的修改,使它们指向正确的路径。
完成上述修改后,再运行"wine Winamp.exe",就跟在Windows下使用它一样方便了。
使用技巧
Wine可以在绝大多数的Unix/Linux版本下工作,但其现在仍不能完全运行所有的Windows程序。不过由于几乎每个月都有新版本,越来越多的Windows程序已经能在Wine的帮助下在Linux中运行。
1、直接运行程序
使用命令 wine
[root@localhost root]#wine <程序名>
2、使用程序管理器
[root@localhost root]#progman
启动管理器窗口,从菜单中选择 文件(F)-执行(X),就会弹出一个目录浏览器,选择程序即可。
3、直接双击 EXE 程序
一些发行版安装WINE时会自动关联EXE程序,这样直接双击可以运行。
某些简单程序可直接运行,而不需要安装。大部分Windows软件的安装,请由Wine打开安装包(exe文件)然后和Windows下以同样的方法安装程序即可。这样安装的程序应当会在桌面环境的程序列表中自动添加快捷方式(和Windows下的快捷方式类似),选择即可运行程序。
▲注意:Wine运行某些程序,如MS Office、迅雷、QQ、某些游戏等的兼容性仍不完善。要正常使用此类软件,可以以完全的虚拟机代替(如Virtualbox、VMWare),或者在网上搜索查找已知的解决方法或针对特定软件的安装包。
1、安装虚拟根目录安装程序。
sudo apt-get install dchroot debootstrap
2、修改虚拟根目录的配置 sudo vim /etc/schroot/schroot.conf,在文件末尾添加一下内容
[precise]
description=Ubuntu trusky
directory=/var/chroot
users=当前用户名
groups=sbuild
root-groups=root
保存退出
3、使能chroot
sudo debootstrap --variant=buildd --arch=i386 trusky /var/chroot http://archive.ubuntu.com/ubuntu/
拷贝wine代码到 /var/chroot里面
4、切换到chroot模式
sudo chroot /var/chroot/
5、这个时候会看到root@xxxxx
进入wine代码目录 运行:
./configure
make
make install
在运行./configure的过程中,如果提示缺什么库就安装什么库。这里先随便给出几个。
sudo apt-get install apt-utils xorg-dev flex bison libGLU-dev libOSMesa-dev libpcap-dev libncurses-dev libsane-dev liblcms2-dev libpulse-dev libopenal-devlibldap2-dev gettext libxml2-dev libxslt1-dev libgnutls-dev libpng12-dev libdbus-glib-1-dev libgphoto2-2-dev libudev-dev libgirepository-1.0-1 gir1.2-glib-2.0 gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0 libv4l-dev libgphoto2-dev
6、启动wine以后要按照提示安装 mono grecko
7、安装字体补丁