windows下的WSL开发环境配置以及相关工具、插件

2023-05-16

最近在自己的X1上捣鼓Django框架的编程,windows环境使用起来确实让人痛苦,因此决定还是在Linux系统下进行Django框架的编程,跟朋友交流了一下,最终敲定了以下方案并把中间使用的一些插件记录下来。
思路:WSL环境 + vscodeIDE + windows terminal
部分插件:zsh(很好用的shell工具)、Remote-WSL(vscode的远程插件,默认识别本机的WSL)

1. WSL安装

推荐使用WSL2。

WSL2和WSL1的比较

截取比较关键的文字:在这里插入图片描述
WSL 1 和 WSL 2 之间的主要区别在于,在托管 VM 内使用实际的 Linux 内核、支持完整的系统调用兼容性以及跨 Linux 和 Windows 操作系统的性能,也因此WSL2可以跑容器。
原文连接:https://docs.microsoft.com/zh-cn/windows/wsl/compare-versions

1.0. 安装linux内核,设置WSL默认版本为2

首先在官网下载安装WSL2需要使用的linux内核:https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package

1.1. 使用管理员身份打开powershell,设置WSL默认版本为WSL2

使用管理员身份打开powershell,在powershell窗口键入:
start-process PowerShell -verb runas
然后输入:
wsl --set-default-version 2

1.2. 打开windows商店,安装wsl

在这里插入图片描述

这里提供一些链接,单击以下链接会打开每个分发版的 Microsoft Store 页面:
Ubuntu 18.04 LTS:https://www.microsoft.com/store/apps/9N9TNGVNDL3Q
Ubuntu 20.04 LTS:https://www.microsoft.com/store/apps/9n6svws3rx71
openSUSE Leap 15.1:https://www.microsoft.com/store/apps/9NJFZK00FGKV
SUSE Linux Enterprise Server 12 SP5:https://www.microsoft.com/store/apps/9MZ3D1TRP8T1
SUSE Linux Enterprise Server 15 SP1:https://www.microsoft.com/store/apps/9PN498VPMF3Z
Kali Linux:https://www.microsoft.com/store/apps/9PKR34TNCV07
Debian GNU/Linux:https://www.microsoft.com/store/apps/9MSVKQC78PK6
Fedora Remix for WSL:https://www.microsoft.com/store/apps/9n6gdm4k2hnc
Pengwin:https://www.microsoft.com/store/apps/9NV1GV1PXZ6P
Pengwin Enterprise:https://www.microsoft.com/store/apps/9N8LP0X93VCP
Alpine WSL:https://www.microsoft.com/store/apps/9p804crf0395
Raft(免费试用版):https://www.microsoft.com/store/apps/9msmjqd017x7

首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。
然后设置用户和密码。
安装完成后,可在powershell窗口使用查看WSL版本命令 wsl -l -v 查看安装的版本,为2代表安装正确。
在这里插入图片描述

PS:过程中如果出现报错可通过错误码搜索解决办法。

1.3. 设置WSL默认启动路径为用户目录~

//wsl$/Ubuntu-20.04/home/vanre
两种修改方式:

  1. 在windows terminal的设置中修改
    在这里插入图片描述
  2. 在settings.json中修改
    搜索关键字:startingDirectory,
    在这里插入图片描述
    其中20.04修改为你安装的ubuntu的版本号,例如18.04。
    之后每次打开就默认是在~目录下。
    在这里插入图片描述

PS:WSL还可以通过安装nautilus使用GUI操作,但是windows家庭版不能安装nautilus,所以有兴趣的同学们可以自己尝试下。

安装步骤参考链接:https://docs.microsoft.com/zh-cn/windows/wsl/install

网络连接报错问题:

使用apt-get install命令时遇到报错:Err:1 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-appdirs all 1.4.3-2.1 Temporary failure resolving ‘archive.ubuntu.com’
在这里插入图片描述

"nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
sudo apt-get update

2. oh-my-zsh的安装

oh-my-zsh是一款极其好用的shell命令工具,集成了多种主题、命令记忆提示(划重点)、定制快捷输入、自动提示git分支信息等。
安装oh-my-zsh之前,需先安装zsh:

// Linux
sudo yum install zsh    (Fedora和RedHat以及SUSE中)或
sudo apt-get install zsh    (Debian系列,Ubuntu )
sudo apt install zsh    (Debian系列,Ubuntu )

// macOS 系统自带了zsh, 一般不是最新版,如果需要最新版可通过Homebrew来安装(确认安装了Homebrew)
brew install zsh zsh-completions

// 或者也可以使用MacPorts(包管理工具)
sudo port install zsh zsh-completions

在安装zsh的时候,github一直连接不上去,检查发现跟dns的host信息污染有关,所以在WSL上加上了github的一些主机信息
打开 /etc/hosts/,在末尾添加:

#*********************github 2021-11-20 update********************
#******* get latest hosts: http://blog.yoqi.me/lyq/16489.html
151.101.65.194 github.global.ssl.fastly.net
2606:50c0:8001::153 assets-cdn.github.com
185.199.109.153 documentcloud.github.com
192.30.255.112 gist.github.com
185.199.110.133 gist.githubusercontent.com
185.199.111.154 github.githubassets.com
185.199.109.154 help.github.com
192.30.255.121 nodeload.github.com
185.199.110.133 raw.github.com
140.82.113.17 status.github.com
2606:50c0:8002::153 training.github.com
185.199.108.133 avatars.githubusercontent.com
185.199.109.133 avatars0.githubusercontent.com
185.199.108.133 avatars1.githubusercontent.com
185.199.110.133 avatars2.githubusercontent.com
185.199.108.133 avatars3.githubusercontent.com
185.199.110.133 avatars4.githubusercontent.com
185.199.108.133 avatars5.githubusercontent.com
185.199.110.133 avatars6.githubusercontent.com
185.199.111.133 avatars7.githubusercontent.com
185.199.108.133 avatars8.githubusercontent.com
185.199.111.133 favicons.githubusercontent.com
192.30.255.120 codeload.github.com
52.216.226.160 github-cloud.s3.amazonaws.com
52.217.72.92 github-com.s3.amazonaws.com
52.216.130.3 github-production-release-asset-2e65be.s3.amazonaws.com
52.216.242.172 github-production-user-asset-6210df.s3.amazonaws.com
54.231.133.41 github-production-repository-file-5c1aeb.s3.amazonaws.com
185.199.110.153 githubstatus.com
64.71.144.202 github.community
185.199.109.133 media.githubusercontent.com
185.199.111.133 camo.githubusercontent.com
185.199.111.133 raw.githubusercontent.com
185.199.111.133 cloud.githubusercontent.com
185.199.110.133 user-images.githubusercontent.com
2606:50c0:8001::153 customer-stories-feed.github.com
2606:50c0:8002::153 pages.github.com
192.30.255.116 api.github.com
140.82.113.26 live.github.com
140.82.114.29 githubapp.com
52.151.41.89 github.dev
192.30.255.112 github.com

然后执行命令
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
zsh示意图(fox主题)
还有一个自定义同义词的alias命令。

3. 在VScode下安装远程连接工具

VSCODE下载地址:https://code.visualstudio.com/
vscode我感觉它就像是一个全能的六边形战士,可能每科都考不到100分,但每科都能考90分。适配所有语言,丰富的插件库。
在插件商店搜索安装:remote development
在这里插入图片描述
安装完之后在左边会出现这个logo,通过点击的方式可以直连本地的WSL环境。因为是本地直连且做了很多优化,在实际使用中你甚至感觉不到你是在远程开发,常见的远程开发经常出现的连接中断、重输密码等问题基本不会在这里出现。
在这里插入图片描述

4. git log的显示优化

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
效果:输入git lg
在这里插入图片描述
设置进入git文件夹显示分支名称

black=KaTeX parse error: Undefined control sequence: \[ at position 2: '\̲[̲\e[1;30m\]' red…‘[\e[1;31m]’
green=KaTeX parse error: Undefined control sequence: \[ at position 2: '\̲[̲\e[1;32m\]' yel…‘[\e[1;33m]’
blue=KaTeX parse error: Undefined control sequence: \[ at position 2: '\̲[̲\e[1;34m\]' mag…‘[\e[1;35m]’
cyan=KaTeX parse error: Undefined control sequence: \[ at position 2: '\̲[̲\e[1;36m\]' whi…‘[\e[1;37m]’
normal=$‘[\e[m]’
USER=“root” #自定义
function precmd {
cd KaTeX parse error: Double superscript at position 72: …' | sed -e '/^[^̲*]/d' -e 's/* \…white[KaTeX parse error: Can't use function '\u' in math mode at position 8: magenta\̲u̲white@ g r e e n green greenUSER w h i t e : white: white:cyan\w y e l l o w yellow yellowGITBRANCH$white]$ $normal"
}
alias cd=precmd

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

windows下的WSL开发环境配置以及相关工具、插件 的相关文章

  • 图中连通块的个数:并查集

    图的连通性问题 在地图上有若干城镇 xff08 点 xff09 xff0c 已知所有有道路直接相连的城镇对 要解决整幅图的连通性问题 比如 xff0c 随意给你两个点 xff0c 让你判断它们是否连通 xff1b 或者问你整幅图一共有几个连
  • 依赖注入

    举个例子 xff0c 组件A中有类ClassA xff0c 组件B中有接口IB和其对应的实现类B1和B2 那么 xff0c 现在ClassA需要利用IB接口来做一些事情 xff0c 例如 xff1a public class ClassA
  • acc--›Android无障碍开发框架

    文章目录 前言框架介绍目标界面找到元素进行操作 系列文章联系作者 前言 针对Android无障碍开发 和使用场景 封装出来一个可以适用于各种场景的快速开发框架 框架介绍 无障碍的本质就是通过代码模拟人工操作 所以流程很明确 可以归纳为 目标
  • debian(Linux) gnome-control-center

    参考链接 xff1a http iokevins blogspot com 2015 09 gnome 3 system settings gnome control html 问题 今天在simba配置完成后 xff0c gnome co
  • KindEditor上传单个图片成功,页面却提示失败 —— 在Chrome新版本中不兼容的解决方案

    不得不说 xff0c 这个所谓的不兼容 xff0c 就是Chrome浏览器搞的鬼啊 我也不知道是我机子上的Chrome浏览器配置有问题还是怎么回事 xff0c 总之记录下来 xff0c 大家可以看看你们是不是也遇到了一样的问题 先上图 1
  • Zookeeper 应用

    数据发布 订阅 数据发布 订阅 xff08 Publish Subscribe xff09 系统 xff0c 即所谓的配置中 xff0c 顾名思义就是发布者将数据发布到ZooKeeper的 个或 系列节点上 xff0c 供订阅者进 数据订阅
  • ONVIF协议--ONVIF协议简介

    1 ONVIF简介 网络摄像机是网络设备 xff0c 需要有通讯协议 xff0c 早期的网络摄像机硬件提供商都采用私有协议 随着视频监控的网络化应用 xff0c 产业链的分工将越来越细 有些厂商专门做摄像头 xff0c 有些厂商专门做视频服
  • GB28181协议--GB28181协议简介

    1 GB T 28181 2016协议简介 近年来 xff0c 国内视频监控应用发展迅猛 xff0c 系统接入规模不断扩大 xff0c 涌现了大量平台提供商 xff0c 平台提供商的接入协议各不相同 xff0c 终端制造商需要给每款终端维护
  • 网络基础--UPnP基本原理

    1 简介 UPnP是通用即插即用 xff08 Universal Plug and Play xff09 的缩写 xff0c 主要用于设备的智能互联互通 xff0c 使用UPnP协议不需要设备驱动程序 xff0c 它可以运行在目前几乎所有的
  • 数学基础--高斯分布详解

    1 简介 正态分布 xff08 Normal Distribution xff09 xff0c 又名高斯分布 xff08 Gaussian Distribution xff09 xff0c 是一个在数学 物理及工程等领域都非常重要的概率分布
  • GB28181协议--流媒体的几种传输方式(UDP、TCP被动、TCP主动模式)

    1 简介 根据 GB T 28181 2016 4 3 1 5 2的要求 xff0c SIP和流媒体都应该支持TCP和UDP两种方式 如下图所示 xff1a 在附录F xff08 SDP 定义 xff09 中介绍了TCP支持主动模式和被动模
  • GB28181协议--校时

    1 简介 根据 GB T 28181 2016 7 10 9 10的要求 xff0c GB28181设备网络校时功能描述如下 xff1a 联网系统内的IP 网络服务器设备宜支持 NTP 见IETF RFC2030 协议的网络统一校时服务 网
  • GB28181协议--报警

    1 简介 根据 GBT 28181 2016 公共安全视频监控联网系统信息传输 交换 控制技术要求 9 4节的 报警事件通知和分发基本要求 描述 xff1a 发生报警事件时 源设备应将报警信息发送给 SIP 服务器 SIP 服务器接收到报警
  • AS--›Android Studio安装教程

    文章目录 前言下载官方智能下载地址官方手动下载地址 安装运行常见问题Android SDK安装JVM启动失败卡在启动页重装软件 推荐阅读联系作者 前言 android studio是Google官方推荐的Android开发工具 以前用的是E
  • GB28181协议--SIP协议介绍

    1 SIP协议简介 SIP xff08 Session Initiation Protocol xff0c 会话初始协议 xff09 是一个用于建立 更改和终止多媒体会话的应用层控制协议 xff0c 其中的会话可以是IP电话 多媒体会话或多
  • 代码管理--svnadmin工具介绍

    1 简介 SVNAdmin2 是一款通过图形界面管理服务端SVN的web程序 正常情况下配置SVN仓库的人员权限需要登录到服务器手动修改 authz 和 passwd 两个文件 xff0c 当仓库结构和人员权限上了规模后 xff0c 手动管
  • 深度学习--FAISS向量数据库

    简介 我们日常使用的各种 APP 中的许多功能 xff0c 都离不开相似度检索技术 比如一个接一个的新闻和视频推荐 各种常见的对话机器人 保护我们日常账号安全的风控系统 能够用哼唱来找到歌曲的听歌识曲 xff0c 甚至就连外卖配送的最佳路线
  • 腾讯云4核8G服务器性能怎么样?

    腾讯云4核8G云服务器的价位硬件配置性能指标怎么样 如何买便宜呢 4核8G云服务器是中大型商业网站及服务采用的实例规格 xff0c 能够 承载每日几十万浏览量的网站服务 当一个企业网站发展到这一程度的情况下 xff0c 针对云服务器成本费用
  • networkx画图

    使用networkx画图 xff0c 关键是掌握draw networkx edges draw networkx nodes和draw networkx labels三个方法的使用 xff0c 设置好位置列表 xff0c 节点列表 xff
  • virt-manager cannot open display

    解决方法 xff1a 1 vi etc ssh sshd config 2 找到 34 X11Forwarding no 34 修改为 34 X11Forwarding yes 34 3 service sshd restart 4 重启终

随机推荐