Windows11终端整理

1/23/2022 CodeTools终端美化

# 如何安装WSL

# Arch (社区支持)

如何安装Arch (opens new window)

# Ubuntu

在MicrosoftStore搜索ubuntu Ubuntu20.04LTS (opens new window)

# Debian GNU/Linux

Debian GNU/Linux (opens new window)

# Kali Linux

在MicrosoftStore搜索Kali Linux Kali Linux (opens new window)

# WSL 2 的安装

WSL 2 需要在 WSL 已经安装完毕的基础之上才能进行安装

如果你希望安装 WSL 2,你需要确保你已安装「适用于 Linux 的 Windows 子系统」和「虚拟机平台」这两个可选组件。同样:

  • 以管理员身份打开 PowerShell 终端
  • 运行下面的命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  • 根据提示重启电脑

# 设置 WSL 2 支持的发行版

用管理员身份打开 PowerShell 终端:

  • 执行下面命令找到你当前安装的 Linux 发行版及其名字:
wsl --list
  • 之后,执行下面的命令将你需要的发行版设置为由 WSL 2 支持,将其中的 Arch 修改为 Linux 发行版名称:
wsl --set-version Arch 2
  • 另外,通过下面的命令将之后新安装的发行版均设置为默认由 WSL 2 支持:
wsl --set-default-version 2
  • 执行下面的命令,如果发现最后一列的 VERSION 数为 2,说明你的配置是成功的:
wsl --list --verbose

# Ubuntu配置

# 设置root密码

sudo passwd root

# 关闭 sudo 密码

为了避免每次使用 sudo 命令时都输入密码,我们可以将密码关闭。操作方法:

第一步:终端输入命令sudo visudo,打开 visudo

第二步:找到 %sudo ALL=(ALL:ALL) ALL 这一行修改为%sudo ALL=(ALL:ALL) NOPASSWD:ALL

# 换华为源

1、备份配置文件:

sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak

2、修改sources.list文件

sudo sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list

3、执行apt-get update更新索引

# 更新系统

# 更新本地报数据库
sudo apt update

# 更新所有已安装的包(也可以使用 full-upgrade)
sudo apt upgrade

# 自动移除不需要的包
sudo apt autoremove

# 安装neofetch

sudo apt install neofetch
neofetch

WSL2-2022-01-23-15-45-30

# 终端配置

# 安装zsh

# 安装 zsh
sudo apt install zsh

# 将 zsh 设置为系统默认 shell
sudo chsh -s /bin/zsh

重启终端

# zsh配置

zsh 的配置主要集中在 ~/.zshrc 文件里,比如我们可以给常用命令配置别名:

alias ll='ls -l'
alias la='ls -a'
alias vi='vim'
alias grep="grep --color=auto"

# 配置代理

# Fetch Windows ip address inside WSL environment
WINDOWS_IP=$(ip route | grep default | awk '{print $3}')
PROXY_HTTP="http://${WINDOWS_IP}:7890"
PROXY_SOCKS5="${WINDOWS_IP}:7890"

# Git & SSH for Git proxy
proxy_git () {
  git config --global http.https://github.com.proxy ${PROXY_HTTP}
  if ! grep -qF "Host github.com" ~/.ssh/config ; then
    echo "Host github.com" >> ~/.ssh/config
    echo "  User git" >> ~/.ssh/config
    echo "  ProxyCommand nc -X 5 -x ${PROXY_SOCKS5} %h %p" >> ~/.ssh/config
  else
    lino=$(($(awk '/Host github.com/{print NR}'  ~/.ssh/config)+2))
    sed -i "${lino}c\  ProxyCommand nc -X 5 -x ${PROXY_SOCKS5} %h %p" ~/.ssh/config
  fi
}

# Set proxy
set_proxy () {
  export http_proxy="${PROXY_HTTP}"
  export https_proxy="${PROXY_HTTP}"
  proxy_git
}

# Unset proxy
unset_proxy () {
  unset http_proxy
  unset https_proxy
  git config --global --unset http.https://github.com.proxy
}

# Set alias
alias proxy=set_proxy
alias deproxy=unset_proxy

其中:

  • 第一行 WINDOWS_IP=$(ip route | grep default | awk '{print $3}') 让我们使用 WSL 2 时可以自动获取最新的 WSL IP 地址,WSL 1 可以直接将 WINDOWS_IP 设置为 127.0.0.1;
  • 之后的 PROXY_HTTP 和 PROXY_SOCKS5 分别是我们代理的 HTTP 协议地址和 SOCKS5 地址;
  • 函数 proxy_git() 让我们直接设置 Git 自己的代理和 ssh 登录 GitHub 的代理;
  • 后续的 set_proxy() 和 unset_proxy() 就分别是设定 Git 代理和环境变量,以及取消 Git 代理、删除环境变量; 最后,我们使用命令 proxydeproxy 即可开启、关闭 WSL 中工具使用代理的功能。

# 安装zinit

sh -c "$(curl -fsSL https://git.io/zinit-install)"

# zsh插件

通过zinit来管理插件

# Plugin history-search-multi-word loaded with investigating.
zinit load zdharma-continuum/history-search-multi-word

# Two regular plugins loaded without investigating.
zinit light zsh-users/zsh-autosuggestions
zinit light zdharma-continuum/fast-syntax-highlighting

# 修改默认python版本

首先查看系统已经安装所有python版本

ls /usr/bin/python*

编辑~/.zshrc文件

vim ~/.zshrc

添加别名

alias python='/usr/bin/python3.8' 

重新加载.zshrc文件

. ~/.zshrc

# Python换源

编辑~/.pip/pip.conf文件

mkdir ~/.pip
~/.pip/pip.conf

配置华为源

[global]
index-url = https://repo.huaweicloud.com/repository/pypi/simple
trusted-host = repo.huaweicloud.com
timeout = 120

# 安装Node

# 下载 node

# 创建 node 目录
sudo mkdir /home/packages
# 将 node 放到 /home/packages 中
cd /home/packages

# 需要下载其它版本修改版本号即可
sudo wget https://repo.huaweicloud.com/nodejs/v16.9.1/node-v16.9.1-linux-x64.tar.gz

# 解压文件
sudo tar -xvf node-v16.9.1-linux-x64.tar.gz

# 删除安装包
sudo rm node-v16.9.1-linux-x64.tar.gz

# 修改名字,方便以后切换 node 版本
sudo mv node-v16.9.1-linux-x64 node

# 配置 node 环境

# 修改 profile 文件
echo "export PATH=~/packages/node/bin:$PATH" >> ~/.zshrc

# 编译 ~/.zshrc 文件,使其生效
source ~/.zshrc

# 使用 node 和 npm 命令了
node -v
npm -v

# node 换源

npm config set registry https://repo.huaweicloud.com/repository/npm/

# 安装pnpm

wget -qO- https://get.pnpm.io/install.sh | sh -

# Arch Linux

1、备份配置文件:

cp -a /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak

2、编辑/etc/pacman.d/mirrorlist ,在文件的最顶端添加如下代码:

Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch

3、初始化 keyring

pacman-key --init
pacman-key --populate
pacman -Syu
Last Updated: 2/11/2022, 2:51:08 PM