miaodi
发布于 2022-11-02 / 239 阅读
0

windows系统下linux环境

1. 前言

习惯了mac下的命令行,再用回windows下的命令行各种操作不爽。 所以有了这篇软件安装的记录。

主要为了解决以下几个在windows上使用命令行的痛点

  • 窗口不能按照标签页聚合,窗口开多之后会非常混乱
  • ssh多路复用配置会报错

使用到两款软件: wsl作为命令终端代替powershell hyper使用标签的形式聚合多个终端窗口


2022.11.22更新
今天更新了win11 22h2系统 Windows Feature Experience Pack 1000.22636.1000.0 windows自带的终端已经集成了选项卡功能,并且可以支持第三方终端 image.png

2. 安装wsl

2.1 启用windows功能

image.png 启用hyper-v Windows虚拟机监控程序平台 虚拟机平台,启用后重启系统。

2.2 microstore安装 Windows Subsystem for Linux Preview

重要 image.png

2.3 安装linux发行版本

然后选择自己喜欢的linux发行版本进行安装

image.png

或者在powershell/cmd窗口里进行安装: 列出可安装的linux发行版本:

C:\Users\miaod>wsl --list --online
以下是可安装的有效分发的列表。
使用‘wsl.exe --install <Distro>'安装。

NAME               FRIENDLY NAME
Ubuntu             Ubuntu
Debian             Debian GNU/Linux
kali-linux         Kali Linux Rolling
SLES-12            SUSE Linux Enterprise Server v12
SLES-15            SUSE Linux Enterprise Server v15
Ubuntu-18.04       Ubuntu 18.04 LTS
Ubuntu-20.04       Ubuntu 20.04 LTS
OracleLinux_8_5    Oracle Linux 8.5
OracleLinux_7_9    Oracle Linux 7.9

安装指定的发行版本

C:\Users\miaod>wsl -d <Distribution Name>

3. 安装Hyper

下载地址: https://hyper.is/#installation

安装好之后打开设置: image.png 或者打开配置文件: C:\Users\用户名\AppData\Roaming\Hyper\.hyper.js image.png

修改配置:

        shell: 'C:\\Windows\\System32\\wsl.exe',
        shellArgs: ['~'],

配置完成后重启Hyper软件即可使用

4. 配置ssh多路复用

ssh多路复用,就是当你已经ssh连接到了一个机器,此时你想再开一个独立的窗口去连接同一台机器,就不用再次输入密码了,可以直接复用之前的连接。咋一听用处不大,但是如果和堡垒机结合起来就是神器。

堡垒机当作跳板,把自己所有的虚拟主机和云服务器都配置在堡垒机上,当需要用ssh连接目的机器的时候,直接ssh堡垒机就可以了,通过堡垒机再去ssh目的机器。

而windows原生命令行或者git-bash配置多路复用后无无法正常工作。 会报错: mux_client_request_session: read from master failed: Connection reset by peer Failed to connect to new control master

使用wsl可以解决该问题。

在wsl系统内,配置ssh多路复用

miaodi@Desktop-miaodi:~/.ssh$ pwd
/home/miaodi/.ssh
miaodi@Desktop-miaodi:~/.ssh$ vim config

文件内容:

Host *
        ControlMaster auto
        ControlPersist yes
        ControlPath ~/.ssh/socket-%r@%h:%p