安装与配置WSL

安装WSL

# 移除WSL
wsl --unregister Ubuntu-22.04

配置WSL

正常已经是可以免密直接登录的,只有在sudo时需要输入密码。

# 配置oh my zsh
sh -c "$(curl -fsSL https://gitee.com/pocmon/ohmyzsh/raw/master/tools/install.sh)"
#载入配置
source ~/.zshrc

可以在win10中用ConEmu打开wsl,我不喜欢cmd命令行。

配置git[^git]

配置代理

如果在win10主机上使用了科学上网来解决github等网站的联通性问题,则我会这样配置代理。

这是跟AI协作得到的。

我不想将系统密码设置得很简单,但是又不想记忆,所以我想的是设置加密保存,使用我的其他密码解密输出,实现在命令行中直接拿密码。

执行后,它会提示:

enter AES-256-CBC encryption password:
Verifying - enter AES-256-CBC encryption password:

在这里输入你的“主密码”(例如 MasterKey456)。

这里的密码末尾最好带上换行符,这样解密后才会有换行符。如果没有会有什么问题呢,zsh 为了防止字符不换行的时候与终端的引导符粘在一起,会在字符末尾自动添加换行,这本来是好事,但是并不多。因为 zsh 为了表示自己加了换行,提示用户注意,还会在原来字符的末尾加上一个百分号,这导致显示出来看上去密码是不对的,而且复制字面量容易出错

这是 unlock 的内容

#!/bin/bash
# ~/.local/bin/unlock文件内容
# 检查用户是否提供了主密码作为参数
if [ -z "$1" ]; then
    # 如果没有提供参数,就打印错误信息和用法到标准错误输出
    echo "错误: 未提供主密码。" >&2
    echo "用法: $(basename "$0") <主密码>" >&2
    exit 1 # 以错误码退出
fi
# 从命令行第一个参数获取主密码
MASTER_PASS=$1
# 使用 openssl 解密文件
# -d 表示解密 (decrypt)
# 选项必须与加密时完全一致
# -pass pass:"$MASTER_PASS" 从变量中读取主密码
# 2>/dev/null 将任何错误信息 (如密码错误) 重定向到 "黑洞",这样错误时就不会有任何输出
# tee >(clip.exe)是将终端输出复制一份到剪贴板
openssl enc -d -aes-256-cbc -pbkdf2 -in ~/.pwd/.encrypted -pass pass:"$MASTER_PASS" 2>/dev/null | tee >(clip.exe)

自定义命令

通过给 ohmyzsh 加自定义插件的方式增加自定义命令。这的确会更有挑战性,但是更优雅。这个章节的用法有 AI 的协助。

git

git 配置 ssh

↩︎

zsh

zsh 安装与配置,使用 oh-my-zsh 美化终端 | Leehow的小站