WSL 里中文全是方块?装语言包和字体就好了

默认装好的 WSL 显示中文全是方块。我的主机系统是英文版 Windows,估计是这个原因——WSL 里既没有中文 locale,也没有能渲染中文的字体。补上这两样就好了。 一、安装中文语言包 sudo apt install language-pack-zh-hans 二、重新配置 locale sudo dpkg-reconfigure locales 在弹出的列表里勾选 en_US.UTF-8 和 zh_CN.UTF-8,下一屏选择 zh_CN.UTF-8 作为默认语言。 列表用空格键勾选、方向键移动、回车确认,不是鼠标点。 三、安装字体管理工具 sudo apt install fontconfig 四、把 Windows 的字体拿过来用 装 Windows 字体的方法有很多,我觉得下面这个直接复制的最省事。WSL 里 /mnt/c 就是 Windows 的 C 盘,所以一条 cp 就够了: sudo cp -r /mnt/c/Windows/Fonts /usr/share/fonts/windows 刷新字体缓存: fc-cache -f -v 五、退出重进 WSL wsl --shutdown 在 PowerShell 里执行,然后重新打开 WSL,中文就正常了。 验证 locale 应该能看到 LANG=zh_CN.UTF-8。 fc-list :lang=zh | head 能列出中文字体就说明字体装好了。

2026年8月18日 · 1 分钟 · Vinkey

新装 Linux 服务器初始化清单(持续更新)

每次开一台新 VPS,我都会按同一个顺序过一遍:先看看这台机器什么底子,再理顺用户和权限,最后才开始装东西。这篇就是那份清单,也是我自己的命令备忘录,后面会一直往里加。 一、先看看这台机器什么底子 一条命令看全部 Ubuntu 上登录时显示的那一大段摘要,其实可以随时手动调出来: landscape-sysinfo 输出包括系统负载、根分区占用、内存占用、交换分区、进程数、内网 IP,和登录时看到的一模一样。 如果提示命令不存在,装一下 sudo apt install landscape-common。非 Ubuntu 系统没有这个命令,用下面的分项命令代替。 分项快速查看 只想看某一项的时候,这几条更快: free -h 看 available 那一列,不要只看 free。 Linux 会把空闲内存拿去做缓存,free 显示的是完全没被碰过的部分,数字往往小得吓人;available 才是系统真正还能分配给程序用的量。 df -h 磁盘占用。要找出到底是谁把盘吃满了,接着用: sudo du -h --max-depth=1 / | sort -hr | head -20 uptime 系统整体负载。后面三个数字分别是 1 / 5 / 15 分钟的平均负载,和 CPU 核心数比较着看才有意义——4 核机器负载 4 才算跑满。核心数用 nproc 查。 看有哪些服务在跑 systemctl list-units --type=service --state=running 新机器上这条命令能让你知道系统预装了什么在后台跑,顺手关掉不需要的可以省点内存。 只看失败的服务: systemctl --failed 二、用户与权限 让 sudo 免密 如果你想保留自己的普通用户身份、敲命令时依然带 sudo,但不想每次都输密码,可以改 sudoers。 ...

2026年8月18日 · 2 分钟 · Vinkey

端口转发实战:Windows netsh、Linux socat 与 macOS(含命令生成器)

本文总结三大平台的 TCP/UDP 端口转发方法:Windows 用系统自带的 netsh interface portproxy,Linux 和 macOS 用 socat(并注册成开机自启的服务)。文末还有平台对比和排错清单。 命令参数又多又容易记错,所以我在下面放了一个命令生成器,填好地址端口就能直接复制。 什么时候需要端口转发 我自己最常遇到的几种场景: 服务只监听 127.0.0.1,想让局域网里的其他设备也能访问; VPN 抢走了全部路由(比如 Cisco AnyConnect 默认关闭 split tunnel),本机访问不到局域网设备,需要借道一个能通的机器; WSL2 里跑的服务,需要从 Windows 宿主机或局域网访问,而 WSL 的 IP 每次重启都会变; 端口被占用或被规范限制,想用另一个端口对外提供同一个服务。 需要区分两个概念:这里说的都是本机层面的端口转发(用户态代理),也就是「进来的连接原样接到另一个地址端口」;如果要让整台机器充当网关替一个网段做转发,那是 NAT 的活,Linux 上应该用 nftables/iptables 的 DNAT 并打开 net.ipv4.ip_forward,不在本文范围内。 🧰 命令生成器 支持多条规则一起生成,切换标签页即可得到对应平台的命令,每个代码块右上角可以一键复制。 Windows · netsh Linux · socat macOS · socat / pf 协议 TCP UDP + 添加一条规则 重置 ...

2026年8月17日 · 3 分钟 · Vinkey