一、wine是什么
为了在linux上运行windows程序,而设计的中间层
二、安装wine
官方仓库中有wine,使用zypper安装
sudo zypper in wine
三、环境变量
(一)WINEARCH
WINEARCH指定
了你模拟的Windows是32位的还是64位的。对应的值为win32
及win64
,如果你的Unix系统是64位的它就默认是win64
。
很多软件只能在32位windows下运行,此时应该指定WINEARCH=win32
(二)WINEPREFIX
WINEPREFIX指定了要模拟的windows的c盘目录。一个wineprefix就相当于一台windows。
指定时使用unix风格的完整路径。默认的wineprefix是$HOME/.wine 。
一个用户可以在同一系统中拥有多个wineprefixes 。
如果使用WINEPREFIX=~/.wine
a A.exe
运行一个程序,使用WINEPREFIX=~/.wineb B.exe运行另一个程序
,这两个程序将使用独立的C盘和注册表配置。
四、配置wine
(一)创建Wineprefix
1.创建64位wineprefix
WINEARCH=win64 WINEPREFIX=~/.wine64 winecfg
因为在64位linux系统下,WINEARCH默认是win64,所以可以省略之
WINEPREFIX=~/.wine64 winecfg
如果不指定WINEPREFIX,WINEPREFIX默认是~/.wine
2.创建32位Wineprefix
WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg
(二)删除Wineprefix
就是删除文件夹
rm -rf ~/.wine
(三)winecfg
运行winecfg配置windows
WINEPREFIX=~/.wine64 winecfg
当程序启动时,你会注意到窗口顶部有几个标签,分别是:
1.Application 设置
Wine能模仿不同版本的Windows。Wine 默认的 Windows 版本是 Windows XP。
注意:XP 之前的 Windows 版本只能在32位 wineprefixes 的 winecfg 中选择。
选择默认设置会把windows版本应用于所有应用程序。
要对应用程序设置单独的windows版本,采用如下操作:点击 "增加程序设置 "按钮。选择特定应用程序。选择特定Windows版本。
2.Libraries 设置
Wine的内置dlls基本够用。但一些应用程序需要特定的库才能运行,此时需要dll顶替。
注意: 这些 DLL的本地版本不能工作:kernel32.dll, gdi32.dll, user32.dll, 和 ntdll.dll 。这些库需要低级别的 Windows 内核访问,而Wine中根本不存在。
如何顶替?把要顶替的dll复制到c:\windows\system32目录下。然后选择新增函数库顶替。如果在 "应用程序" 选项卡中选择了"默认设置",顶替将影响所有应用程序。如果选择一个特定应用程序,只会影响特定程序。
例如、要为FOO.DLL添加一个覆盖,在标有New override for library: 的框中输入FOO,然后点击 Add 按钮。要改变 DLL 的行为方式,在Existing overrides: 框中选择它并选择编辑。默认情况下,新的加载顺序是本地 Windows 库先于 Wine 内置库(先本地后内置)。你也可以选择只加载本地库、只加载内建库,或者完全禁用它。
DLLs通常按以下顺序加载:
缺少所需dll,例如:
err:module:import_dll Library MFC42.DLL (which is needed by L"C:Program FilesFooBar.dll") not found
可以通过winetricks安装必要的dll。请注意,这些组件受制于它们自己的许可证,不是 Wine 项目的一部分。你应该参考应用程序的 AppDB 条目,了解所需的建议。
3.Graphics 设置
基本上有五种图形设置。基本上选默认值就好。
全屏模式捕获光标,默认情况下不勾选这个选项。这在使用虚拟桌面时是最需要的。
虚拟桌面,勾选时,所有程序将在一个单独的窗口中运行。你可能想尝试的尺寸是 800x600(默认)或 1024x768。
4.Drive 设置
Drives 标签页下,有添加和删除可用驱动器的按钮。当你选择添加一个驱动器时,会有一个新的条目出现,并且会出现一个默认的驱动器映射。你可以通过改变 Path: 框中的内容来改变这个驱动器的指向。如果你不确定确切的路径,你可以选择浏览来搜索它。删除一个驱动器就像选择该驱动器并点击删除一样简单。
Winecfg 有能力自动检测你系统中可用的驱动器。建议你在尝试手动配置驱动器之前先试试这个功能。只需点击自动检测按钮,就可以让 Wine 在您的系统上搜索驱动器。
你可能对在 winecfg 之外配置你的驱动器设置感兴趣,在这种情况下,你很幸运,因为这很容易。所有的驱动器设置都在一个特殊的目录中。 ~/.wine/dosdevices 。每个 "驱动器 "只是一个链接,指向它实际所在的位置。在你第一次运行 Wine 时,Wine 自动设置了两个驱动器。
$ ls -la ~/.wine/dosdevices/ lrwxrwxrwx 1 wineuser wineuser 10 Jul 23 15:12 c: -> ../drive_c lrwxrwxrwx 1 wineuser wineuser 1 Jul 23 15:12 z: -> /
要添加另一个驱动器,例如你的CD-ROM,只需创建一个指向它的新链接:
$ ln -s /mnt/cdrom ~/.wine/dosdevices/d:
请注意用于链接的 DOS 风格的命名惯例--其格式是一个字母后跟一个冒号,如 a: 。因此,如果你的 c: 驱动器的链接指向 ~/.wine/drive_c,你可以把对 c:windowssystem32 的引用解释为 ~/.wine/drive_c/windows/system32 。
5.Audio 设置
在 "音频" 选项卡下看到 Wine 为你计算出的选定的驱动程序。
你可以手动选择哪个设备将被用于输出、输入、语音输出和语音输入。例如,你可以选择你的声音设备的数字输出而不是模拟的。
五、如何安装和运行windows程序
(一)运行windows程序
1.双击 .exe 文件,就像在Windows中一样
2.也可以右击该文件,选择 "打开方式",然后选择 "Wine"
3.安装一个应用程序后,它可能会在你的计算机的 应用程序 → Wine → 程序菜单 中出现一个条目,或在桌面上出现一个图标,就像在 Windows 下一样。你应该能够像在 Windows 下那样使用它们
4.使用命令行运行windows程序。比如说:
wine tron.exe
5.使用wine start命令
如果你指定了.exe 的完整路径,你需要使用 wine start ,因为这允许Wine在需要时为程序设置工作目录。
(1)你可以向 Wine 提供一个 DOS 或 Windows 在单引号内的路径风格,像这样:
wine start 'C:\Games\Tron\tron.exe'
(2)你也可以使用双引号,但你需要两个反斜线而不是一个:
wine start "C:\\Games\\Tron\\tron.exe"
(3)如果你喜欢使用 Unix 风格的路径名,使用/unix选项来启动,例如:
wine start /unix "$HOME/installers/TronSetup.exe"
6.传递 Windows 命令行参数
例如,如果你在 Windows 上使用一个带开关的程序:
quake.exe -map e1m1
然后,你可以在 Wine 中通过运行下列指令来做同样的事情:
wine quake.exe -map e1m1
也就是说,命令行是相同的,只是前面有 wine。然而,请注意,你可能需要用反斜线转义某些特殊字符,因为它们在 Linux shell 中的处理方式不同。比如说:
quake.exe -map C:\Quake\e1m1.bsp
在 Linux 中应改为:
wine quake.exe -map C:\\Quake\\e1m1.bsp
7.运行 .msi 文件
MSI 文件不能直接运行;你需要使用 Wine 的 msiexec 程序或从终端启动 wine。
wine msiexec /i whatever.msi
或者
wine start whatever.msi
(二)安装windows程序
1.使用winetricks安装
使用Winetricks,您可以安装一些常见的Windows程序,例如Win32 Firefox,Apple QuickTime,各种多媒体编解码器,TrueType字体和运行时DLL,例如Visual C ++运行时等。
在控制台输入 winetricks
即可运行,如果不带参数,winetricks 将以图形界面显示可用的软件包列表。
也可以在 winetricks 命令后附带需要安装的软件包的名称,它会立即开始安装过程。
例如,安装 corefonts 包和 vcrun6 包:
winetricks corefonts vcrun6
与 wine 命令相似,winetricks 可以使用 $WINEPREFIX 变量,对应不同的 wine 目录,例如:
env WINEPREFIX=~/.winetest winetricks mfc40u
向 ~/.winetest中安装 mfc40u 包。
2.使用uninstaller安装
wine uninstaller
uninstaller不仅能卸载,也能安装软件
(三)卸载windows程序
1.使用uninstaller
卸载东西的标准方法是应用程序提供一个卸载程序,通常在 "添加/删除程序" 控制面板小程序中注册
$ wine uninstaller
2.使用winetricks卸载
可以通过 winetricks
来卸载软件。
3.直接删除软件
如果软件无法卸载或者系统出错,可以直接删除所对应的系统目录。
六、常见问题
(一)出现乱码(或中文字体不显示)的问题。
这是因为没有安装字体。需要安装cjk字体
可以通过winetricks安装cjk字体
也可以自行下载,解压到~/.wine/drive_c/windows/Fonts/目录下
(二)运行卡死
杀死所有正在运行的wine和运行的程序(exe)
ps ax | egrep "*.exe|*exe]" | awk '{ print $1 }' | xargs kill