当前位置: 首页 > 工具软件 > openSUSE > 使用案例 >

opensuse如何安装wine

陈翰林
2023-12-01

一、wine是什么

为了在linux上运行windows程序,而设计的中间层

二、安装wine

官方仓库中有wine,使用zypper安装

sudo zypper in wine

三、环境变量

(一)WINEARCH

WINEARCH指定了你模拟的Windows是32位的还是64位的。对应的值为win32win64,如果你的Unix系统是64位的它就默认是win64

很多软件只能在32位windows下运行,此时应该指定WINEARCH=win32

(二)WINEPREFIX

WINEPREFIX指定了要模拟的windows的c盘目录。一个wineprefix就相当于一台windows。

指定时使用unix风格的完整路径。默认的wineprefix是$HOME/.wine 。

一个用户可以在同一系统中拥有多个wineprefixes 。

如果使用WINEPREFIX=~/.winea 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通常按以下顺序加载:

  1. 程序启动的目录
  2. 当前目录
  3. Windows 系统目录
  4. Windows 目录
  5. PATH 变量目录

缺少所需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

 类似资料: