前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Win10 集成的 linux 子系统 WSL 的安装与使用

Win10 集成的 linux 子系统 WSL 的安装与使用

作者头像
用户3147702
发布2022-06-27 12:36:21
1.8K0
发布2022-06-27 12:36:21
举报
文章被收录于专栏:小脑斧科技博客

1. 概述

windows10 推出了 linux 子系统,也许李纳斯对微软的让步,也许是看到越来越多后端开发程序员转向了 MAC 阵营。 拥有强大的 linux 命令与 linux 系统的大量应用与便捷的处理能力、编程能力对于 windows 来说简直是如虎添翼。 拥有最强大命令行工具的 linux 与最广泛的视窗用户基础的 windows,这两者的结合简直是万众期待。 那么,既然 windows10 提供了如此强大的功能,我们如何才能使用呢? 默认情况下,win10 自带 linux 系统默认是关闭的,本篇日志我们就来详细讲解如何开启 win10 自带的 linux 子系统,如何解决遇到的一个个问题,以及最终如何把他打造成一个易用、好用的系统工具吧。

2. 安装和启动

旧版本的 win10 需要在“控制面板->程序->启用或关闭Windows功能”勾选“适用于Linux的Windows子系统(Beta)”。 由于现在这个功能已经不再是 beta 功能了,只要保证你的 windows 安装了最新的所有补丁与更新,这个选项就已经不复存在了,取而代之的,只要在 windows 自带的应用商店(Microsoft Store)上搜索 linux,下载并安装即可。

可以看到,目前 windows 中提供了 Debian、Ubuntu、Kali、SUSE、openSUSE 等发行版,发行版的数量还在不断的增加,可以说是任你选择了,博主选择了现在非常流行的 ubuntu 系统安装。 安装完成后,在开始菜单就会出现图标,点击进入即可,当然,你也可以选择点击 win + R 在运行窗口中键入 bash 打开。

安装好的是一个非常初步的 linux 操作系统,相信诸如用户创建、默认目录创建权限等等这里就不需要介绍了。

2.1. 0x80070057 错误

0x80070057 错误是因为你的 windows 还不是最新版,在线安装所有更新,重启电脑后再次尝试即可。

2.2. 0x8007019e 错误

安装过程中可能出现下面的文本提示:

代码语言:javascript
复制
Installing, this may take a few minutes...
Installation Failed!
Error: 0x8007019e
Press any key to continue...

这个问题是因为 windows 还没有启用 windows 子系统功能。 “控制面板\所有控制面板项\程序和功能”中选择“启用或者关闭Windows功能”。

或者在 Windows PowerShell(管理员)中输入:

代码语言:javascript
复制
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

执行完成后重启电脑即可。

3. 相关文件目录位置

3.1. bash 安装路径

win10 的 linux 子系统在下面的路径中: C:\Users\${用户名}\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs。

3.2. windows 硬盘挂在路径

在 linux 子系统中,是完全可以访问任何 windows 磁盘的,所有的 windows 磁盘都默认挂载在 /mnt 路径下。

4. 使用 XShell 连接 win10 linux 子系统

也许你觉得 bash 的颜色难以调整,也许你觉得 bash 没有 XShell 或其他 shell 工具功能强大。 总之,无论你出于什么理由,如果你也和博主一样,想要用 XShell 或其他 shell 工具连接到 linux 子系统上,那么就接着看吧。 用 XShell 连接 linux 子系统的原理非常简单,子系统将 ssh 服务开启到某个端口(默认是 22 端口)上,然后 XShell 连接 localhost 对应的端口即可。

linux 子系统中默认安装的 ssh 是缺少秘钥的,解决办法有两个,一个是手动配置 aes 等几种秘钥,这个对于大部分用户来说太过于繁琐和复杂,另一个解决办法是卸载掉 ssh 重新安装。 执行下面命令即可:

代码语言:javascript
复制
sudo apt-get remove --purge openssh-server
sudo apt-get install openssh-server

重新安装后,那些密钥文件就会自动生成了,但是此时还是不能连接,博主遇到这个问题也是百思不解,按照网上的教程反复尝试都无法解决。 最终,删除 ssh_config 后重启,居然就这样连接成功了。

代码语言:javascript
复制
sudo rm /etc/ssh/ssh_config
sudo service ssh --full-restart

4.1. xshell 配色

下面是一个博主自己设置的 xshell 配色供各位参考: <codde mode="txt"> [Pastel on Black] text(bold)=ffffff。 magenta(bold)=8080c0。 text=ffffff。 white(bold)=ffffff。 green=00ff00。 red(bold)=ff0000。 green(bold)=00ff00。 black(bold)=000000。 red=ff0000。 blue=68b4ff。 black=000000。 blue(bold)=11b1ff。 yellow(bold)=ffff00。 cyan(bold)=00ffff。 yellow=ffff00。 magenta=8080c0。 background=000000。 white=c0c0c0。 cyan=00bbbb。 [Names] count=1。 name0=Pastel on Black。 </code>

5. 中文乱码

中文乱码的原因无非是系统没有安装中文语言包以及默认字符编码问题。 针对两个问题分别解决即可。

5.1. 安装中文语言包

如果是 ubuntu 操作系统,那么首先要更新源,可以在网上查找到各个性能卓越的服务器上的源,这里就不罗列了。 更新源以后,执行下面的命令安装中文语言包即可:

代码语言:javascript
复制
sudo apt install -y language-pack-zh-hans language-pack-zh-hans-base

5.2. 设置默认字符编码

在用户目录下的 .profile 文件中添加:

代码语言:javascript
复制
LANG=zh_CN.UTF-8

如果想要影响所有用户,那么在 /etc/profile 文件中添加上述配置即可。

6. 安装 linux 第一时间应该做的事

上面所有问题都已经解决了,你已经可以上手做任何你说想要在 linux 下做的事情了。 但是,也许你仍然觉得这样一个刚刚安装的系统非常不顺手,又不知道该从何变得更加顺手,那么,下面的几个建议你可以按照自己的喜好去执行。

6.1. 修改文件模式屏蔽字

linux 子系统默认的 umask 是 000,这意味着你创建的所有文件、目录都是 000 权限的,通过执行 umask 命令即可修改:

代码语言:javascript
复制
umask 002

当然了,最好是将这行命令放到 /etc/profile 或 bashrc 中。

6.2. 创建你的用户

刚刚安装的 linux 子系统的默认用户是 root,超级用户的权限过大,这当然是不行的,创建一个自己的用户是非常有必要的。

  • 创建用户

执行 adduser ${username} 即可。

  • 授权

执行 sudoers 会提示“未找到这个命令”,此时,执行 whereis sudoers 返回 /etc/sudoers,查看这个文件的权限会发现原来无法执行 sudoers 命令是因为没有编辑权限。 此时执行下面命令为该文件添加编辑权限:

代码语言:javascript
复制
chmod -v u+w /etc/sudoers

打开这个配置文件,在其中添加权限描述即可:

代码语言:javascript
复制
${username} ALL=(ALL) ALL
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小脑斧科技博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 概述
  • 2. 安装和启动
    • 2.1. 0x80070057 错误
      • 2.2. 0x8007019e 错误
      • 3. 相关文件目录位置
        • 3.1. bash 安装路径
          • 3.2. windows 硬盘挂在路径
          • 4. 使用 XShell 连接 win10 linux 子系统
            • 4.1. xshell 配色
            • 5. 中文乱码
              • 5.1. 安装中文语言包
                • 5.2. 设置默认字符编码
                • 6. 安装 linux 第一时间应该做的事
                  • 6.1. 修改文件模式屏蔽字
                    • 6.2. 创建你的用户
                    相关产品与服务
                    命令行工具
                    腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档