Wine实现Linux和Windows的融合使用

前言

需求:在linux上使用一些windows特有的或windows版本的应用。

一、测试环境:

Ubuntu:22.04.2(基于VMWare虚拟机环境)

银河麒麟:kylin v10

BigCloud Enterprise Linux:8.2.2107

Wine:8.0.1 / 6.0.2

注:过程中所有报错参考报错合集(建议先看一下报错合集)。

二、安装wine(ubuntu)

1. 更新系统

$ sudo apt update

确保通过运行此命令更新包列表

  1. 开启32位安装环境

$ sudo dpkg --add-architecture i386

此命令不返回任何输出

  1. 下载并添加Wine存储库秘钥

以下命令添加wine存储库秘钥:

$ wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add –

  1. 添加wine存储库

添加存储库密钥后,继续在Ubuntu 系统上启用 Wine 存储库,如下所示:

$ sudo apt-add-repository "deb https://dl.winehq.org/wine-builds/ubuntu/ $(cat /etc/os-release | grep UBUNTU_CODENAME | cut -d '=' -f 2) main"

  1. 在 Ubuntu 22.04上安装最新版本 Wine
  1. 添加 Wine 存储库后,再添加 OBS 存储库。和之前一样,我们将首先添加 GPG 密钥:

$ wget -qO - https://download.opensuse.org/repositories/Emulators:/Wine:/Debian/xUbuntu_22.04/Release.key | sudo apt-key add –

2、接下来,添加Wine-OBS存储库:

$ sudo echo "deb Index of /repositories/Emulators:/Wine:/Debian/xUbuntu_22.04 ./" | sudo tee /etc/apt/sources.list.d/wine-obs.list

3、添加 wine-OBS 存储库,最后,要在 Ubuntu 22.04 上安装 Wine:

$ sudo apt update

$ sudo apt install --install-recommends winehq-stable

此命令将下载一系列包、库、依赖项和驱动程序

  1. 验证安装结果

验证机器上的Wine版本:

$ wine –version

至此,wine 8.0.1安装完成。

  1. 打开Wine 设置

$ winecfg

观察wine是否存在中文乱码问题,如图。

如果存在中文乱码,下载 simsun.ttc 字体文件,放到Ubuntu中的

/home/[用户名]/.wine/drive_c/windows/Fonts/ 目录下,即可解决,如图。

三、安装wine(kylin 、BCLinux:不支持

1. 下载wine软件包

wget  Download wine-8.0.1.tar.xz (Wine) 

2. 解压软件包

tar -xvJf wine-8.0.1.tar.xz

3. 安装wine

cd wine-8.0.1  //进入解压好的文件夹

64位安装:

./configure --enable-win64

32位安装:

./configure

后面步骤一样:(make这一步可能要等半个小时到一个小时,要耐心等待)

make

make install

4. 测试安装结果

wine --version

如果安装完成 wine命令不能使用,尝试:

sudo ln -s /usr/local/bin/wine64 /usr/local/bin/wine

5. 安装windows应用

下载windows应用的exe软件包,放在kylin的某个目录,并cd到此目录

使用wine 指令进行安装

wine xxxxxx.exe  测试不成功

四、安装Windows 应用并测试使用

1. 安装Navicat 16

I. 下载windows版本的exe安装包。

Navicat | 下载 Navicat Premium 14 天免费 Windows、macOS 和 Linux 的试用版

II. 使用wine 安装:先进入到exe所在目录,然后使用终端 wine [安装包名].exe

如:

III. 如图,开始安装向导,所有设置保持默认,一直下一步,直至安装完成(安装路径建议不修改)

IV. 安装完成后,桌面出现快捷方式,但是快捷方式不可用,如图。

右键快捷方式选择 允许运行 快捷方式可以正常使用。

2. 安装WinSCP

I. 下载windows 版本的 exe 文件。

WinSCP :: Official Site :: Free SFTP and FTP client for Windows

II. 使用 wine [安装包名].exe 命令进行安装

III. 使用安装向导完成安装

IV. 安装完成,右键桌面上的快捷方式,允许运行。双击即可打开 WinSCP

3. 安装edge

I. 下载windows 版本的软件包

下载 Microsoft Edge

II. 使用wine命令安装

III. 跟随安装向导完成安装

IV. 安装向导无法安装 ,一直等待安装很长时间,最后失败。

4. 安装plsql

I. 下载plsql 的软件包 (这里下载的是msi文件)

Registered download PL/SQL Developer - Allround Automations

 

II. 使用wine 命令开始安装。

III. 根据安装向导完成安装。

IV. 右键快捷方式,允许运行。

V. 下载oracle 客户端组件

Instant Client for Windows 32-bit

下载后解压文件 得到 instantclient_12_2 (注:注意区分64位和32位)

VI. 把 instantclient_12_2 文件 放到plsql的安装目录下。

VII. 打开plsql 暂时先不登录,点击configure --> preferences

VIII. 配置两个路径 上面的是plsql安装目录下的instantclient_12_2 文件的路径,下面的是该文件下的oci.dll 路径 如图

IX. 在配置 Appearance 中的语言为简体中文 。完成两个配置后重启即可。

5. 安装chrome

I. 在windows主机下载exe软件包(linux主机无法下载)

II. 通过ftp协议把软件包上传到linux系统。

III. 使用wine命令安装chrome

IV. 右键快捷方式允许运行

6. 安装DBeaver

I. 下载软件包

II. 使用wine命令安装软件包

III. 右键快捷方式,允许运行

五、报错合集                                              

1. 安装wine 过程中报错:

W: GPG 错误:https://dl.winehq.org/wine-builds/ubuntu xenial InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 76F1A20FF987672F

E: 仓库 “/wine-builds/ubuntu bionic InRelease” 没有数字签名。

N: 无法安全地用该源进行更新,所以默认禁用该源。

N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。

报错没有签名,尝试解决办法:

wget -qO- https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add -

sudo apt install software-properties-common

sudo apt-add-repository "deb http://dl.winehq.org/wine-builds/ubuntu/ $(lsb_release -cs) main"

2. 安装wine过程中,执行 sudo apt update 报错

文件 list 第 1 行的记录格式有误 /etc/apt/sources.list.d/wine-obs.list (URI p…

可能是由于第二步中的5.2步,出现问题,可以直接把/etc/apt/sources.list.d/wine-obs.list 文件删除即可,测试没有影响。

3. 安装wine 成功后第一次安装应用:

提示没有mono安装器

解决: 跟随提示安装即可。

4. 安装plsql 后,打开configure --> preferences 设置时,可能出现多次无响应

解决:多点几次等待,一会就出来了。

5. 安装WinSCP 打开看不到文件

通过测试,实际是有文件夹的,是显示问题。

在本机侧 ,打开某些目录会导致应用无响应 等待无效。

原因:可能是由于测试是在虚拟机上安装的Ubuntu 可能目录读取有问题。不确定是否是虚拟机问题。

6. 安装plsql 后链接数据库出现报错

在打开plsq登录数据库时,发生如图错误:

错误原因:配置的oracle客户端的路径错误

尝试改成 :

C:/Program Files (x86)/PLSQL Developer 14/instantclient_12_2

C:/ Program Files (x86)/PLSQL Developer 14/instantclient_12_2/oci.dll

如果还是报如图错误,修改路径为:

/home/[用户名]/.wine/drive_c/Program Files (x86)/PLSQL Developer 14/instantclient_12_2

/home/[用户名]/.wine/drive_c/Program Files (x86)/PLSQL Developer 14/instantclient_12_2/oci.dll

如果还是报如图错误:

考虑是否下载的是64位的oracle客户端。

原因:32位的plsql和64位的oracle客户端不兼容问题

如果报如图错误:

说明登录的数据库连接信息填写有误。

7.  安装chrome后双击无法打开

双击后无反应,应用打不开

8.  Kylin安装wine后安装应用不成功

在首次安装应用或者首次调用 winecfg时,会提示未安装mono安装器或gecko组件

点击安装后,下载非常缓慢导致下载不成功

手动通过网址下载一样

暂时没有解决办法,此错误直接导致kylin系统无法使用wine

尝试通过sftp手动导入一个mono组件:

但是并不能正确使用。

9.  Kylin安装wine后安装应用是报缺失dll文件

在使用wine xxxxx.exe 命令时 ,提示缺少dll文件

此报错在8. 没有正确安装mono安装器的前提下发生:

尝试手动导入缺失的dll文件,结果还是用不了。

且每次重装 wine 报错缺失的dll文件不固定。

目前没有解决办法,尝试重装无法解决。

此错误直接导致kylin系统无法使用wine。

10. Kylin安装wine使用./configure 安装32位wine报错

安装32位wine时 报错缺少32位环境。

由于测试的kylin系统是64位的环境,所以无法解决此问题。

尝试网上的下载32位环境失败,提示没有找到相关软件包。

解决:使用 ./configure --enable-win64 安装64位

11.  BCLinux 安装wine后安装mono组件出现报错

安装wine 后 在根据提示安装mono安装器时,下载过程中出现如图错误:

已下载的文件校验值错误,放弃安装已损坏的文件。

解决:点击确定后,会从新开始下载。如果没有重新开始,则再次输入wine命令,更新wine组件。(mono组件下载非常缓慢,需要耐心等待,可能与网速有关。)

每次使用wine安装应用时,都会自动检查wine组件是否更新。如果缺失相关组件,会再次弹出安装窗口。

12.  BCLinux安装wine后,安装exe程序出错

前提:在安装完wine 和wine 相关组件后,如mono、gecko 后:

注:此时wine使用wine --version 和winecfg 、wine control 等命令都没有问题。

安装exe程序时,报如图错误,显示当前系统不支持该应用:not supported on this system

注:尝试多个安装包都报相同错误。

暂时无法解决。该系统只支持安装64位wine,由于没有32位安装环境,无法安装32位wine。不确定是否是位数问题。(exe程序均为64位安装程序)。

该问题直接导致BCLinux系统无法使用wine。

13.  BCLinux尝试通过yum 库下载 wine

前提:在添加了centos8的yum源之后,尝试通过yum 库安装:

安装 EPEL 软件源及其他的一些依赖:

yum install libX11-devel freetype-devel zlib-devel libxcb-devel -y

yum install epel-release

yum install wine

然后再执行对应用的安装:

还是无法兼容,无法解决wine用不了的问题。

六、总结

 wine支持较好的是Ubuntu 系列的 apt 系统。对于yum源的系统,兼容性不好。

  • 27
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值