重点关注 linux 桌面运行win程序 GitHub – winapps-org/winapps 重点关注

winapps 主项目 最初由 fmstrat https://github.com/Fmstrat/winapps/ 创建

在Linux(Ubuntu / Fedora)和GNOME / KDE中运行Windows应用程序,例如Microsoft Office / Adobe,就好像它们是本机操作系统的一部分一样,包括Nautilus集成,用于右键单击特定MIME类型的文件以打开它们。

运作方式

 

WinApps 是一种简单的命令方式,可以将运行在 VM(或任何 RDP 服务器上)的应用程序直接包含在 GNOME 中,就好像它们是本机应用程序一样。WinApps 的工作方式为:

  • 在后台 VM 容器中运行 Windows RDP 服务器
  • 检查 RDP 服务器中是否有已安装的应用程序,例如 Microsoft Office
  • 如果安装了这些程序,它会利用 FreeRDP 为 CLI 和 GNOME 托盘创建快捷方式
  • 主目录中的文件可通过 VM 中的装载进行访问\\tsclient\home
  • 您也可以右键单击主目录中的任何文件以使用应用程序打开

当前支持的应用程序

 

WinApps 支持系统上任何已安装应用程序。

 

它通过以下方式实现此目的:

  1. 扫描系统中官方配置的应用程序(如下)
  2. 扫描系统以查找 Windows 注册表中带有安装记录的任何其他 EXE 文件

任何官方配置的应用程序都将支持高分辨率图标和 mime 类型,以自动检测每个应用程序可以打开哪些文件。任何其他检测到的可执行文件都将利用从 EXE 中提取的图标。

注意:下面正式配置的应用程序列表由社区推动,因此某些应用程序可能未经 WinApps 团队测试。

Adobe Acrobat Pro
(X)
Adobe Acrobat Reader
(DC)
Adobe After Effects
(CC)
Adobe Audition
(CC) (英语)
Adobe Bridge
(CS6, CC)
Adobe Creative Cloud
(CC)
Adobe Illustrator
(CC)
Adobe InDesign
(CC)
Adobe Lightroom(CC) 光闪
命令提示符
(cmd.exe)
资源管理器
(文件管理器)
IE浏览器
(11)
Microsoft访问
(2016, 2019, o365)
Microsoft Excel
(2016, 2019, o365)
Microsoft Word
(2016, 2019, o365)
Microsoft OneNote
(2016、2019、o365)
Microsoft展望
(2016, 2019, o365)
Microsoft PowerPoint
(2016, 2019, o365)
Microsoft出版社
(2016, 2019, o365)
Powershell的
Windows
(完整 RDP 会话)

安装

 

步骤 1:设置 Windows 虚拟机

 

将 VM 作为 WinApps 的子系统运行的最佳解决方案是 KVM。KVM 是一个 CPU 和内存效率高的虚拟化引擎,与大多数主要的 Linux 发行版捆绑在一起。若要为 WinApps 设置 VM,请遵循以下指南:

如果已有要用于 WinApps 的虚拟机或服务器,则需要合并到 VM 的 Windows 注册表中。如果此 VM 位于 KVM 中,并且您想要使用自动 IP 检测,则需要命名该计算机(非 KVM VM 不支持自动 IP 检测)。这两个方向的说明都可以在上面链接的指南中找到。install/RDPApps.regRDPWindows

步骤 2:下载存储库和先决条件

 

要让事情顺利进行,请使用:

sudo apt install -y freerdp2-x11
git clone https://github.com/winapps-org/winapps.git
cd winapps

注意

理想情况下,请获取 freerdp 3.0.0 或更高版本,尤其是在遇到问题时。
您可以在此处找到夜间构建:https://github.com/FreeRDP/FreeRDP/wiki/Prebuilds

步骤 3:创建 WinApps 配置文件

 

您将需要创建一个包含以下信息的配置文件:~/.config/winapps/winapps.conf

RDP_USER="MyWindowsUser"
RDP_PASS="MyWindowsPassword"
#RDP_DOMAIN="MYDOMAIN"
#RDP_IP="192.168.123.111"
#RDP_SCALE=100
#RDP_FLAGS=""
#MULTIMON="true"
#DEBUG="true"

用户名和密码应为完整的用户帐户和密码,例如在设置 Windows 或域用户时创建的帐户和密码。它不能是用户/PIN 组合,因为这些组合对 RDP 访问无效。

选项:

  • 使用预先存在的非 KVM RDP 服务器时,必须使用 指定其位置RDP_IP
  • 如果在启用了 NAT 的 KVM 中运行 VM,请保留注释,WinApps 将自动检测正确的本地 IPRDP_IP
  • 对于域用户,您可以取消注释和更改RDP_DOMAIN
  • 在高分辨率 (UHD) 显示器上,您可以设定为所需的比例 [100|140|160|180]RDP_SCALE
  • 要向 FreeRDP 调用添加标志,例如传入麦克风,请使用配置选项/audio-mode:1RDP_FLAGS
  • 对于多显示器设置,您可以尝试启用,但是如果您遇到黑屏(FreeRDP 错误),则需要恢复MULTIMON
  • 如果启用,则将在每个应用程序启动时创建一个日志DEBUG~/.local/share/winapps/winapps.log

步骤 4:运行 WinApps 安装程序

 

最后,检查 FreeRDP 是否可以连接:

bin/winapps check

您将看到 FreeRDP 的输出,并且可能必须接受初始证书。之后,应该会弹出一个 Windows 资源管理器窗口。您可以关闭此窗口并按 取消 FreeRDP。Ctrl-C

如果此步骤失败,请尝试重启 VM,否则问题可能与以下原因有关:

  • 您需要在首次连接时接受安全证书(使用“检查”)
  • 未在 Windows VM 中启用 RDP
  • 无法连接到 VM 的 IP
  • 中的用户凭据不正确~/.config/winapps/winapps.conf
  • 未合并到 VM 中install/RDPApps.reg

然后,最后一步是运行安装程序,该安装程序将提示您进行系统或用户安装:

./installer.sh

这将引导您完成以下过程:

添加预定义的应用程序

 

将具有自定义图标和 MIME 类型的应用程序添加到安装程序很容易。只需复制文件夹中的应用程序配置之一,然后:apps

  • 编辑应用程序的变量
  • 将 替换为应用程序的 SVG(已获得适当许可)icon.svg
  • 重新运行安装程序
  • 提交拉取请求以将其正式添加到 WinApps

运行安装程序时,它将检查是否安装了任何已配置的应用程序,如果安装了,它将在主机操作系统上创建相应的快捷方式。

手动运行应用程序

 

WinApps 为运行未配置的应用程序提供了手动模式。这是用标志完成的。路径中的可执行文件不需要完整路径定义。manual

./bin/winapps manual "C:\my\directory\executableNotInPath.exe"
./bin/winapps manual executableInPath.exe

检查新的应用程序支持

 

安装程序可以多次运行,因此只需再次运行以下操作,它将删除任何当前安装并更新最新应用程序。

./installer.sh

可选的安装程序命令行参数

 

以下可选命令可用于管理应用程序配置,而无需提示:

./installer.sh --user                # Configure applications for the current user
./installer.sh --system              # Configure applications for the entire system
./installer.sh --user --uninstall    # Remove all configured applications for the current user
./installer.sh --system --uninstall  # Remove all configured applications for the entire system

大喊大叫