注意,此文章所包含的内容可能已经过时。
0.缘由
事情的起因是这样的,有一天我拿到一个需要在Linux下运行的软件,原本计划为手中的MacBook Pro装一个Ubuntu双系统,谁料安装完成后无法引导。在我祭出折腾黑苹果那会儿用过的Clover引导进Ubuntu之后才发现,键盘触摸板没有驱动,并且网卡驱动异常……
1.解决方案
在MacBook Pro下,官方支持的双系统解决方案只有通过BootCamp安装Windows,由于macOS本身具备Unix环境(或者别的什么原因),官方并未给出Linux系统的驱动支持,这就导致想要在最新的Mac上安装Linux成为了一件极其复杂的事——但是我们有Windows呀。
微软在Windows 10中提供了完整的Linux Subsystem环境,只需要稍稍做一些准备工作就可以让嵌入式反开发人员的Windows拥有原生的bash。甚至在开源社区都已经有了一套Windows中运行图形化Linux应用程序的方法。具体操作如下:
2.操作步骤
前提条件:本篇文章的安装是基于OS版本16257.00的,从这一版本起,MS更改了Linux子系统的安装方式,开始之前请确保你的系统不低于此版本,风儿是吹向明天的,更新系统,迎接新的解决方式吧。
- 开启Linux Subsystem支持
- 安装Ubuntu on Windows
- 安装Xming X Server
- Windows中管理子系统的文件
- *安装wsl-terminal
(1) 开启Linux Subsystem支持
这一步有两种方法:
- 设置-更新和安全-针对开发人员中,打开开发人员模式;搜索“启用或关闭Windows功能”并打开;勾选“Windows Subsystem for Linux(Beta)”选项。
- 以管理员身份运行PowerShell,输入以下命令并重启系统:
1 | Enable-WindowsOptionalFeature-Online-FeatureNameMicrosoft-Windows-Subsystem-Linux |
(2) 安装Ubuntu on Windows
打开应用商店,搜索Ubuntu并选择安装。如果这一步提示无法获取,那么就是你的Windows版本太低了,请升级至最新的正式版甚至Insider Preview预发行版本。
安装好后点击运行,首次启动会自动配置文件系统,请耐心等待。完成后会提示创建UNIX用户并设置密码,自行完成即可。此时Ubuntu子系统已经安装完成。依次执行:
1 | sudo apt-get update |
以获取最新的软件。
(3) 安装Xming X Server
上面安装好的Ubuntu并不具有图形渲染引擎,所以我们无法运行GUI程序,但是万能的社区早有解决方案——X Server。
我们先安装Windows端的Xming X Server软件,安装好后点击Xming启动服务。此时以gedit为例,在bash输入:
1 | DISPLAY=:0 gedit |
即可启动gedit窗口,可以看到和Windows 10契合度非常之高。
(4) Windows中管理子系统的文件
除了在终端中使用命令行管理Ubuntu中的文件,我们还可以在Windows中直接管理。从资源管理器进入如下路径:
1 | C:/User/(UserName)/AppData/Local/Packages/C*****Ubuntu*****/LocalState/rootfs/ |
其中AppData为隐藏路径,需要手动键入,之后我们发现,我们已经进入了Ubuntu的根目录,接下来就可以用Windows应用程序对Ubuntu中的文件进行管理和编辑(小心Linux下文件权限问题)。
(5) *安装wsl-terminal
默认的cmd窗口无法更改字体,这简直是不能忍受的,解决方式也很简单,我们使用终端模拟器wsl-terminal。
首先下载wsl-terminal,解压到自己喜欢的地方,这时双击open-wsl.exe即可启动终端,是不是已经可用了?
在解压缩的目录中还有一个tools文件夹,其中有在右键菜单增加在此处打开WSL选项的JS脚本,双击运行即可。
这里还有一个小问题,启动终端后,默认路径变成了open-wsl所处的路径,不再是Linux用户文件夹,这样很不方便,具体的解决方案也很简单:右键单击open-wsl.exe,创建快捷方式。在所创建的快捷方式上点右键-属性,在目标后添加-C ~
,点击确定即可用这个快捷方式直接进入用户文件夹。