麒麟Win32运行环境

以下内容摘自《银河麒麟操作系统进阶应用》一书

麒麟Win32运行环境(Kylin Win32 Runtime Environment,KWRE)使Windows平台应用软件可以在银河麒麟桌面V10上运行,满足办公与生产的日常需要。

KWRE基础

KWRE目前已集成少量办公类、社交类、娱乐类软件。图336所示的是x86架构银河麒麟软件商店中的Win32应用软件(共64款)、图337所示的是ARM64架构软件商店中的Win32应用软件(共17款)。

如图338所示,首次"打开"已安装的Win32应用程序时(图中安装的是Xshell(Win32版)),会弹出"CrossOver"的提示框,这说明"麒麟Win32兼容运行环境"是基于CrossOver的。

CrossOver是一款商业软件,旨在让类UNIX系统(包括Linux)能够运行Windows应用程序。它是基于开源软件Wine开发的。Wine是一个开源的兼容层,通过实现Windows API(应用程序编程接口),允许在类UNIX系统上直接运行Windows程序。相比Wine,CrossOver提供了一个图形用户界面,这使得用户能够更轻松地安装、配置和管理Windows应用程序。

表39对CrossOver、Wine、Windows原生这三种运行Win32程序的方式进行了比较。

表39 三种运行Win32程序方式的比较

|-------|--------------|------------|----------------|
| 特 性 | CrossOver | Wine | Windows原生 |
| 用户界面 | 图形用户界面(GUI) | 命令行界面(CLI) | 图形用户界面(GUI) |
| 安装便利性 | 一键安装,预配置支持 | 需要手动配置 | 一键安装 |
| 应用支持 | 官方支持,预配置的应用库 | 社区支持 | 完整支持 |
| 更新与支持 | 定期更新,提供付费支持 | 社区维护更新 | 官方定期更新 |
| 成本 | 需要购买许可证 | 免费 | 需要购买Windows许可证 |

KWRE环境分析

打开Xshell(Win32)版的同时,在终端中使用命令ps aux | grep wine搜索Wine相关进程,结果如图339所示。

由图3-39可知Wine可执行程序位于/opt/cxoffice/bin目录下,该目录包含的文件如图340所示。

由图3-40可以看出,CrossOver、Wine相关的可执行文件都位于该目录下,同时已安装的Win32版应用程序的启动脚本也位于该目录下(如图3-40中的kylin-kwre-xshell),kylin-kwre- xshell脚本的内容如图341所示,其内容与图339显示的进程命令行内容一致。

图341出现了只有Windows系统才有的路径C:/Program Files/,可以通过查看Wine的配置加深理解。建议将目录/opt/cxoffice/bin加入操作系统环境变量PATH,便于在其他目录下执行该目录下的命令。可以利用X-CMD的pathman模块向环境变量PATH中添加目录,例如:

pathman add /opt/cxoffice/bin #将/opt/cxoffice/bin添加到环境变量PATH中

pathman list #检查PATH内容,确认是否添加成功

将目录/opt/cxoffice/bin加入环境变量PATH后需重启Shell,然后运行CrossOver命令,即可打开CrossOver图形用户界面(如图342所示)。

由图3-42可以看出,相比办公软件Office,CrossOver对部分游戏有着更好的支持。编者在2006年就曾使用过CrossOver在Linux系统上运行游戏《魔兽世界》,当时就达到了基本可玩的程度,现在的体验应该更加完美。

单击图343中的"打开C:盘"按钮,会弹出如图344所示的界面,也就是说,每个应用程序中所谓的C盘,其实际目录是"/home/<用户名>/.cxoffice/<应用程序名>/drive_c"。每个Win32软件安装后,都会在"/home/<用户名>/.cxoffice/"目录下建立独立的子目录。

单击图343中的"Wine配置"会弹出Wine设置窗口(如图345所示),在"驱动器"标签页可以看到除C盘外,Wine还挂载了Y盘和Z盘。C盘对应的路径是灰色的无法修改,其他的盘符对应的路径可以修改。单击"添加"按钮还可添加更多盘符。

安装Windows程序

KWRE仅内置了几十款Win32应用程序,难以满足用户需求,可以直接使用CrossOver安装Windows应用程序。使用CrossOver安装Windows应用程序有两种方式:在线安装和离线安装。

(1)CrossOver在线安装软件。

这里以Notepad++这个小软件为例。使用CrossOver安装Windows软件前,一般需要检查一下该软件在当前系统的兼容性,CrossOver在其官网提供了2万余款Windows软件的兼容性列表。如图346所示,Notepad++这款软件可在CrossOver环境中"近乎完美"地运行。

图347展示了Notepad++的具体下载地址,这个安装包托管在GitHub网站上。

安装完毕后,在"文件"菜单中选择"打开",弹出如图348所示的界面。通过该界面可更好地理解Wine所挂载的几个盘符。

(2)CrossOver离线安装软件。

CrossOver中未提供安装包下载的软件则需要使用离线方式安装,这里以安装思维导图软件Xmind为例讲述离线安装软件。如图349所示,单击"安装一个不在列表里的应用程序",弹出如图350所示的窗口界面。

在单击"编辑"按钮选择软件安装包路径后,还需要选择软件要安装到的容器。这里所谓的容器可以理解为兼容某个版本Windows的一套软件环境。它与Docker容器不是一个概念,注意区分。图350左侧的菜单中区分了"私有容器"和"已发布的容器","私有容器"是直接通过CrossOver安装软件时创建的,"已发布的容器"是通过银河麒麟软件商店安装Win32应用程序时创建的。

选择容器时,可以新建,也可以使用已有的兼容容器(如图351所示),这里选择兼容的名为Notepad++的容器,这个容器类型是Windows 7 64位。

目前CrossOver兼容的容器所支持的Windows版本如图352所示。

一个容器里面可以安装多个软件,如图353所示,图中单个容器内安装了Notepad++和Xmind两个软件。

相关推荐
Mikhail_G12 分钟前
Python应用continue关键字初解
大数据·运维·开发语言·python·数据分析
TangKenny1 小时前
Linux Maven Install
linux·运维·maven
Fireworkitte1 小时前
Maven 项目中集成数据库文档生成工具
linux·运维
文牧之1 小时前
PostgreSQL的扩展 passwordcheck
运维·数据库·postgresql
FBI HackerHarry浩2 小时前
云计算 Linux Rocky day03
linux·运维·服务器
石硕页2 小时前
windows下安装docker、dify、ollama
运维·docker·容器
m0_694845572 小时前
云服务器如何连接和远程操作?
linux·运维·服务器·安全·云计算
啃火龙果的兔子2 小时前
宝塔面板安装nodejs后,通过node -v获取不到版本号,报错node: command not found
linux·运维·centos
群联云防护小杜3 小时前
企业级高防CDN选型指南
运维·服务器·人工智能·自动化·ddos
XMAIPC_Robot3 小时前
基于 NXP + FPGA+Debian 高可靠性工业控制器解决方案
运维·人工智能·fpga开发·debian·边缘计算