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地址,然后配置主机和用户名和密码登录
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