如何在 MacOS 系统中实现 WSA 功能

最近微软还是相当的给力,2022年悄咪咪的发布了 Windows11 系统,不仅更新的 WSL,还同时支持 WSA。不得不说这个还是相当的牛逼,目前移动生态如此的繁荣,各种类型的 App 功能体验都远超桌面应用。在 Windows 下运行各种 Android App还是挺有意思的,至少可以减少手机依耐症。

UntitledImage

 

 

去年的时候,就简单的尝试了一下在 Windows 11 系统中安装 WSA 以及 Adnroid应用,还是挺有意思,一众阅读软件(各种读书软件、技术论坛等)可以直接在桌面上使用,还是挺酷的,特别是微信读书,成功的让我放弃了花了2000多大洋买的电子书(现次狗头)。

 

WSA in Windows 11

 

但是做为一名资深的 MacOS 用户,尽管在工作中必须要使用 Windows系统,还是放不下Mac系统,有什么办法让在 MacOS系统中也能用上类似于 WSA的能力呢? 在经常一番折腾后,成功的解决了这个问题。其实问题的本质也不复杂,就是在 MacOS 中简单快速的把Android 模拟器跑起来,同时还能稳定的兼容各种 App。

在试用了国内的一众各类游戏模拟器后,发现都不怎么靠谱,除了网易的MuMu模拟器外,其它的模拟器在 MacOS 中多多少少都有点问题,不能稳定的跑起来,但MuMu模拟器体验也太差了,还是放弃了,不过最后还是找到一款体验相对不错的模拟器:Genymotion。做为一款最早的 Android 深度定制系统,Genymotion 对 Android 系统的兼容性做了不少工作,大部分的 App 都在稳定的运行在模拟器中,但是系统的版本和显示分辨率确实是个问题,这个时候就不得不夸赞一下 WSA,能直接将 App 和系统进行深度整合,微软还是做了不少的工作。经常不断的调试,还是找到一款相关稳定的配置:

Genymotion on Macos

特别推荐上图中 Google Pixel XL 的配置,完美的适配屏幕分辨率,但是 Genymotion 也有一点问题,就是尽量的按 1:1显示,不然会出现鼠标点击错位的情况,最后展示一张运行效果:

 

Google Pixel XL in MacOS

 

在结束之前,给大家分享一个小的Tips,直接启动虚拟机的方法(不用每次打开Genymotion UI),可以通过 MacOS 中的“快捷方式”(Shortcuts),新建一个启动虚拟机的快捷方式,这样直接可以在 Dock 里启动Android 虚拟机。

Shortcuts

 

最后,虽然不能像 WSA一样直接打开各 App 但是总的来说,效果和体验也差不多,要啥自行车呢。

Mac OS 中的 WSL 系统:OrbStack

自从微软放下开源的执念,变得开放,将 Linux 内核引入到 Windows 系统,对于开发人员来说,Windows 系统已经变成一个最佳的开发系统,不仅能可以从事 Windows 系统相关的开发,还能支持 Linux 相关的开发,甚至包含调试 Linux内核(基于 WSL2),对于一个MacOSer 来说,WSL 真的是非常让人羡慕,因为在 MacOS下,想进行 Linux 相关的开发,就必须要通过虚拟机。

目前出现一款新产品,OrbStack(https://orbstack.dev/)它是一款轻量、快速、简单易用的虚拟机,目测应该是借用了 Virtualization.framework 实现,然后自带了 Linux 系统的内核和 rootfs,自己封装了一些常用的  Linux 系统,可以一键下载,同时还能兼容 Docker,就是完全实现 Docker 的功能,比 Docker Desktop 启动要快很多(毕竟 Docker On MacOS 是通过虚拟机实现的)。

 

OrbStack目前使用中体验非常的好(远超 WSL),启动快不说,安装虚拟机也非常的容易,可直接通过终端进入系统,网络也可以和 Host 系统直接互访。目前还处在开发过程,有些许小 Bug,目测未来有可能会针对高级功能收费,有需要的可尽快体验。

唯一期望的是能尽快支持 Android 系统。

在MacOS上开发调试 Linux 内核

        自从 Windows 11 发布后,CLion + Windows11 + WSL2 一跃成为最佳的 Linux 内核开发平台 😅😅😅。说实话,Windows 11 体验真不错,做开也非常的顺畅,于是一直琢磨,想在 MacOS 环境上搭建一套 Linux 内核的开发环境。首先想到的是虚拟机,你有 WSL,我也来一个 MSL 吧,发现新版的 VMware Fusion 对命令行做了一下升级,之前一直想用命令行启动虚拟机,一直卡在不能立即获取到 IP,新版也可以立即拿到 IP 了,于是写了一版脚本:

Screen Shot 2022 01 20 at 02 00 51

在 Shell 下直接运行 msl.sh 启动虚拟机,运行 msl.sh by 退出虚拟机,这样在 CLion 上绑定一下远程调试就可以顺利了编译 Linux 内核了。

但是这样就结束了吗? 毕竟要启动一个虚拟机,内存 CPU 都有一定的损耗,于是想到了 Docker,虽然 Mac 下的 Docker 还是用的虚拟机,但是值得一试。

今天先就这样,下次把Docker 里编译 Linux 内核的方法也放出来。

世界,您好!

欢迎使用WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧!

发布日期:
分类:未分类