同步操作将从 openEuler/wsl 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
[toc]
你需要在Windows上,启用WSL。
这是微软的配置文档,你也可以按照以下步骤来做:
使用管理员身份打开PoweShell或者cmd,有以下两种方式:
按下Win+Q,搜索PoweShell,点击“以管理员身份运行”。
按下Win+R,输入PoweShell或cmd,然后按下Ctrl+Shift+Enter,这样能使用管理员权限启动。
然后复制粘贴下列命令,按回车运行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2
点击这个直达链接,单击get,等待安装。
或者打开Microsoft Sore,手动搜索openEuler,如下所示:
默认情况下,您的任务栏应当有下列图标:
如果没有,可以按下Win+Q,输入store,搜索Microsoft store
安装好后,在商城中点击Launch,或在开始菜单中点击openEuler,会进行首次安装。
首次运行需要进行安装,需要稍等一两分钟,如下图所示:
安装好后,界面如下:
安装好后,有以下几种启动方法:
如图所示,将左侧openEuler小图标拖到右侧变成较大的磁贴,点击磁贴或小图标都能运行。
Windows下有三种命令行,PoweShell,cmd,Windows terminal。
推荐使用Windows terminal,其使用更符合linux习惯,而且界面更美观。
前2个命令行打开方式如上所述,下面演示Windows terminal安装打开方式。
启动上述三种任意命令行后,即可在命令行中输入WSL命令,来启动openEuler。
输入下列命令查看帮助:
wsl -h
输入以下命令显示当前安装的WSL发行版:
wsl -l
可以看到我这里安装了openEuler、fedoraremix、Ubuntu,且openEuler是默认启动的发行版。
输入下列命令,可以启动默认的发行版。
wsl
如果你在安装openEuler前安装了其他WSL发行版,那么可以运行下列命令将openEuler设为默认启动的发行版。
wsl -s openEuler
此外,使用-d命令,可以指定启动任意发行版。
wsl -d openEuler
如果涉及代码编写,推荐使用VScode打开WSL。
VScode可以使用ssh的方式,连接到WSL。其需要在WSL中下载一个安装包,此安装包需要使用tar解包,因此连接的发行版需要安装tar。
使用命令行打开openEuler,确保安装了tar。
dnf install tar -y
在Windows下安装VScode,官网链接。
打开vscode,安装WSL插件。
在菜单中,选择openEuler,即可打开新的窗口启动openEuler
参见官方文档,WSL使用Hyper-V技术来提供虚拟化,而部分老版本的VMware、VirtualBox在Hyper-V技术开启后,无法正常运行。
这意味着你需要更新VMware、VirtualBox到新版本来解决这个问题。
如果你出现了下图所示,那么查看报错信息可以发现,你没有安装tar。
请使用命令行启动openEuler,然后运行下列命令来安装tar包。
dnf install tar -y
WSL有部分无法支持的原生Linux功能,比如不支持systemctl,正在支持GUI等。
详见FAQ's about Windows Subsystem for Linux | Microsoft Docs。
如果你只想运行openEuler,那么可以到此为止了,不用往下看了。
如果你对WSL以及移植过程感兴趣,你可以接着往下看。
WSL很多地方与docker很像,如:
因此我简单的理解为,WSL就是一个,使用起来和docker很像的,轻量化的虚拟机。
除此以外,Windows也开发了很多独有技术来实现WSL,参见官方博客。
参考官方文档,你可以导入任何Linux发行版到WSL内。
参考文档:
下载openEuler LTS SP1的docker镜像,链接,这里将其存放在D:\Download目录下。
打开控制台,进入刚刚下载镜像的文件夹,启动Ubuntu,此时Ubuntu的工作目录应在D:\Download目录下。
cd D:\Download
wsl -d Ubuntu
curl -sSL https://get.daocloud.io/docker | sh
docker load -i .\openEuler-docker.x86_64.tar.xz
docker images
应该会有以下输出:
REPOSITORY TAG IMAGE ID CREATED SIZE
openeuler-20.03-lts-sp1 latest 6934cec25f28 3 months ago 512MB
docker run openeuler-20.03-lts-sp1 echo hello, openEuler WSL
docker ps -ql表示获得最近运行的容器的编号,即刚才openEuler的容器编号。
docker export $(docker ps -ql) > ./openEuler.tar
exit
退出Ubuntu,在控制台使用WSL命令,导入openEuler包,并指明openEuler的安装目录。
举例,设置D:\work\WSL\openEuler为WSL的安装目录。
wsl --import openEuler D:\work\WSL\openEuler .\openEuler.tar
wsl -d openEuler
请注意,debootstrap适用于Debian系操作系统,如Debian、Ubuntu。
febootstrap适用于Fedora操作系统。
如果不使用debootstrap这类工具,可以使用脚本导出根文件系统,下面给出参考链接:
Fedora:fedora-wsl-builder.sh · master · Gerard Braad / fedora-wsl · GitLab
Kali Linux:build_chroot.sh · master · Kali Linux / Build-Scripts / kali-wsl-chroot · GitLab
克隆官方启动器仓库。
git clone https://github.com/Microsoft/WSL-DistroLauncher
安装Visual Studio,选择安装“通用Windows平台开发”、“使用C++的桌面开发”工具。
对于“通用Windows平台开发”,需要勾选Windows 10 SDK (10.0.16299.0),其余默认即可。
使用Visual Studio打开WSL-DistroLauncher工程下的DistroLauncher.sln。
双击打开MyDistro.appxmanifest,此时VS会自动探测xml格式,并出现很好看的修改界面如下。
如果您没有在解决方案选项卡中打开MyDistro.appxmanifest,VS将会展现给您全文本的界面。请点击下面的切换按钮,进入解决方案视图,然后双击点击DistroLauncher.sln。
点击Packaging选项卡,点击Choose Certificate...,点击Create...,这里输入Publish Name,如果只是为了测试,这里可以随意输入,如果发布,需要输入你在微软合作伙伴账户的CN码,后续发布流程中会讲到。
修改Application选项卡下的基本信息,修改Visual Asserts图片信息。
不同大小图片可以使用Asserts Generator,给定一个图片,可以生成不同大小的图片。
官网的logo太小,我找到了部门里的logo矢量图.ai文件,放大了些,并参考Ubuntu启动图标,裁剪了文字部分,只保留了logo,尽量让产生的logo在启动界面好看一些。
最后生成的所有图片可以在工程文件中找到。
[参考配置环境这一节](# 配置Windows环境)
[参考手动导入一节](# 手动导入openEuler)
其中,最后一步改为:即修改了导出包的名称。
docker export $(docker ps -ql) > ./install.tar
退出WSL下的Ubuntu,压缩刚才的包,得到install.tar.gz。
exit
gzip.exe -k .\install.tar
-k表示保留包,不删除。
将install.tar.gz复制到项目的根目录下的x86目录。
使用Visual Studio打开WSL-DistroLauncher工程下的DistroLauncher.sln。
在右侧的Solution Explorer,可以看到以下界面。
右键点击"Solution (DistroLauncher)",在弹出菜单中点击Deploy Solution。
等待编译完成后,则构建完成,这时应该会在开始菜单安装好测试用的openEuler版本。
此外还可以在.\x64\Debug\DistroLauncher-Appx\AppX文件夹下看到openEuler.exe文件。
登录微软合作伙伴账户,注册一个账户
注意,如果选择注册公司账户,需要提供公司注册的官方PDF文件,且微软验证文件的过程将十分漫长。
注册好账户,付款后,登录账户,点击右上角齿轮,点击Account settings,在Windows publisher ID右侧,找到CN开头的码。
这个CN码是用于唯一标识你的账号的,后续打包时要用到。
在Visual Studio中,将项目与创建的APP名称关联
后续跟着提示,登录账号,选择应用名称即可。
然后需要创建签名,如下图所示:
最后,创建可发布的软件包
选择发布到Microsoft Store上,然后创建即可。
编译创建完后,可选是否进行测试。
然后可以到项目目录下的找到上传文件,如:
WSL-DistroLauncher\AppPackages\DistroLauncher-Appx\DistroLauncher-Appx_1.0.0.0_x64_bundle.appxupload
微软合作伙伴中心,创建应用,按照提示填写内容。
这里需要注意,不得勾选下列选项,原因为:Notes for uploading to the Store · microsoft/WSL-DistroLauncher Wiki · GitHub
然后就能发布了,等待批准后,就能发布了。
如果你是从wsl: Port openEuler to WSL (Windows Subsystem for Linux) (gitee.com),git clone的仓库,那么文件夹名称请从wsl改为WSL-DistroLauncher,否则后续可能编译失败。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。