WSL- Window子系统使用详细教程

1、启用子系统

         控制面板 -> 程序 -> 启用或关闭Windows功能 -> 勾选适用于Linux的Windows子系统

2、Windows下Linux子系统安装在非系统盘

(1)下载linux安装包:

         官方提供的离线安装包有

         Ubuntu 18.04,

         Ubuntu 18.04 ARM,

         Ubuntu 16.04,

         Debian GNU / Linux,

         Kali Linux,

         OpenSUSE,

         SLES

         下载链接:https://docs.microsoft.com/en-us/windows/wsl/install-manual

 

 

(2)安装LxRunOffline

         LxRunOffline的下载链接:https://github.com/DDoSolitary/LxRunOffline/releases

         解压后将解压的文件夹路径加入到环境变量中,打开cmd输入LxRunOffline,若提示

         [ERROR] No action is specified.

         和帮助文档,这代表LxRunOffline安装成功

 

3. 安装WSL

(1)将下载的linux包的后缀由.Appx改为.zip,并解压

         解压出的路径为E:\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2018.817.0_x64__79rhkp1fndgsc

 

(2)以管理员打开cmd,输入

         LxRunOffline i -n <安装名称> -d <安装路径> -f <安装文件>

         其中安装名称可以自定义,安装路径为自定义安装路径,安装文件为上一步解压后的文件中的install.tar.gz的路径,回车后等待安装完成

例如:

         LxRunOffline i -n WSL -d D:\WSL -f                                     E:\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2018.817.0_x64__79rhkp1fndgsc\install.tar.gz

 

4. 可通过LxRunOffline list命令查看安装名称

         若系统中安装不止一个WSL,则可以通过 LxRunOffline sd -n <安装名称> 设置默认启动系统

 

5. 在cmd中输入wsl启动系统

 

6. 修改root账户的密码

         sudo passwd root

         切换到root用户:sudo su

 

7. 创建新用户

         由于sudo useradd 用户名只能创建用户,却无法在/home/中创建用户目录,也无法设置用户权限

(1)创建用户和用户目录

         可以通过以下命令来创建新用户:

         sudo useradd -r -m -s /bin/bash changmen

 

         参数意义如下:

         -r:建立系统账号

         -m:自动建立用户的登入目录

         -s:指定用户登入后所使用的shell

         ls /home/,可以看到用户目录changmen已经被成功创建了

         通过以下命令可以设置新用户的密码:sudo passwd changmen

 

(2)更改用户权限

         通过修改/etc/sudoers文件的方法以达到分配用户权限的目的

         由于/etc/sudoers文件只有r权限,在改动前需要增加w权限,改动完成后,再去掉w权限

         sudo chmod +w /etc/sudoers

         sudo vim /etc/sudoers 添加以下修改,保存:

                  # User privilege specification

                  root    ALL=(ALL:ALL) ALL

                  changmen    ALL=(ALL:ALL) ALL

         到这里,权限分配成功

         sudo chmod -w /etc/sudoers

 

         备注:

         删除用户的操作分为 3 步:

                  1.执行userdel:sudo userdel changmen

                  2.删除用户目录:sudo rm -rf /home/changmen

                  3.删除用户权限相关配置:删除或者注释掉/etc/sudoers中关于要删除用户的配置,否则无法再次创建同名用户

 

8. 配置ssh

(1) 查看ssh是否已经安装

         dpkg -l | grep ssh

         一般是有默认安装的,如果没有,可参考Linux 安装、启动和卸载SSH

 

(2)查看ssh服务是否已经开启

          service ssh status

          新安装的话,应该显示的状态是未开启的.现在需要去设置ssh的配置文件

           cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak    

           vim /etc/ssh/sshd_config

         #修改端口为23,22有可能已被占用,并去掉之前的#注释符
            Port 23
         #开放监听IP,将之前的#注释符去掉即可
           ListenAddress 0.0.0.0
         #开启root用户登录:找下是否有PermitRootLogin no,有的话,将no改为yes.,没有的话,就新增一行
         PermitRootLogin yes
         #开启账号密码登录PasswordAuthentication no,改为yes
         PasswordAuthentication yes

 

         开启ssh服务

         service ssh start

         #如果提示sshd error: could not load host key,则用下面的命令重新生成

         dpkg-reconfigure openssh-server

         #执行上述命令后,会有提示选择,直接按确认即可

 

9. Xshell6连接WSL登录

         wsl中通过 ipconfig 查看ip地址,然后配置主机和用户名和密码登录

         WSL- Window子系统使用详细教程_第1张图片

 

10. 设置开机启动ssh服务

         由于WSL是window子系统,并不会随着开机而自动开启,随之ssh也不会自动开启,每次都需要去手动开启wsl和ssh,xshell才能连上,是不是很麻烦,所以可以通过配置ubuntu脚本和window脚本达到开机自动启动WSL和ssh的目的

 

(1)配置ubuntu脚本

         root@DESKTOP-3LNJHU6:~# vim /etc/init.wsl

         #! /bin/sh

         /etc/init.d/ssh $1

 

         #添加执行权限

         chmod +x /etc/init.wsl      

 

         #编辑sudoers,避免输入密码

         root@DESKTOP-3LNJHU6:~# vim /etc/sudoers
         #添加以下这行到该文件
         %sudo ALL=NOPASSWD: /etc/init.wsl

 

(2)配置windos脚本

         Win+R运行 shell:startup 打开启动文件夹

 

         在启动文件夹新增ubuntu1804.vbs,内容如下:

         Set ws = CreateObject("Wscript.Shell")

         ws.run "wsl -d WSL -u root /etc/init.wsl start", vbhide

 

         重启电脑,实测xshell可以连接上,证明可以达到自动启动WSL和ssh服务的目的,nice

你可能感兴趣的:(WSL)