windows和wsl美化简述
前言&展示
作为一个linux爱好者(自定义很爽),很喜欢archlinx搭配hyprland的配置,但是Wayland桌面+fcitx5输入法在typora和chrome间切换有大概率会无法聚焦(有可能是我电脑自己的问题),导致输入法无法输入,这时需要每次重启输入法(作为这两个软件的重度用户,我无法接受),尝试许多方法未得到解决。于是不得不卸载双系统重新改回win11+wsl,折腾了一天,成果展示:
配置过程
Terminal
win11 默认安装 Terminal ,可以直接使用。
安装推荐字体进入Nerd Fonts随便下载一款字体(推荐 FiraCode Nerd Font ),并在 windows 上安装,然后在 Terminal 的 设置->默认值->外观->字体 中设置你安装的字体即可。
安装 oh-my-posh ,实际详细配置参考官网。管理员权限下的 powershell 运行
winget install JanDeDobbeleer.OhMyPosh -s winget --location D:\Environment\oh-my-posh\
安装 oh-my-posh 到指定位置(我这里是D:\Environment\oh-my-posh)。配置环境变量:
POSH_THEMES_PATH
中配置主题文件目录位置:(补充):为 powershell 安装一些图标美化插件
Install-Module -Name Terminal-Icons -Repository PSGallery
管理员 powershell 运行
notepad $profile
编辑 powershell 配置文件。其中--config
后面接主题配置的文件位置(全部在 oh-my-posh 安装目录的 themes 目录下)。# 图标美化 Import-Module -Name Terminal-Icons # oh-my-posh 主题 oh-my-posh --init --shell pwsh --config "$env:POSH_THEMES_PATH\catppuccin_frappe.omp.json" | Invoke-Expression
运行
. $profile
使配置生效。对于 cmd 无法使用 oh-my-posh ,但是官方提供解决方式:下载clink工具,安装一个已知位置。然后,进入 clink 安装目录,创建
oh-my-posh.lua
文件,添加如下内容:load(io.popen('oh-my-posh init cmd --config D:\\Environment\\oh-my-posh\\themes\\catppuccin_frappe.omp.json'):read("*a"))()
最新的 window 已经内置 sudo 命令,无需安装 gsudo 软件,只需要在 设置->系统->开发者选项 中启用 sudo 命令,并建议设置为内联启动即可。
在Terminal的 设置->默认值->外观->背景图片 中设置背景图和透明度等(个人感觉这张图挺好,放这:here)。
此外我们可以为powershell添加一些配色主题:iTerm2-Color-Schemes 项目的 windwosterminal 目录对应的 json 文件复制样式,将样式粘贴到windwos terminal配置文件(
CTRL+SHIFT+,
打开配置文件)的 schemes 数组中即可。"schemes": [ { "background": "#F7F7F7", "black": "#090300", "blue": "#01A0E4", "brightBlack": "#5C5855", "brightBlue": "#807D7C", "brightCyan": "#CDAB53", "brightGreen": "#3A3432", "brightPurple": "#D6D5D4", "brightRed": "#E8BBD0", "brightWhite": "#F7F7F7", "brightYellow": "#4A4543", "cursorColor": "#4A4543", "cyan": "#B5E4F4", "foreground": "#4A4543", "green": "#01A252", "name": "3024 Day", "purple": "#A16A94", "red": "#DB2D20", "selectionBackground": "#A5A2A2", "white": "#A5A2A2", "yellow": "#FDED02" }, ]
powershell的上方标签栏很碍眼,在Terminal设置的操作中设置一个切换专注模式的快捷键,然后在 设置->启动->启动参数->启动模式 设置为专注模式即可。
wsl安装
需要说明的是,安装windows子系统,需要开启
Hyper-V
,启动方式参考网上教程。检查是否开启,打开任务管理器,选择任务一栏。但是,开启
Hyper-V
可能导致一些旧版本VMware等虚拟机无法使用,但是最新的虚拟机已经支持Hyper-V
。打开控制面板,选择程序后,选择启动或者关闭windows功能(其实在 设置->系统->可选功能->添加可选功能 里面也可以启用)。
开启虚拟机平台和适用于linux的windows子系统,重启计算机。
在 设置->系统->开发者选项 中启用开发人员模式。
管理员权限下,使用
cmd
需要运行wsl --update
更新WSL,而后运行命令wsl --set-default-version 2
设置WSL版本。wsl --list --online
查看可安装的Linux发行版。这里提一下,不带版本号的ubuntu
可以更新更高版本,带版本号的不能更新到更高版本。运行
wsl --install <DistroName>
安装 linux 发行版。例如安装wsl --install Ubuntu-22.04
,此后等待一段时间后,会要求设置账户和密码(这里是普通账户)。但是上面没有 Archlinux (用习惯了),这里不采用上述方式安装linux发行版。下载安装包:arch.zip,解压到合适的位置后运行Arch.exe文件(细节问题参考官方文档)。cmd 运行 wsl 命令启动,使用 passwd 命令设置 root 用户密码。
换源和安装yay(一些其他配置可以参考archlinux简明指南):
vim /etc/pacman.d/mirrorlist
添加如下源:Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch Server = https://repo.huaweicloud.com/archlinux/$repo/os/$arch Server = http://mirror.lzu.edu.cn/archlinux/$repo/os/$arch
开启32位支持库与ArchLinux中文社区仓库archlinuxcn。编辑
vim /etc/pacman.conf
:# 取消注释 [multilib] Include = /etc/pacman.d/mirrorlist # 添加镜像源(选一个即可) [archlinuxcn] Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch Server = https://mirrors.hit.edu.cn/archlinuxcn/$arch Server = https://repo.huaweicloud.com/archlinuxcn/$arch
配置签名:
sudo pacman-key --init sudo pacman-key --populate sudo pacman -S archlinux-keyring # archlinux源签名 sudo pacman -Syyu
安装 archlinuxcn 源签名和 yay :
sudo pacman -S archlinuxcn-keyring # cn源中的签名 sudo pacman -S yay
创建新用户:
useradd -m -G wheel -s /bin/bash <username>
创建用户passwd <username>
设置密码EDITOR=vim visudo
打开配置,设置用户组权限:# 取消注释 %wheel ALL=(ALL:ALL) ALL
退出wsl,设置启动时默认用户:
./Arch.exe config --default-user <username>
安装字体和一些基本软件:
sudo pacman -S adobe-source-han-sans-cn-fonts adobe-source-han-serif-cn-fonts noto-fonts-cjk wqy-microhei wqy-microhei-lite wqy-bitmapfont wqy-zenhei ttf-arphic-ukai ttf-arphic-uming noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra sudo pacman -S base base-devel git curl wget neofetch net-tools dnsutils inetutils
修改编码:
vim /etc/locale.gen
去掉en_US.UTF-8 UTF-8
以及zh_CN.UTF-8 UTF-8
行前的注释符号,后运行locale-gen
和echo 'LANG=en_US.UTF-8' > /etc/locale.conf
wsl:检测到localhost代理配置,但未镜像到WSL。NAT模式下的WSL不支持localhost代理
的解决措施:在 C:\Users\用户名\ 下创建一个 .wslconfig 文件,然后在文件中写入如下内容:[experimental] autoMemoryReclaim=gradual networkingMode=mirrored dnsTunneling=true firewall=true autoProxy=true
设置root默认编辑器:
vim ~/.bash_profile
export EDITOR='vim'
wsl美化
配置zsh:
sudo pacman -S zsh
安装 zsh ,后运行chsh -s $(which zsh)
配置为当前用户的默认shell(若不存在which先安装基本软件pacman -S base-devel
),然后运行echo $SHELL
查看当前默认shell(其他用户登录时,可能会有一个选项,选择0生成~/.zshrc
配置文件即可)。安装 oh-my-zsh :
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安装 powerlevel10k :
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
装完后使用
vim ~/.zshrc
配置好ZSH_THEME="powerlevel10k/powerlevel10k"
,运行p10k configure
配置美化(安装要求选择即可)。安装几个插件(仅对当前用户生效):
# zsh-syntax-highlighting:终端命令语法高亮 git clone https://github.com/zsh-users/zsh-syntax-highlighting ~/.oh-my-zsh/plugins/zsh-syntax-highlighting # zsh-autosuggestions:自动补全 git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/plugins/zsh-autosuggestions
vim ~/.zshrc
编辑文件,添加插件:plugins=( ... # 之前已经声明的插件名称 zsh-autosuggestions zsh-syntax-highlighting )
运行
source ~/.zshrc
重新加载配置文件。
安装 neovim 替代 vim : 略。
显示信息:
pacman -S fastfetch
,然后运行echo 'fastfetch' >> ~/.zshrc
。但是实际使用时发现 fastfetch 会卡死,参考下面讨论内容添加服务文件后修复:https://github.com/microsoft/WSL/issues/6999#issuecomment-2303010704
此外可以配置要显示的组件模块:
# 生成默认配置文件 fastfetch --gen-config # 修改配置文件 vim $HOME/.config/fastfetch/config.jsonc
桌面美化软件
壁纸配置: steam 安装壁纸引擎(Wallpaper Engine,收费),按照自己的喜好设置壁纸,设置为开机自启。
dock栏: steam 安装 mydockfinder(收费) ,按照自己的喜好设置即可,或者也可以使用免费的Winstep Nexus。但是我需要通过系统托盘关一些后台软件,所以才用的mydockfinder(很早就接触这个软件,还是不错,目前可能还有些bug。现在电脑有点老,有时候打开几个软件就有点带不动,所以不打算用这个软件) 。
状态栏透明:TranslucentTB(推荐直接在微软商店下载,可以配置开机自启),mybockfinder占用内存还是有点大(不能接受),所以还是直接透明化任务栏吧。右键状态栏,选择任务栏设置,然后在里面设置任务栏自动隐藏。(下图的律动时钟来自雨滴,与TranslucentTB无关)
鼠标样式:
LeoRH123/Windows-11-Cursor-Concept-Pro-v2.0直接下载源文件,右键 .inf 文件安装鼠标样式。
搜狗输入法:可以配置一个打字跟随的输入法皮肤。
软件启动器(下面几个比较火,体验了下感觉第一个比较适合我)
flowlauncher(正在使用,配合everything很舒服)
2. fluentsearch
3. utools
一些推荐字体:
Fira Code:https://github.com/tonsky/FiraCode
Inconsolata: https://github.com/googlefonts/Inconsolata
软件图标生成
上述 png 图片格式图标可用于 mydockfinder 中。
修改磁盘或者U盘的图标:创建好 ico 图标文件,在磁盘或者U盘内创建
autorun.inf
,添加如下内容指定图标位置,然后重启系统(U盘只需要重新插入即可)。当然你还可以将图标和文件隐藏,只需要右键后选择属性然后勾选隐藏即可。:[autorun] icon=.\disk.ico
软件推荐
picgo: 配置 github 或者阿里云OSS等搭建个人图床。
drawio: 画图软件。
motrix: 下载器,也可以试一试 IDM 和 aria2 。
傲梅分区助手: 之前双系统 EFI 分区大小不足时就是用的这个软件拓展的(有风险,使用前备份分区,做好重装系统的心理准备)。
everything: 当软件不知道安装在哪儿或者配置文件找不到时,我总能想起它,哈哈。
Snipaste: 截图软件。
7-zip: 解压神器。
火绒安全: 弹窗拦截。
scoop: Windows下的一个包管理器,它与Mac下的brew是一个类似的工具。爽!!!
在管理员下运行powershell,并运行以下安装命令:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser irm get.scoop.sh | iex
当然上述软件的安装位置使用默认,作为一个合格的系统管理员,这是极其难受的,参考官方Scoop安装程序得到第二种安装方式:
irm get.scoop.sh -outfile 'install.ps1' # 配置一下软件安装目录(不需要管理员下运行,可以删除-RunAsAdmin参数) .\install.ps1 -ScoopDir 'D:\Scoop' -ScoopGlobalDir 'D:\Scoop\Global' -RunAsAdmin
若是开启系统代理,则需要配置配置代理(不配置会报错:Remove-Item:找不到路径“D:\Scoop\apps\scoop\new”,因为该路径不存在):
scoop config proxy 127.0.0.1:10809
(此处代理ip和port按自己的代理软件信息填写)此外删除代理命令为scoop config rm proxy
。其他配置可以参考这篇:Windows包管理工具Scoop安装及使用