游戏开发实战手把手教你在Windows上通过WSL运行Skynet,不用安装虚拟机,方便快捷(WSL | Linux | Ubuntu | Skynet | VSCode)

Posted 林新发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了游戏开发实战手把手教你在Windows上通过WSL运行Skynet,不用安装虚拟机,方便快捷(WSL | Linux | Ubuntu | Skynet | VSCode)相关的知识,希望对你有一定的参考价值。

一、前言

嗨,大家好,我是新发。
上一篇文章我写了在虚拟机中跑Skynet框架的操作流程,今天我要介绍另一种更加方便快捷的方法,如下,在Windows中开启WSL,然后运行WSL版的Ubuntu,再在Ubuntu中跑Skynet

关于WSL:
Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,其目标是使纯正的Ubuntu、Debian等映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。

话不多说,我们开始吧~

二、启用WSL

在系统底部菜单栏点击搜索按钮,输入功能,可以看到启用或关闭windows功能,点击它,

此时会打开Windows 功能窗口,拉到最下面,找到适用于 Linux 的 Windows 子系统,勾选它,点击确定。

启用成功后,需要重新启动一下操作系统。

三、安装Ubuntu(WSL版,只有270M)

打开Microsoft Store,搜索ubuntu,我下载的是Ubuntu 18.04 LTS版本,如下:

点击安装按钮,

它会开始下载,可以看到,只需要270.9MB,它是没有GUI界面的,非常的轻量,下载完成后会自动安装,耐心等待即可。

四、启动Ubuntu

安装成功后,点击启动按钮,

此时会打开一个终端,提示Installing, this may take a few minutes...,我们耐心等待~

接着会提示让你输入用户名和密码,自己设置一个账号密码即可,

成功进入系统,如下:

注:如果启动Ubuntu提示错误:WslRegisterDistribution failed with error: 0x800701bc,这是因为WSL版本由原来的WSL1升级到WSL2后,内核没有升级,前往微软WSL官网下载安装适用于 x64计算机的最新WSL2 Linux内核更新包安装即可。
微软WSL官网地址:https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package

安装完毕后记得重启一下计算机。

我们下次要重新进入Ubuntu,可以在底部菜单栏搜索ubuntu,然后打开即可,

当然,你也可以在C盘中找到它,我的路径是:

C:\\Program Files\\WindowsApps\\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2020.824.0_x64__79rhkp1fndgsc


如果你经常需要使用它,建议把它固定到任务栏

创建桌面快捷方式也是不错的选择~

五、home目录对应Windows本地目录

我们在终端中执行pwd,显示当前路径,
再执行ll,显示当前路径的文件列表,如下,

这个/home/linxinfa目录对应到Windows本地是在哪个目录呢?我找到了,如下:

C:\\Users\\Administrator\\AppData\\Local\\Packages\\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\\LocalState\\rootfs\\home\\linxinfa


觉得找上面的路径太麻烦的话,我们也可以直接按win + r键,打开运行窗口,输入\\\\wsl$,回车,

可以看到有个Ubuntu文件夹,

我们进入home目录,也可以看到相应的文件,

六、Windows与Ubuntu的磁盘共享

假设我在我的E盘创建了一个wsl文件夹,里面创建了一个hello.txt文件,如下:

那么,它在Ubuntu中对应的路径在哪里呢?事实上,Windows磁盘挂载在Ubuntu/mnt目录中。
回到Ubuntu的终端,执行cd /mnt命令,再执行ll命令,可以看到Windows的盘符信息,

我们进入e/wsl目录,可以看到hello.txt文件,

同理,我们在Ubuntu中创建的文件,也可以在Windows中看到,比如我在Ubuntu中创建一个test文件夹,

Windows中可以直接看到它~

七、使用VSCode运行Ubuntu

VSCode官网:https://code.visualstudio.com/

VSCode的强大之处就是它有非常丰富的插件,我们进入插件界面,搜索wsl,可以看到一个Remote - WSL的插件,安装它,

可以看到左侧菜单栏多出一个图标,点击它,可以看到Ubuntu-18.04 default distro,鼠标右键它,然后点击Connect to WSL

此时会打开一个新的窗口,我们点击菜单Terminal / New Terminal

这个时候我们可以在VSCode的终端中看到进入了Ubuntu系统啦,

测试一下命令,

VSCode中的终端显示比默认的WSL的终端显示好看很多,同时,我们在VSCode中写代码也方便直接在终端中运行看结果,提高了效率,所以这里推荐大家使用VSCode

八、跑个Skynet

1、Skynet下载

首先进入/mnt/e/wsl目录,

通过git下载Skynet源码,命令:

git clone https://gitee.com/mirrors/skynet.git

运行如下:

我们执行ll命令,可以看到文件夹中多了一个skynet文件夹,

2、设置国内源

下面我们需要通过apt-get去安装一些工具,默认的软件更新源是国外的,在国内使用速度很慢,建议更换成国内的源。

2.1、备份原始源文件sources.list

执行下面的命令,备份原始源文件sources.list

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

执行完毕后,我们可以在etc/apt目录中多了一个备份文件sources.list.bak

2.2、 更改sources.list文件权限使其可编辑

执行下面的命令,更改sources.list文件权限使其可编辑,

sudo chmod 777 /etc/apt/sources.list
2.3、 更改sources.list文件内容

Windows中打开sources.list文件,

清空文件内容,粘贴下面的源地址到文件中,保存,

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multivers
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
2.4、 更新软件列表

执行下面的命令,更新软件列表

sudo apt update

3、安装编译所需的工具

要编译skynet,需要makegccautoconf等工具,通过下面的命令分别安装makegccautoconf

sudo apt-get install make
sudo apt-get install gcc
sudo apt-get install autoconf

安装完毕后,分别使用下面两个命令测试能否正常输出版本号,如果可以正常输出版本号,则说明安装成功了,

make --version
gcc --version
autoconf --version

4、编译Skynet

首先在终端中进入skynet目录,

执行下面的命令来编译skynet

make linux

编译需要一些时间,耐心等待,最终看到Leaving directory "xxxx/skynet",说明编译完毕了,

我们可以看到生成了一个可执行文件skynet

5、运行Skynet案例

执行下面的命令来运行skynet案例:

./skynet ./examples/config

如下,可以看到,Skynet成功跑起来了,

我们再开一个终端,执行下面的命令启动一个客户端,

./3rd/lua/lua example/client.lua

输入hello按回车,收到了服务端返回的world,如下

案例运行成功,我们打开examples/main.lua脚本,加多一句日志输出,如下

重新运行skynet,可以看到输出了我们刚刚的日志啦,

九、完毕

好了,就先写这么多吧,关于Skynet还有很多很多内容,本文只是一个入门,希望可以帮助到新手同学~
我是林新发:https://blog.csdn.net/linxinfa
原创不易,若转载请注明出处,感谢大家~
喜欢我的可以点赞、关注、收藏,如果有什么技术上的疑问,欢迎留言或私信~

以上是关于游戏开发实战手把手教你在Windows上通过WSL运行Skynet,不用安装虚拟机,方便快捷(WSL | Linux | Ubuntu | Skynet | VSCode)的主要内容,如果未能解决你的问题,请参考以下文章

游戏开发实战手把手教你在Unity中使用lua实现红点系统(前缀树 | 数据结构 | 设计模式 | 算法 | 含工程源码)

游戏开发实战手把手教你在Unity中使用lua实现红点系统(前缀树 | 数据结构 | 设计模式 | 算法 | 含工程源码)

手把手教你实战开发黑白棋实时对战游戏

手把手教你实战开发黑白棋实时对战游戏

手把手教你在Windows下搭建Vue开发环境

手把手教你在Windows下搭建Vue开发环境