一台Linux电脑,突然需要用到Office怎么办?这个开源神器让我放弃了安装虚拟机的念头。
作为一名Linux用户,经常遇到一个尴尬的情况:大部分时间用得很爽,但偶尔就是需要那么几个Windows专用的应用程序。
比如说,老板发来个精心排版的Word文档,用LibreOffice打开格式全乱了;或者客户非要你用Adobe Photoshop修改个设计稿。这时候怎么办?装双系统?太麻烦。开虚拟机?太耗资源。用Wine?配置起来头疼得很。
幸运的是,我发现了WinApps这个神奇的开源工具,它完美解决了这个问题——让你在Linux上无缝运行Windows应用程序,就像运行原生Linux应用一样。
WinApps是什么?
WinApps是一个开源项目,它通过在后台运行Windows RDP服务器(可以在虚拟机中,也可以是物理机),然后使用FreeRDP将Windows应用程序”无缝”集成到Linux桌面环境中。简单说,就是让Windows应用看起来像Linux原生应用一样,可以直接从应用菜单启动,出现在任务栏上,与Linux应用无缝切换。
WinApps的工作原理
WinApps的工作流程大致如下:
- 在后台VM容器中运行Windows RDP服务器
- 检查RDP服务器中已安装的应用程序(如Microsoft Office)
- 如果安装了这些程序,它会使用FreeRDP为CLI和GNOME托盘创建快捷方式
- 可通过VM内的
\\tsclient\home
挂载访问主目录中的文件 - 你也可以右键单击主目录中的任何文件以使用应用程序打开
如何在Debian/Ubuntu上安装WinApps
下面我以Ubuntu为例,介绍WinApps的安装过程。Debian系统的操作类似。
先决条件
在开始之前,你需要确保系统已安装以下软件包:
sudo apt-get install -y virt-manager freerdp2-x11 git
此外还需要一个Windows虚拟机(推荐使用KVM)或现有的RDP服务器。本文假设你使用KVM虚拟机。
安装步骤
- 克隆WinApps仓库
git clone https://github.com/Fmstrat/winapps.git cd winapps
- 配置KVM虚拟机首先需要设置KVM以用户身份而不是root身份运行:
sudo sed -i "s/#user = \"root\"/user = \"$(id -un)\"/g" /etc/libvirt/qemu.conf sudo sed -i "s/#group = \"root\"/group = \"$(id -gn)\"/g" /etc/libvirt/qemu.conf sudo usermod -a -G kvm $(id -un) sudo usermod -a -G libvirt $(id -un) sudo systemctl restart libvirtd
- 创建Windows虚拟机使用virt-manager创建一个Windows 10 Professional虚拟机(或其他支持RDP的Windows版本),并安装你需要的应用程序,如Microsoft Office。
virt-manager &
- 配置Windows虚拟机在Windows虚拟机中,你需要进行以下设置:
- 前往”系统属性”(通过开始菜单输入”About”打开),将计算机名改为”RDPWindows”(如果你使用KVM的话)
- 在设置中启用”远程桌面”功能
- 合并WinApps提供的kvm/RDPApps.reg注册表文件
- 创建WinApps配置文件创建
~/.config/winapps/winapps.conf
文件,内容如下:RDP_USER="你的Windows用户名" RDP_PASS="你的Windows密码" #RDP_DOMAIN="MYDOMAIN" # 如果有域的话取消注释 #RDP_IP="192.168.123.111" # 如果使用现有RDP服务器取消注释 #RDP_SCALE=100 # 显示缩放比例 #MULTIMON="true" # 是否使用多显示器 #DEBUG="true" # 是否开启调试模式
- 测试连接
bin/winapps check
如果一切正常,你会看到一个Windows资源管理器窗口弹出。可以关闭它并按Ctrl+C终止FreeRDP。
- 安装应用程序快捷方式
./install.sh
安装脚本会自动检测Windows系统中安装的应用程序,并在Linux中创建对应的快捷方式。
WinApps支持哪些应用程序?
WinApps支持几乎所有Windows应用程序。项目官方特别支持了一些主流应用程序,包括:
应用类别 | 软件名称 | 支持版本 |
---|---|---|
Microsoft Office | Word | 2016, 2019, Office 365 |
Excel | 2016, 2019, Office 365 | |
PowerPoint | 2016, 2019, Office 365 | |
Outlook | 2016, 2019, Office 365 | |
OneNote | 2016, 2019, Office 365 | |
Adobe 创意云 | Photoshop | CS6, CC, 2022 |
Illustrator | CC | |
After Effects | CC | |
Premiere Pro | CC | |
Acrobat Pro | DC | |
其他软件 | Visual Studio | 2022 |
Microsoft Edge | 最新版 | |
Windows 计算器 | 所有版本 |
除了上述官方特别支持的应用程序外,WinApps还会扫描Windows系统中的.exe文件并自动创建快捷方式。这意味着几乎任何Windows应用程序都可以通过WinApps运行,包括一些冷门或小众的Windows专用工具。
使用Docker安装WinApps(可选)
如果你熟悉Docker,也可以使用Docker方式安装WinApps,这样可以减少对主机系统的依赖,也更便于管理。
- 确保已安装Docker
- 下载WinApps仓库
git clone https://github.com/Fmstrat/winapps.git cd winapps sudo chmod 777 -r ./winapps
- 配置docker-compose.yaml根据官方提供的示例配置文件进行修改,主要是设置Windows版本、资源分配和存储映射。
- 启动容器
docker-compose up -d
使用技巧和注意事项
- 文件互通:你的Linux主目录可以通过
\\tsclient\home
在Windows中访问,这意味着你可以轻松在Windows和Linux应用间共享文件。 - 右键菜单集成:在文件管理器中,你可以右键点击文件并选择用Windows应用程序打开。
- 资源分配:给Windows虚拟机分配足够的内存和CPU核心,否则运行大型应用(如Photoshop)可能会卡顿。
- 网络配置:确保Linux主机和Windows虚拟机之间的网络通畅,否则连接会失败。
- 显示缩放:对于高分辨率显示器,你可以在配置文件中设置
RDP_SCALE
参数来调整缩放比例。
总结
WinApps确实是一个改变游戏规则的工具,它终于让Linux用户能够无缝使用那些必须用Windows的应用程序,而不用折腾双系统或沉重的虚拟机。虽然设置过程有点技术性,但一旦配置完成,使用体验几乎完美。
当然,它也不是银弹——你仍然需要运行一个Windows虚拟机(或有一台RDP服务器),这意味着需要分配足够的系统资源。但对于那些偶尔需要使用特定Windows应用程序的Linux用户来说,WinApps无疑是最佳解决方案。
如果你也是受困于跨平台应用兼容性的Linux用户,不妨试试WinApps,它可能会彻底改变你的工作流程。
万事屋点评:Linux桌面环境最大的痛点一直是应用生态,WinApps以一种巧妙的方式缓解了这一问题,值得每一个Linux桌面用户尝试。
转载请保留出处:万事屋 https://www.rei3.com
没有回复内容