官网:https://www.winehq.org/

参考:

wikipedia

教你使用Wine在Linux上运行Windows软件

如何安装和使用Wine,以便在Linux上运行Windows应用程序?

Ubuntu13.04(64bit)下用Wine安装百度云、360云、微云

一、简介

Wine是一个在x86x86-64上容许类Unix操作系统X Window System下运行Microsoft Windows程序的软件。另一方面,计算机程序设计师能经由Wine的程序库将视窗的程序转移至类Unix操作系统中运行。也有不少软件经过Wine测试后发布,比如PicasauTorrentMediaCoder

虽然Wine有另一个非官方名称,"Windows Emulator",即Windows模拟器,但Wine其实为"Wine INot anEmulator"的递归缩写,即Wine不是模拟器。Wine的正确名称是"Wine",不是全大写或全小写。[2]

Wine不是Windows模拟器,而是运用API转换技术实做出Linux对应到Windows相对应的函数来调用DLL以运行Windows程序。Wine是自由软件,在GNU宽通用公共许可证(LGPL) 下发布。

我将在基本操作系统( Elementary OS)Freya上演示这个过程,并安装最新版本的Wine。

二、安装

如果你在运行Ubuntu衍生版,会在Software Center(软件中心)中找到Wine。不过,那个版本很可能过时了。正由于如此,我们应该避免提供的“默认”版本。为此,我们必须添加官方的Wine软件库。这可以通过两种方法来实现,通过命令行或通过GUI。由于我们的目的是运行Windows应用程序,不妨使用GUI方法。

具体方法如下:

1. 点击Applications(应用程序)菜单。

2. 输入software。

3. 点击Software & Updates(软件和更新)。

4. 点击Other Software(其他软件)选项卡。

5. 点击Add(添加)。

6.在APT行部分输入ppa:ubuntu-wine/ppa(见图2)。

7. 点击Add Source(添加来源)。

8. 输入你的sudo密码。

9. 点击Authenticate(验证)。

10. 点击Close(关闭)。

11. 出现提示后,点击Reload(重新装入)。

12. 打开Software Center(软件中心)。

13. 搜索Wine。

14. 点击Wine项,然后点击Install(安装)。

15. 让安装完成。

图2:添加必要的PPA(个人程序包存档),以便安装最新版本的Wine

就是这样。Wine现在已准备好帮助你安装和运行Windows应用程序了。不过切记:不是每个应用程序都能正常运行。大多数会,但是如果你期望将内部的专有解决方案安装并运行起来,可能会碰到几个障碍。

三、安装和运行应用程序

不妨安装一个非常受编程人员欢迎的记事本:Notepad++。你需要从不包括第三方应用程序安装选项的位置下载文件(这可能会导致应用程序安装失败)。为了保险起见,从Filehippo(http://www.filehippo.com/zh/download_notepad)下载Notepad++安装程序。你会在Downloads目录下找到Notepad的.exe文件。右击该文件,选择Open in Wine Windows Program Loader(使用Wine Windows程序装载器打开,图3)。

图3:使用Wine运行Notepad++ .msi文件

首次运行后,~/.wine的Wine配置会被更新。这可能要花点时间,具体取决于系统的运行速度。让这个过程完成,然后再熟悉不过的Windows安装向导就会启动,逐步完成安装Notepad++的过程。

点击Next(下一步),逐步完成安装过程。第二个屏幕弹出来后(见图4),你会注意到很不像Linux的Folder路径。

图4:非常不像Linux的文件夹路径

Linux不像Windows那样含有C驱动器。这有什么不对吗?没什么不对。如果你看一下~/.wine文件夹,就会注意到一个名为drive_c的文件夹。该文件夹里面有三个熟悉的子文件夹:

•Program Files

•users

•windows.

正如你预料的那样,这就是你的C驱动器。也就是说,让Folder路径在安装过程中保持原状。

你最终会进入到安装过程的Choose Components(选择组件)部分(图5)。你在这里可以选择安装选项。如果你的那种桌面环境允许桌面图标(而这是你启用应用程序的首选方法),可能应该选择Create Shortcut on Desktop(在桌面上创建快捷方式,那样就更容易启动刚安装的应用程序――这方面稍后会有更多介绍)。

图5:为Notepad++安装选择安装组件

安装完成后会显示Finish(完成)屏幕。让Run Notepad(运行记事本)方框处于被勾选的状态,点击Finish(完成)。Notepad++就会运行(图1)。

如果你不添加应用程序图标到桌面,当你想再次运行该软件时,会出现什么情况?这是很容易让用户犯难的一个问题。还记得Program Files子目录吗?如果你大胆进入到该文件夹,就会看到Notepad++的文件夹,里面含有notepad++.exe文件。你猜会怎么样?右击该文件,选择Open in Wine Windows Program Loader(使用Wine Windows程序装载器打开),Notepad++就会运行。

Notepad++这个简单的例子表明了Wine的工作原理。如果你深入探究更复杂的应用程序,结果可能不一样。最明智的做法就是回到Wine应用程序数据库,找到你想要安装的那个应用程序,点击它,检查应用程序的当前状态。你会发现每个应用程序列出了测试的Wine版本、是否可以安装、是否可以运行,并给出了评级。评级包括如下:

白金级(Platinum):直接就可以无缝运行的应用程序。

黄金级(Gold):进行一些必要的改动后才能运行的应用程序。

白银级(Silver):运行时会出现小问题的应用程序,但并不影响使用。

你还会发现有些应用程序被列为垃圾(Garbage),这意味着它们没法安装及/或没法运行。

如果你有一个Windows应用程序根本就没有对应的Linux应用程序,别担心――Wine可以帮助你。尽管不是每个Windows应用程序都可以在Wine下运行,但是确实能运行的应用程序数量确实非常多。而考虑到我们如今所做的几乎一切任务都在Web浏览器里面处理,所以只要得到Wine的一点帮助,应该能够满足你在应用程序方面的各个要求。

Wine——在Linux上运行Windows软件的更多相关文章

  1. Wine --- Linux上运行 Windows 应用

    https://www.winehq.org/ Wine (“Wine Is Not an Emulator” 的首字母缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Linu ...

  2. Linux上使用Windows软件

    小书匠 安装完成后,甚至可以在linux上进行视频会议,整个过程分两个步骤: 1.安装deepin-wine 这个步骤看github,Jactor Sue这位老哥弄好了,在这: Deepin-Apps ...

  3. Linux下运行windows程序

    现在Winxp停止了支持,那我们的windows程序是否可以再linux上执行呢,如下是一些参考的信息 在您的 Linux/Mac 操作系统上运行 Windows 软件 http://www.wine ...

  4. 在Linux上运行C#

    众所周知,C#是Microsoft推出的.NET语言,只能在.NET平台上运行,例如Win 9x.ME.NT.2000.XP和Win CE之类的操作系统.但是,现在却有了一个叫做Mono的项目,它的目 ...

  5. 【无私分享:ASP.NET CORE 项目实战(第十章)】发布项目到 Linux 上运行 Core 项目

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win7)上用虚拟机建了个 CentOS7 ,来演示下 ...

  6. 发布项目到 Linux 上运行 Core 项目

    发布项目到 Linux 上运行 Core 项目 目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win ...

  7. Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台

    转发请注明此文章作者与路径,请尊重原著,违者必究. 系列文章:https://www.cnblogs.com/alunchen/p/10121379.html 本篇文章操作系统信息 Linux:ubu ...

  8. jmeter操作数据库,分布式,在Linux上运行

    jmeter操作数据库: 1.在测试计划中导入数据库jar包 2.添加链接数据库信息 3.mysql:jdc:mysql://192.168.1.116:3307/bugfree?allowMulti ...

  9. Linux上实现Windows的SQLPlus保存SQL历史记录功能

    在Windows操作系统上,当在DOS命令窗口中运行SQL*Plus的时候,可以使用向上,向下键来跳回之前已经执行过的SQL语句.你可以根据需要修改他们,然后按Enter键重新提交执行. 然而,当在L ...

随机推荐

  1. C#并行

         /// <summary>         ///该实现方式并不是最高效的         ///只是举个例子,说明用锁来保护共享状态         /// </summ ...

  2. Expression Blend 4 学习笔记

    Animation Storyboard(情节提要)在对象和时间线面板中建立和命名,定位到对象(object),通过拖动play head(播放头,时间线中垂直的黄色指示线)定位到特定的时间点,点击“ ...

  3. AOP 面向切面编程, Attribute在项目中的应用

    一.AOP(面向切面编程)简介 在我们平时的开发中,我们一般都是面对对象编程,面向对象的特点是继承.多态和封装,我们的业务逻辑代码主要是写在这一个个的类中,但我们在实现业务的同时,难免也到多个重复的操 ...

  4. Delphi使用ADO进行数据库编程

    Delphi是一个可视化的编程工具,ADO编程也是这样,所以话不多言,直接通过代码.截图和语言来说明. 我的数据库是Oracle,为了测试,先建一个表:create table practice(un ...

  5. byte[] 转十进制

    short s = 0; //一个16位整形变量,初值为 0000 0000 0000 0000 byte b1 = 1; //一个byte的变量,作为转换后的高8位,假设初值为 0000 0001 ...

  6. TDD学习笔记【三】---是否需针对非public方法进行测试?

    前言 在Visual Studio 2012 中,针对Unit Test 的部分,有一个重要的变动: 原本针对「测试对象非public 的部分」,开发人员可通过Visual Studio 2010 自 ...

  7. Kinect开发随笔①——红外扫描仪(Kinect 数据源)

    来源于 MVA 的 快速入门:Kinect for Windows v2 开发 的学习随笔 具体内容为上图所示章节内容 章节内全部代码:GitHub地址点我(链接失效,待补档) <Page &l ...

  8. 复利计算APP版-----娱乐一下

    先不说那么多,下载地址来一个:http://pan.baidu.com/s/1eSz2GBg 目前版本号为:0.3 lastest 软件上线了!三平台首发! 下载地址: http://shouji.b ...

  9. 整理几种在axure里使页面居中的方法

    1. 用动态面板固定浏览器功能. 很简单方便. 但缺点是 当浏览器窗口大小小于页面时, 由于会强制居中,导致页面2边是在显示范围外并且是无法通过滚动条滚动的(滚动条是没有的). 2. 使用页面属性里的 ...

  10. .NET程序运行过程产生的问题

    1.数据兼容性 功能模块的开发,会影响历史数据以及新数据的更新和体现.比如开发功能007,007支持了金额可变,数量不可变的原理.而历史数据均是数量可变,金额不可变的原理.此时,就会产生了问题. 2. ...