2023年7月29日发(作者:)
Ubuntu系统下安装Wine来运⾏Windows程序的⽅法详解有时候免不了要使⽤Windows应⽤程序,于是在本教程中,我们将使⽤Wine教你如何在Linux上顺畅地运⾏Windows应⽤程序。纵然Linux软件品种繁多,但有时候你还是觉得缺少了与Windows版对应的某个应⽤程序。需要那⼀个应⽤程序可能有好多原因,最常见的原因恐怕是Linux不⽀持某⼀种⽂件格式或实际使⽤的某个应⽤程序。幸好,有好多办法可以在Linux系统上使⽤Windows应⽤程序。 Wine的介绍 Wine是Wine Is Not an Emulator(Wine不是模拟器)的缩写,其实是⼀个转换层(或程序装⼊器),能够在Linux及与POSIX兼容的其他类似操作系统上运⾏Windows应⽤程序。Wine在Linux上⽆法模拟Windows应⽤程序,⽽是提供了另外的⽅法来实施DLL(典型的Windows应⽤程序可以调⽤这些DLL)和代替Windows NT内核的进程。Wine完全由⾮微软代码组成。 ⽩⾦:如果某应⽤程序在“即开即⽤”状态下可以顺畅⽆阻地安装和运⾏,它可以被评为⽩⾦级。Wine配置⽂件不需要进⾏更改。 黄⾦:应⽤程序与⼀些DLL覆盖⽂件、其他设置或第三⽅软件可以顺畅⽆阻地协同运⾏。 ⽩银:就“平常”使⽤⽽⾔,应⽤程序可以出⾊地运⾏。⽐如说,游戏在单⼈玩家模式下运⾏很好,但在多⼈玩家模式下不⾏;Windows Media Player作为插件和独⽴播放器运⾏很好,但⽆法处理数字版权管理(DRM)等。 青铜:应⽤程序可以运⾏,但存在⼀些问题,哪怕是平常使⽤。⽐如说,游戏⽆法正确地重新绘图或者⽤错误的颜⾊显⽰字体,速度⽐平常慢得多,等等。 垃圾:如果应⽤程序⽆法⽤于原本的⽤途,就会得到这个评级。如果这样,通⽤软件缺陷跟踪系统Bugzilla中应该⾄少有⼀个软件缺陷报告。应⽤程序⽆法安装、⽆法启动,或者就算能启动,也有好多错误,以⾄于⼏乎没法使⽤。 ⼀. 安装Wine Wine适应于所有流⾏的UNIX操作系统,包括Ubuntu、Debian、Red Hat、SUSE、Mandriva、FreeBSD、Solaris和Mac OS X。 在Ubuntu上: 1. 打开Applications(应⽤程序)>Ubuntu Software Center(Unbuntu软件中⼼),打开Ubuntu软件中⼼。 2. 然后点击Edit(编辑)>Software Sources(软件源)。选择Other Software(其他软件)选项卡,点击Add(添加)。然后输⼊下列apt⾏:复制代码代码如下: ppa:ubuntu-wine/ppa 3. 从左边的Get Software(取得软件)部分中选择“PPA for Ubuntu Wine Team”,然后选择Microsoft Windows CompatibilityLayer(Development files) – wine1.3-dev。点击Install(安装)。这会安装最新的Wine软件包,包括开发库。 提⽰:卸载现有的Wine软件包,以确保最⼤的兼容性。另外,如果想⼲净安装,你可以删除Wine⽤户⽬录,为此可以从主⽬录中使⽤命令rm -r -v .wine。 4.在 64 位 Ubuntu 15.10 中编译最新版 32 位 Wine Wine 发布了最新的1.7.53版本。此版本带来的⼤量性能提升,包括XAudio,Direct3D代码清理,改善OLE对象嵌⼊技术,更好的 Web Services DLL的实现,还有其他⼤量更新。 虽然有⼀个官⽅ Wine PPA,但⽬前只提供1.7.44版本,所以安装最新版本可以从源码编译安装。 下载源码包(直接下载地址在此)并解压 tar -xf wine-1.7.53。然后,安装如下依赖。复制代码代码如下:sudo apt-get install build-essential gcc-multilib libx11-dev:i386 libfreetype6-dev:i386 libxcursor-dev:i386 libxi-dev:i386libxshmfence-dev:i386 libxxf86vm-dev:i386 libxrandr-dev:i386 libxinerama-dev:i386 libxcomposite-dev:i386 libglu1-mesa-dev:i386 libosmesa6-dev:i386 libpcap0.8-dev:i386 libdbus-1-dev:i386 libncurses5-dev:i386 libsane-dev:i386 libv4l-dev:i386libgphoto2-dev:i386 liblcms2-dev:i386 gstreamer0.10-plugins-base:i386 libcapi20-dev:i386 libcups2-dev:i386 libfontconfig1-dev:i386 libgsm1-dev:i386 libtiff5-dev:i386 libmpg123-dev:i386 libopenal-dev:i386 libldap2-dev:i386 libgnutls-dev:i386libjpeg-dev:i386 现在切换到 wine-1.7.53 解压后的⽂件夹,并输⼊:复制代码代码如下:./configuremakesudo make install 同样地,你也可以给配置脚本指定 prefix 参数。以普通⽤户安装 wine:复制代码代码如下:./configure --prefix=$HOME/usr/binmakemake install ⼆. 安装Wine⽀持包 现在,我们需要安装⾮开源(但免费)的⽀持包。这包括微软Core Fonts、Visual C++运⾏时环境等软件包。 不妨继续深⼊介绍。 安装Cabextract: 需要该软件包来解压缩微软.cab⽂件。复制代码代码如下: $ sudo apt-get install cabextract 下载winetricks脚本: 现在我们需要下载⼀个很棒的脚本,名为winetricks,它会⾃动下载和安装必要的⽀持包。复制代码代码如下: $ wget /winetricks 现在输⼊下列命令,安装必要的⽀持包:复制代码代码如下: $ sh winetricks corefonts Tahoma 提⽰:你还可以不⽤任何命令⾏参数来运⾏winetricks,那样就能从漂亮的GUI界⾯选择需要安装的软件包。 三. 安装微软Office 在本例中,我们将安装微软Office 2007。插⼊微软Office 2007光盘,⿏标右击,选择“Open With WindowsProgram Loader”。这应该会启动微软Office安装程序。以平常的⽅式来安装,就像你在任何Windows系统上安装那样。 四. 建⽴库 鉴于已安装好了微软Office 2007,我们要确保Wine已经过配置,可以顺利使⽤该应⽤软件。你也看到,Wine以⾃⼰的⽅法实施了各种Windows库,但我们可以直接使⽤原⽣的Windows库,确保应⽤程序有最⼤的兼容性。Wine随带⾃⼰的配置⼯具:winecfg。除了其他功能外,该⼯具还让我们可以在内置版本的库与原⽣版本的库之间切换。 输⼊命令winecfg,即可打开Wine配置⼯具。进⼊到Libraries(库)选项卡,把riched20和usp10添加到“native, builtin”。这表明,Wine应该先试着装⼊原⽣的Windows库;要是没有这些库,它会试着装⼊内置的库。 五. 运⾏微软Office 微软Office现在应该已出现在Ubuntu程序菜单中。可以先后进⼊到Application(应⽤程序)> Programs(程序)>MicrosoftOffice(微软Office)来访问它。 这个过程确实相当简单。如果你只想临时运⾏某个Windows程序,假设兼容性很好,那么全都妥当了;但是⾼级⽤户想要再深⼊⼀步的话,需要继续读下去。[NextPage] 使⽤Winelib构建Windows应⽤程序如果你想不受微软的约束,Wine确实⼤有帮助。这年头,连第三⽅的Windows应⽤开发⼈员都要受微软的⽀配。⽐如说,Windows多媒体应⽤开发⼈员处理最简单的任务都要依赖DirectX。DirectX是微软的专属财产,别⼈谁也⽆法访问不了源代码。有⼀天,微软可能会开发DirectX的⼀些独特功能,由于这些功能没有列⼊⽂档,独⽴软件开发商访问不了这些功能。那样的话,Windows Media Player将是该平台上最好的多媒体播放器,因为其他播放器被迫依赖DirectX,⼜⽆法完全控制它。 欢迎来到Linux社区:在这⾥,没有什么是不可能的。 不妨再以DirectX为例。Wine以⾃⼰的⽅法实施了DirectX(借助Transgaming Technologies⽽实现)。Wine实施了常见的多媒体应⽤编程接⼝(API),⽐如Direct3D、DirectInput、DirectSound、DirectShow及其他许多API,实施的办法就是将它们与功能强⼤的、开放的Linux对应API联系起来,如OpenGL、X11和ALSA/OSS API。因⽽,将DirectX应⽤程序移植到Linux时,你可以使⽤所有这些开放的技术。Winelib可以⽤作将应⽤程序从Windows平台取出来放到Linux系统上的第⼀步。然后,可以逐渐充分利⽤Linux提供的所有功能。 Winelib能够在Linux上运⾏和编译Windows应⽤程序,不需要Windows。Winelib是Wine项⽬的⼀部分。它以开源的⽅式实施了Win32 API,基于Linux和X Window System(如今常称为Xorg)⽽建。Winelib的代码与Wine完全共享,能够编译控制台应⽤程序和GUI应⽤程序。它还能编译DLL(动态链接库)等库⽂件。Wine通过下列两种⽅式来处理Windows源代码。 •提供⼆进制级的兼容性 ⼆进制级的兼容性可通过Wine本⾝来获得。在此过程中,应⽤程序的源代码在Windows平台上编译,然后⼆进制⽂件被移到Linux系统上,通过Wine来运⾏。应⽤程序在⼆进制兼容的情况下运⾏时,它可以使⽤所有现有的.dll⽂件。这个过程相当简单,但⽆法释放Wine⼦系统的全部功能。这与我们使⽤Wine来运⾏微软Office 2007的⽅式⼀模⼀样。 •提供源码级的兼容性 在该⽅法中,源代码⽂件被移到Linux系统上,然后使⽤GCC对照Winelib库来进⾏编译。这样⼀来,应⽤程序还能够与UNIX API调⽤兼容,以便充分利⽤UNIX的全部功能。Winelib随带⼀款名为winemaker的⼯具,该⼯具可以通过VC++项⽬创建基于GNU标准autoconf的makefile⽂件。Winemaker是⼀个Perl脚本,负责处理转换源代码、使源代码专门⽤于UNIX、清空⽤例问题及其他众多⽅⾯的所有繁重任务。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1690640773a383632.html
评论列表(0条)