离不开Windows的理由很多,作为后端开发需要使用linux的情况也很多,双系统总归是不方便,而且linux下的GUI体验也没用Win 10好。 如果使用虚拟机,那么文件交换和网络等各种问题也需要解决,对系统的内存要求也更高一些.微软为了让更多的开发人员留在Win10上面,开发了WSL功能.目前的实际体验已经很棒,今天介绍一下如何打造一个可视化的linux开发环境--即在Win10启动linux的GUI软件,例如vscode等.在WSL启动vscode写代码可以有效避免一些Windows和linux的编码和换行问题。
配置WSL可视化
以下内容中 WSL和 ubuntu含义相同, console和 命令行含义相同.。
配置WSL可视化
系统要求是Win 10 1803+版本(低于1803的WSL功能有问题),必须是专业版或教育版才有WSL功能.以下内容的命令行如果开头有>字符请忽略。
1. 开启WSL功能: 控制面板程序程序和功能开发或关闭Windows功能 > 勾选 '适用于linux的Windows子系统'和 'hyper-V'(docker for Windows需要这个功能,也可以使用virtualbox代替), 重启电脑。
2. Windows store搜索"WSL"或者"ubuntu"下载ubuntu版本。 ubuntu和ubuntu1804是一个版本,ubuntu1604是旧的版本.安装完成你的Windows应用列表会有一个ubuntu应用,点击图标即可打开ubuntu命令行。第一次启动需要等待初始化,然后设置用户名和密码.由于字体难看,所以不用这个自带的命令行而使用下面的cmder。
3. 下载cmder软件,cmder是Windows下最强的命令行功能,不要下载mini那个,里面没用vim和git.第一次启动cmder记得修改cmder启动目录到d盘根目录。
4. 启动cmder,输入wsl 即可启动WSL.第一步修改软件源,使用阿里云的源。
's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
> sudo apt update
> sudo apt upgrade -y
5. 安装必要软件:java,maven,git,vim
# 安装你需要的软件,git和vim是必须的,后面的编辑命令是使用vim。
>sudo apt install openjdk-8-jdk-headless openjdk-8-jre-headless maven git unzip vim -y
6. 修改WSL下Windows磁盘挂载点,默认的Windows磁盘在WSL的访问方式是/mnt/d/开头,d表示d盘。但是docker on linux的访问路径是 /d,所以这里需要修改挂载点路径。
##添加3行内容。
exit退出WSL重新进入,发现/mnt已经没了,当前目录应该是/c/xxx或者/d/xxx。
7. 设置SSH功能,这样可以借助MobaXterm的X11转发功能打开GUI软件。
#取消Port的注释,并将端口改为2222 (端口需要大于1000)。
8. 安装vscode和中文字体,因为WSL没用中文字体将显示豆腐块。
# install chinese fonts for WSL,font name: 'Noto Sans Mono CJK SC'
sudo apt install -y fonts-noto-cjk fonts-noto-cjk-extra
9. 不要关闭cmder的WSL,下载MobaXterm软件,MobaXterm是Windows下最强免费ssh软件,这里主要使用它的X11转发功能。启动软件,点击 左上角的Session > 点击 左上角的SSH,填写。ip,username,port:2222.连接成功的话会提示你输入密码.最重要的是需要注意右上角的'X server'是否在跑,默认是跑的,你可以单击'X server'图标,弹出是否关闭xserver的提示,说明在跑选择否关闭提示。
虽然MobaXterm也是一个很好用的console,但是为了命令行的历史不要丢失(原因不明),我们所有的命令还是在cmder输入,MobaXterm仅用于X11转发。
10. 设置WSL的DISPLAY环境变量,这样linux可以将其GUI显示发送到windows。通过在 ~/.bashrc中添加
export DISPLAY=:0
//The syntax is HOST:NUMBER, HOST默认是localhost,所以可以省略,0表示WSL的第一个显示器(monitor)
source ~/.bashrc然后在cmder输入code .,等待2秒,你会发现Windows任务栏启动了一个vscode。如果没用启动成功,说明你的MobaXterm的X11转发功能有问题。
配置vscode. 上面打开的vscode有2个问题:中文显示豆腐块,和不能全屏. 打开vscode的设置.
#在字体里面先设置你想要英文字体,逗号跟上'Noto Sans Mono CJK SC'
至此,已经可以在linux下面开发了.当然,其他GUI软件没用测试不确定是不是会有小问题.但是vscode已经可以应付很多开发工作了。
WSL 启动的vscode
目前的WSL是不支持运行docker的,但是可以在WSL使用Windows的docker,在使用上面是无感的。
安装docker for Windows,这个就不细说了,注意docker社区版也是需要注册才能下载的。
启动docker for Windows,右键任务栏的docker图标,"settings",勾上 "expose the daemon on tcp:/localhost:2375 without TLS",这样在WSL可以访问这个docker服务.
WSL安装docker,详细内容可以参考官方文档,下面仅列出必要bash命令.
#安装必要组件
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
至此,WSL的docker服务也配置完成。
原文链接:ttps://blog.csdn.net/weixin_39999586/article/details/110554038