[Share Experiences] 在kde或者gnome实现类 "linux subsystem for windows"体验,俗称lsw
Experiences and Insight335 views ·7 replies
Tofloor
tensor
deepin
2021-11-26 04:12
Author

先看效果:

demo.gif

想法来源:

  1. Windows的wsl2 (Windows Subsystem for Linux)和 wsa(Windows Subsystem for Android)比较香,那有什么方法实现类似的效果呢,其实两个 子系统 都是基于windows 平台的虚拟化技术,似乎没有什么高深的东西,在linux 下 kvm 的虚拟化技术 做的也比较好。
  2. mac os 下 pd 虚拟机无疑是最好用的虚拟机,他的融合模式比较香

实现方法:基本原理 就是 kvm 加 RDP协议的一种远程桌面

实现步骤: (步骤来源介绍WinApps for Linux及安装WinApps的方法_Linux软件_云网牛站 (ywnz.com)

步骤1:添加存储库

您将需要将WinApps存储库永久存储,并且在安装后不要将其删除:

sudo apt-get install -y freerdp2-x11

git clone https://github.com/Fmstrat/winapps.git

cd winapps

步骤2:创建您的WinApps配置文件

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

RDP_USER="MyWindowsUser"

RDP_PASS="MyWindowsPassword"

#RDP_DOMAIN="MYDOMAIN"

#RDP_IP="192.168.123.111"

#RDP_SCALE=100

#MULTIMON="true"

#DEBUG="true"

选项:

使用预先存在的非KVM RDP服务器时,可以使用RDP_IP指定其位置。

如果您在启用了NAT的KVM中运行VM,请保留RDP_IP的注释,WinApps将自动检测正确的本地IP。

对于域用户,您可以取消注释并更改RDP_DOMAIN。

在高分辨率(UHD)显示器上,您可以将RDP_SCALE设置为您想要的比例[100|140|160|180]。

对于多显示器设置,您可以尝试启用MULTIMON,但是如果出现黑屏(FreeRDP错误),则需要还原。

如果启用DEBUG,则将在~/.local/share/winapps/winapps.log开头的每个应用程序上创建一个日志。

步骤3:设定Windows VM

选项1、运行KVM

参考在Ubuntu 18.04上安装Kvm的方法,包括介绍网络设置和创建虚拟机。

首先需要做的是设置运行Windows 10 Professional(或支持RDP的任何版本)的虚拟机,首先,克隆WinApps并安装KVM和FreeRDP:

sudo apt-get install -y virt-manager

现在,将KVM设置为以用户身份而不是root用户身份运行,并允许其通过AppArmor(对于Ubuntu 20.04及更高版本):

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

sudo ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/

sleep 5

sudo virsh net-autostart default

sudo virsh net-start default

您可能需要重新启动以确保将当前的shell添加到该组中。

接下来,使用以下示例从示例XML文件定义一个称为RDPWindows的VM:

virsh define kvm/RDPWindows.xml

virsh autostart RDPWindows

现在,您将要更改VM上的任何设置,并安装Windows以及所需的任何程序,例如Microsoft Office,如果定义失败,则始终可以手动创建VM,您可以通过以下方式访问虚拟机:

virt-manager

选项2、已经有RDP服务器或VM

如果您已经拥有RDP服务器或VM,则使用WinApps非常简单,只需跳至步骤4操作。

步骤4:配置Windows VM

在安装过程之后或在当前的RDP服务器上,您将需要:

1]、转到开始菜单

输入“About”。

打开“About”。

如果使用的是KVM,则将PC名称更改为“RDPWindows”(这将使WinApps可以检测到本地IP)。

2]、前往设置

在系统下,然后在远程桌面中,允许RDP的远程连接。

3]、将kvm/RDPApps.reg合并到注册表中以启用RDP应用程序。

步骤5:使用快捷方式和文件关联将GNOME/KDE连接到Windows VM

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

bin/winapps check

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

然后最后一步是运行安装程序:

$ ./install.sh

[sudo] password for fmstrat:

Installing...

 Checking for installed apps in RDP machine...

 Configuring Excel... Finished.

 Configuring PowerPoint... Finished.

 Configuring Word... Finished.

 Configuring Windows... Finished.

Installation complete.

开源项目地址:GitHub - Fmstrat/winapps: Run Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration.

以下是目前官方维护的app,当然你可以自定义windows 虚拟机中的所有软件融合到linux 当中

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) Adobe Photoshop``(CS6, CC)
Adobe Premiere Pro``(CC) Command Prompt``(cmd.exe)
Explorer``(File Manager) Internet Explorer``(11)
Microsoft Access``(2016, 2019, o365) Microsoft Excel``(2016, 2019, o365)
Microsoft Word``(2016, 2019, o365) Microsoft OneNote``(2016, 2019, o365)
Microsoft Outlook``(2016, 2019, o365) Microsoft PowerPoint``(2016, 2019, o365)
Microsoft Project``(2016, 2019, o365) Microsoft Publisher``(2016, 2019, o365)
Powershell``(Standard, Core) Visual Studio``(2019 - Ent
Windows``(Full RDP session)
ReplyFavoriteView the author
All Replies
pzm9012
deepin
2021-11-26 15:56
#1

这个想法很不错like

ReplyView the author
tensor
deepin
2021-11-27 02:47
#2
pzm9012

这个想法很不错like

好像没人看

ReplyView the author
jianghuchuan
deepin
2021-11-27 07:16
#3

试了一天,不能,可能deepin有点小问题

ReplyView the author
tensor
deepin
2021-11-27 09:59
#4
jianghuchuan

试了一天,不能,可能deepin有点小问题

是的,目前只支持kde 和 gnome

ReplyView the author
guozhiqiang
deepin
2021-11-27 14:58
#5

有点高深,看不懂!

ReplyView the author
pzm9012
deepin
2021-11-28 06:35
#6
tensor

好像没人看

deepin论坛默认以最新发帖显示帖子,容易让帖子沉下去。。。

ReplyView the author
jianghuchuan
deepin
2021-11-28 13:08
#7

很牛逼在虚拟机里面体验了,电脑发烧了。。。等大更新看看行不行,现在qemu的版本太低了

ReplyView the author
Use Markdown Editor
Loading