一,前言
正好在网上搜索文章的时候看到了wsl,我想起来它也是一个虚拟机环境,所以我要用用,没想要一用,感觉比vmware还要方便。
二,环境搭建
A,在wsl中安装ubuntu
1. 首先打开powershell
输入命令wsl --list –online,来查看支持安装的ubuntu版本。
注意:若提示连接超时,则是自动ip地址下面没有设置DNS。为当前连接wifi的网络设置DNS
2. 安装指定版本的ubuntu
Wsl –install -d Ubuntu-18.04
或者安装默认版本
Wsl –install
注意:若过程中出错,可能是控制面板,启用或关闭服务中开启“Windows虚拟机监控程序平台”。
3. 下载完成后,可能没有自动安装,点击如下即可自动安装。
4. 检查ubuntu是否安装成功
可以输入wsl –list查看是否存在ubuntu-18.04,若存在则安装成功。
B,启动ubuntu
1. 启动
若仅安装了一个虚拟机,在Powershell中输入wsl即可启动ubuntu。
2. 关闭Ubuntu子系统
wsl -t Ubuntu
3. 关闭WSL
wsl –shutdown
4. 启动WSL
Wsl
C,window和虚拟机交互文件
\\wsl.localhost\Ubuntu-18.04里面是ubuntu的文件,直接在windows中可以操作,若提示无权限,只要进入ubuntu设置chmod -R 777 xxx文件或文件夹即可。
D,vscode访问ubuntu
1. 在vscode中安装插件wsl。
2. 在vscode的左下角点击一下,然后选择New WSL Window即可连接到虚拟机的ubuntu,当然也可以选择Reopen Folder in WSL(也就是打开虚拟机中的文件)
3. 接下来就是和正常的vscode调试一样。唯一要注意的是权限问题,比如pthread来创建线程必须有root权限才能执行。
所以要进入root权限,然后安装2个c++插件,其实是安装到虚拟机中的。若不装c++插件则cppdbg会报错。
4. 另外若觉得每次都是用户权限登陆影响调试,可以设置wsl以root权限为默认登陆即可。具体设置方法见《WINDOWS下的wsl如何设置Linux子系统默认用户为root.doxc》
5. 关于编译我是自己输入命令make,没使用vscode的task。默认输出文件路径是output/main。所以vscode我仅用调试F5的功能,所以只要一份配置文件。
{
"version":"0.2.0",
"configurations":[
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/output/main",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"linux": {
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
}
]
标签:Apple,vscode,虚拟机,wsl,ubuntu,权限,安装 From: https://blog.51cto.com/u_16247275/7529769}