游戏开发实战手把手教你在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
,需要make
、gcc
和autoconf
等工具,通过下面的命令分别安装make
、gcc
和autoconf
:
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实现红点系统(前缀树 | 数据结构 | 设计模式 | 算法 | 含工程源码)