必威体育Betway必威体育官网
当前位置:首页 > IT技术

[Linux] 使用 Wine

时间:2019-06-03 16:42:03来源:IT技术作者:seo实验室小编阅读:91次「手机版」
 

wine使用

Wine 是一个在 x86、x86-64 上允许类 Unix 操作系统在 X windows System 下运行 Microsoft WIndows 程序软件。Wine 通过提供一个兼容层来将 Windows 的系统调用转换成对 POSIX 标准的调用。

Wine 最早是“Windows Emulator”,即 Windows 模拟器的所写,但现在为“Wine Is Not an Emulator”的缩写,即 Wine 不是模拟器。Wine 的正确名称是“Wine”,而不是全大写或全小写。

操作系统

Wine 官方支持 ubuntu 而没有 centos,之前我用 CentOS 自己编译构建官方源码时,总会报依赖错误。后来我转向了 Ubuntu,考虑到可能后者更适合桌面使用与开发。以下有关 Wine 的安装与使用都是在 Ubuntu 18.04 中进行的。

安装 Wine

下载安装网址:https://wiki.winehq.org/Ubuntu,步骤如下:

如果是64位系统,首先允许32位架构

sudo dpkg --add-architecture i386 

添加仓库:

wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/

这样会默认添加当前操作系统版本对应的仓库。或者可以显式指定操作系统版本:

wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'

安装稳定版 Wine:

sudo apt-get install --install-recommends winehq-stable

注意

使用 apt-get 安装 Wine 默认会在 /usr/share/APPlications 下创建 wine.desktop 文件,但似乎这个文件无效,反而导致我启动 Wine 相关的命令时 gnome docker(gnome 桌面侧边栏)无法显示 Wine 的图标(侧边栏显示图标读取 */applications/ 下的 *.desktop文件)。所以解决办法就是删除对应目录下的 wine.desktop

初始化 Wine

Wine 默认将配置文件和安装的 Windows 程序保存在 ~/.wine。这样的目录称为一个"Wine prefix"或"Wine bottle"(保留原文,下文称“系统目录”)。每次运行 Windows 程序(包括内置程序,如 winecfg)时,系统目录会自动创建(如果缺失)或更新。系统目录中存放有相当于 Windows 下 C盘(更确切的说应是系统盘)的文件夹

WINEPREFIX

通过设置 WINEPREFIX 环境变量,可以更改 Wine 系统目录的位置。如果希望让不同的 Windows 程序使用不同的系统环境或配置,这一变量会非常有用。

例如,如果您使用 WINEPREFIX=~/.win-a wine-A程序.exe 参数来运行一个程序。另一个使用 WINEPREFIX=~/.win-b wine-B程序.exe 参数,这两个程序将使用独立的C盘和注册表配置。

以下命令会建立一个默认的系统目录,且不启动任何 Windows 程序:

WINEPREFIX=~/.customprefix wineboot -u

WINEARCH

很多软件(如 QQ) 只能在32位环境下安装,而使用 Winetricks 甚至有些软件(如wmp10)只能在纯32位环境下安装。

对于64位用户,默认创建的系统目录是64位环境的。若想使用纯32位环境,修改WINEARCH 变量win32为即可: WINEARCH=win32 winecfg 这样就会生成32位Wine环境。若不设置 WINEARCH 得到的就是64位环境。

通过 WINEPREFIX 变量,在不同的系统目录分别创建32位和64位环境:

WINEARCH=win32 WINEPREFIX=~/.win32 winecfg 
WINEPREFIX=~/.win64 winecfg

winetricks也接受WINEPREFIX变量,以安装Steam为例:

WINEARCH=win32 WINEPREFIX=~/.win32 winetricks steam

Winetricks

Winetricks是一个辅助脚本,用于在wine中下载并安装各种闭源的组件和运行库。

安装 Winetricks

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks
sudo mv winetricks /usr/local/bin

更新 Winetricks

winetricks --self-update

使用 Winetricks

在控制台输入 winetricks 即可运行,如果不带参数,winetricks 将以图形界面显示可用的软件包列表。也可以在 winetricks 命令后附带需要安装的软件包的名称,它会立即开始安装过程。例如,安装 corefonts 包和 vcrun6 包:

winetricks corefonts vcrun6

与 wine 命令相似,winetricks 可以使用 $WINEPREFIX 变量,对应不同的 wine 目录,例如:

env WINEPREFIX=~/.winetest winetricks mfc40u

向 ~/.winetest 前缀中安装 mfc40u 包。

Wine 使用32位环境

WINEARCH=win32 WINEPREFIX=~/.win32 winecfg

输入以上命令后,Wine 会自动创建 ~/.win32 及该文件夹下的系统目录

Wine 安装字体

WINEPREFIX=~/.win32 winetricks cjkfonts corefonts fakechinese fontfix fontsmooth-gray fontsmooth-rgb fontsmooth-bgr tahoma allfonts
  • 我当时安装 tahoma 时无法连接下载网站,所以后来在另一个网站中下载了 tahoma32.exe,并替换到 ~/.cache/winetricks/tahoma 目录下,再运行:

    WINEPREFIX=~/.win32 winetricks tahoma
    

    下载网址为:http://dir.vietnam.online.fr/home/vnDownloads.htm

Wine 安装 Windows DLL 或组件

WINEPREFIX=~/.win32 winetricks d3drm d3dx9 devenum dotnet40 gdiplus msctf mfc40 mfc42 msls31 msxml6 ole32 quartz riched20 vb6run vcrun6 vcrun2003 vcrun2005 vcrun2008 vcrun2010 vcrun6 wmp10
  • 安装 wmp10 时可能需要中断,killwine相关进程后再次使用 winetricks 进行安装才行。

或者使用以下命令打开 winetricks GUI 界面:

WINEPREFIX=~/.win32 winetricks

进入“安装Windows DLL 或组件”界面:

安装Windows DLL 或组件

选择上述组件并安装

Wine 安装 QQ:

进入 winetricks 的 GUI 界面,选择安装 Windows 应用:

安装 Windows 应用

勾选 qq ,进行安装。

安装过程中,winetricks 会自动停用 ntoskrnl.exetxplatform.exe。需要禁止 winedevice.exe 使用 ntoskrnl.exe,必须在系统默认设置里面禁止,对 qq 单独设置无效。为了不影响其他程序,建议将 qq 安装在单独的系统目录内,比如:

WINEARCH=win32 WINEPREFIX=~/.wineqq winecfg

然后通过

WINEPREFIX=~/.wineqq winetricks

来安装 qq。

注意

在聊天界面使用气泡模式,输入文字会变成方块,解决方法是在 wine 命令前加 LANG=zh_CN LC_ALL=zh_CN.UTF-8 环境变量参数。

前两天将QQ升级为了最新版的QQ 9.0.8,但是会崩溃,所以还是推荐使用QQ 8.9版本的

创建桌面快捷方式:

安装完程序最好登出一下账号,然后再次进入,这样 Wine 创建的应用快捷方式可以刷新生效。

Wine 自动创建的程序快捷方式位于 ~/.local/share/applications/wine/Programs 目录下。

将程序对应的快捷方式(比如 “腾讯QQ.desktop”)复制到 ~/Desktop 目录下即可创建桌面快捷方式。

desktop 文件的一般内容(经过了我的修改,因为原来的无法正常启动)如下:

[Desktop Entry]
Name=腾讯QQ
Type=Application
StartupNotify=true
Icon=QQ
Exec=env WINEPREFIX=/home/wayne/.win32 LANG=zh_CN LC_ALL=zh_CN.UTF-8 wine C:\\Program\ Files/Tencent/QQ/Bin/QQ.exe

Wine 安装微信

从微信官网下载最新版微信安装包,使用 wine 进行安装:

WINEPREFIX=~/.win32 wine WeChat_C1018.exe

Wine 创建的微信快捷方式启动后微信是英文而且中文会乱码,解决方法是修改快捷方式,在 wine 命令前加 LANG=zh_CN LC_ALL=zh_CN.UTF-8 环境变量参数:

[Desktop Entry]
Name=微信
Exec=env WINEPREFIX="/home/wayne/.win32" LANG=zh_CN LC_ALL=zh_CN.UTF-8 wine C:\\\\windows\\\\command\\\\start.exe /Unix /home/wayne/.win32/dosdevices/c:/ProgrAMData/Microsoft/Windows/Start\\ Menu/Programs/微信/微信.lnk
Type=Application
StartupNotify=true
Path=/home/wayne/.win32/dosdevices/c:/Program Files/Tencent/WeChat
Icon=8A76_WeChat.0
StartupWMClass=wechat.exe

注意

在微信中打开腾讯新闻或者公众号会崩溃,解决办法是微信设置里勾选使用默认浏览器打开网页

Wine 安装 三国志11

下载并使用 wine 来安装三国志11威力加强版。

我的 wine 自动生成的快捷方式启动会中文乱码,采取和微信一样的方法修改 desktop 文件。

一开始启动游戏是失败的,或者没有音频,会报如下错误:

fixme:gstreamer:unknown_type Could not find a filter for caps: video/mpeg, systemstream=(boolean)true, mpegversion=(int)1

fixme:gstreamer:watch_bus decodebin5639: Your Gstreamer Installation Is Missing A Plug-in。

解决方法是在 winecfg 中添加对 san11pk.exe 的程序设置,在函数库中停用 winegstreamer,并添加 quartz

这里写图片描述

Wine 安装 Office:

本人只测试过 Office 2010 和 Office 2013,其中 Office 2010 可以正常运行。Office 2013 Pro 只有英文版可以正常运行,而且只有在 wine 3.0.1 下运行正常,在 wine 3.11 中会异常。

另外在 Wine 中无法成功卸载 Office 2013 Pro。所以建议开启独立的系统目录来安装运行 Office,比如:

WINEARCH=win32 WINEPREFIX=~/.wineoffice winecfg

安装必要字体及DLL组件后,到相应的安装目录下执行:

WINEPREFIX=~/.wineoffice wine setup.exe

来安装 Office 2013 Pro

卸载软件

可以通过 winetricks 来卸载软件。

如果软件无法卸载或者系统出错,可以直接删除所对应的系统目录。

Winetricks-zh

winetricks-zh 是一个 winetricks 的修改版,添加了一些国内常用的 windows 应用支持,以弥补官方版 winetricks 对国内应用支持不足的情况。但最终目的仍然是希望上游能将这些应用添加进去。

winetricks 网址:https://github.com/hillwoodroc/winetricks-zh/

桌面图标

Ubuntu 18.04 Gnome桌面显示传统托盘图标:安装topiconPlus的gnome-shell扩展,命令:sudo apt-get install gnome-shell-extension-top-icons-plus gnome-tweaks,然后用gnome-tweaks开启这个扩展。

参考资料

[1] https://homulilly.com/post/run-japanese-galgame-on-Ubuntu-with-wine.html “Ubuntu 下通过 Wine 运行日文 Galgame”

[2] https://wiki.archlinux.org/index.php/Wine_(简体中文)#.E5.A3.B0.E9.9F.B3 “Wine (简体中文)”

[3] https://www.winehq.org/ “WineHQ 官网”

[4] https://www.cnblogs.com/jikexianfeng/p/5769430.html “winetricks 用WineTricks令你的Wine更完整”

[5] https://wiki.winehq.org/Winetricks “WInetricks”

[6] http://dir.vietnam.online.fr/home/vnDownloads.htm “Tahoma 字体”

相关阅读

Linux下关闭ALSR(地址空间随机化)的方法

##0x00 背景知识ASLR(Address Space Layout Randomization)在2005年被引入到Linux的内核 kernel 2.6.12 中,当然早在2004年就以pat

linux分区方案

菜鸟方案 “/”与swap两个分区就可以应付绝大多数的应用 常用方案 分为3个区 1. 挂载点/;主分区;安装系统和软件;大小为30G;分区格式

Linux内核配置工具-menuconfig用法

打开:cd进入Linux内核根目录后,控制台输入make menuconfig 移动选择框:上下键、左右键。 搜索功能:”/”键。 选择:回车。 打开/关闭某

Linux压缩和解压缩命令

打包:tar 计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案

linux常用命令大全

作者:蓝藻时间:2018.7.3前言 本文特点 授之以渔:了解命令学习方法、用途:不再死记硬背,拒绝漫无目的; 准确无误:所有命令执行通过(环境为

分享到:

栏目导航

推荐阅读

热门阅读