1207 字
6 分钟
WinApps——Linux日用的最后一块拼图

尽管目前Linux的软件生态已经是一片勃勃生机,万物进发的景象犹在眼前。但是我们仍然面对Office、PhotoShop等部分软件不得不使用windows环境来运行的情况。wine对于部分软件来说仍然有兼容性问题,而直接使用虚拟机又显得不太方便。这个时候我们的WinApps出场了,WinApps使用远程桌面协议(RDP)直接与我们需要使用的windows软件交互,让我们可以不必打开vm就直接使用软件,也不用再在虚拟机内与windows桌面交互了。

下面我们以PhotoShop为例,演示WinApp的使用方法。

安装虚拟机管理器#

首先我们要安装一个虚拟机管理器,这部分请参考上期内容

然后在虚拟机管理器的编辑-首选项勾选前两项:

在首选项中选择启用xml编辑和系统托盘图标

虚拟机安装windows#

准备安装镜像#

我们需要准备两个安装镜像,一个是windows系统安装镜像,另一个是windows虚拟驱动的安装镜像virtio-win

windows安装镜像请前往微软官网下载,而驱动这里我们选择fedora的镜像站下载其中的virtio-win.iso

这里我以windows11为例进行安装。

安装过程#

首先我们打开虚拟机管理器,选择文件-新建虚拟机-本地安装介质

image

选择本地windows系统镜像;

image

接下来两步按照你的电脑配置自己确定大小,内存不建议低于4G;

image

完成之后,我们还需要做一些别的配置:

  1. CPU选项中启用复制主机CPU配置并打开XML,确保clock一项与下面一致:
<clock offset="localtime">
<timer name="rtc" tickpolicy="catchup"/>
<timer name="pit" tickpolicy="delay"/>
<timer name="hpet" present="yes"/>
<timer name="hypervclock" present="yes"/>
</clock>
  1. 引导选项选项中,启用主机引导时启动虚拟机

  2. 在 SATA Disk 1 选项中,选择VirtIO作为磁盘总线;

  3. NIC选项中,将设备型号设置为VirtIO

  4. 单击屏幕左下角的添加硬件按钮,然后选择存储-CDROM作为设备类型,然后在管理处选择准备好的virtio-win.iso文件;

  5. 再添加一个TPM设备,否则无法安装win11。
    image

配置好后点击左上按钮开始安装。

无脑下一步+和我的“我没有产品密钥”说去吧。

映像选择专业版。

在安装win11的位置这里选择Load Driver然后挂载驱动E:\viostor\win11\amd64

image

截图 2025-10-07 19-29-52

选中后点击安装,接下来就能够找到磁盘了,继续安装即可。

image

进入引导页面后,我们开始配置win11

image

按住shift+f10打开命令提示符,输入oobe\bypassnro

image

选择我没有网络连接
image

之后设置账户和密码并拒绝所有隐私服务即可。

image

进入系统后我们安装虚拟驱动,打开文件管理器找到E:/virtio-win-guest-tools安装驱动

截图 2025-10-07 19-44-55

虚拟机的其他配置#

用浏览器打开https://github.com/Fmstrat/winapps/blob/main/install/RDPApps.reg,下载该文件。

image

打开文件,右键-更多选项-合并

image

修改完注册表后我们还要修改设备名称,前往设置-系统-系统信息-重命名这台电脑为设备重命名为RDPWindows,下一步,之后选择稍后重新启动

image

之后打开远程桌面,开启远程桌面,这里的名字还没有更改也没关系,等重启就好了。然后记得打开防火墙。

image

现在我们可以安装需要的windows软件了,这里我安装了PhotoShop,安装包使用的是学校提供的正版安装包。

image

接下来打开cmd输入命令ipconfig查看虚拟机ip并记录。

image

在做好所有准备工作后重启电脑,但不要登录。关闭查看器和虚拟机管理器。

准备WinApps For Linux#

首先安装freerdp:

sudo pacman -S freerdp

然后RDP测试连接是否正常:

xfreerdp3 /u:"用户名" /p:"密码" /v:192.168.122.101 /cert:tofu #ip替换为你虚拟机的实际ip

如果出现了窗口,说明连接正常,接下来关掉窗口开始安装WinApps

image

创建WinApps配置目录和配置文件:

mkdir ~/.config/winapps
vim ~/.config/winapps/winapps.conf

将下面内容写入配置文件:

RDP_USER="用户名"
RDP_PASS="密码"
RDP_IP=""
VM_NAME="RDPWindows"
WAFLAVOR="libvirt"
RDP_SCALE="100"
RDP_FLAGS="/cert:tofu /sound /microphone +home-drive"
DEBUG="true"

修改文件权限:

chmod 600 ~/.config/winapps/winapps.conf

运行WinApps安装脚本:

bash <(curl https://raw.githubusercontent.com/winapps-org/winapps/main/setup.sh)

前面三项依次选择:Install Current User Manual

跳过官方软件:
image

手动选择其他软件:
截图 2025-10-07 22-25-38

按下空格勾选我们需要的软件:
image

这里可能自动设置环境变量失败,如果失败了需要手动添加:

echo 'export PATH=~/.local/bin:$PATH' >> ~/.zshrc && source ~/.zshrc

现在我们就可以在菜单里看到PhotoShop了:

image

WinApps——Linux日用的最后一块拼图
https://blog.sheyiyuan.cn/posts/winapps-linux日用的最后一块拼图/
作者
Sheyiyuan
发布于
2025-10-07 16:00
许可协议
CC BY-NC-SA 4.0
如果这篇文章对你有帮助,可以请我喝杯咖啡~