wsl(Windows Subsystem for Linux)启动多个子系统和设置默认启动子系统

WSL的全称是Windows Subsystem for Linux

Windows 10在开发者模式下可以使用linux子系统,这个子系统需要在Microsoft Store中下载安装

如果你已经在 Windows 10 中使用多个 Linux环境,则可以在不同版本之间进行切换使用,还可以为 WSL 设置一个默认的 Linux 发行版以方便日常使用。
我目前装了两个子系统,Ubuntu18.04和Kali,启动起来很方便,在命令行下输入bashwsl就进到了默认子系统ubuntu,但我想要进入Kali系统,去点击Kali的快捷方式是可以进入的,这不是我想要的,我想应该是可以通过命令的方式启动任何子系统,就像Mac系统一样。

1. 启动多个子系统
  • 查找子系统的启动命令,通过命令来启动多个子系统

通过Microsoft Store安装的应用的安装位置是
C:\Program Files\WindowsApps 在这个目录下找到我的两个linux系统的启动exe文件

ubuntu1804.exe
kali.exe

在命令行下启动Ubuntu 18.04 TLS的命令是ubuntu1804,启动Kali-linux的命令是kali

  • 通过点击菜单的快捷方式来启动多个子系统

采用这种方式的比较少,因为默认启动的shell工具并不好用

2. 设置默认启动的linux子系统

win10 提供了wslconfig.exe来管理WSL默认运行的 Linux 发行版。

  • 使用wslconfig /list 来显示安装的全部子系统,在列表中会标注哪个系统是默认的
> wslconfig /list
适用于 Linux 的 Windows 子系统:
Ubuntu-18.04 (默认)
kali-linux
对 Windows 上的 Linux 子系统进行操作管理

用途:
    /l, /list [/all]
        列出已注册的分发版。
        /all - 有选择地列出所有分发版,包括
               当前正在安装或卸载的分发版。

    /s, /setdefault 
        将该分发版设为默认。

    /t, /terminate 
        终止分发。

    /u, /unregister 
        取消分发版注册。

    /upgrade 
        将分发版升级至 WslFs 文件系统格式。
  • 设置默认子系统

要更改默认的 Linux 发行版,请运行以下命令,其中 Name 是 Linux 发行版的名称:

wslconfig /setdefault Name
如:wslconfig /setdefault kali-linux

在命令行下执行wslbash就会进入默认的子系统

3. 开始使用
  • xshell连接ubuntu
    Win10中安装Ubuntu子系统后默认是没有开启SSH服务的,需要手动配置开启
vi /etc/ssh/sshd_config
# 如果文件不存在说明尚未安装,则执行安装
apt-get install openssh-server
Port = 22 # 默认是22端口,如果和windows端口冲突或你想换成其他的否则不用动
#ListenAddress 0.0.0.0 # 如果需要指定监听的IP则去除最左侧的井号,并配置对应IP,默认即监听PC所有IP
PermitRootLogin no # 如果你需要用 root 直接登录系统则此处改为 yes
PasswordAuthentication no # 将 no 改为 yes 表示使用帐号密码方式登录

主要配置以上几项即可
然后启动 ssh 服务

service ssh start

如果提示 sshd error: could not load host key 则需要重新生成 key

dpkg-reconfigure openssh-server

查看服务状态

service ssh status
# * sshd is running  显示此内容则表示启动正常

设置root密码

passwd root # 设置下密码

不要忘了,还要配置防火墙开启端口才能被其他PC访问

ssh地址使用 localhost,127.0.0.1,192.168.x.x 等服务器的IP都可以连接

这样 SSH 服务就配置好了,不过注意WIN10重启后,需要重新bash进入子系统手动启动 ssh 服务才可以使用,以后再试试下配置自动启动吧

  • 共享win10系统文件-开始开发

进入系统查看 /mnt 目录 ,该目录为win10系统下的共享文件目录,例如开发:

ln -s /mnt/c/dev/ubuntu ~/ubuntu 

你可能感兴趣的:(开发工具,bash,on,windows,wsl,win10)