最近在 Debian 13 + KDE Plasma 6 的环境下做了一些系统优化和开发环境配置的工作,记录一下整个过程。
1. 修复 npm 二进制文件权限问题
从 Windows 迁移项目到 Linux 后,运行 npm run serve 直接报错:
sh: 1: cross-env: Permission denied
原因是 node_modules/.bin/ 下的二进制文件丢失了执行权限。批量修复:
find node_modules/.bin/ -type f ! -name "*.cmd" ! -name "*.ps1" -exec chmod +x {} +
踩坑提醒:从 Windows 复制
node_modules或解压 zip 包时,权限信息会丢失。建议直接npm install重新安装,或者像上面这样批量修复。
2. VS Code 密钥环报错
在 KDE 环境下打开 VS Code,弹出一个错误提示:
You're running in a KDE environment but the OS keyring is not available for encryption. Ensure you have kwallet running.
VS Code 默认使用系统密钥环存储敏感信息,但 KWallet 没有运行。简单粗暴的解决方案 —— 在 VS Code 的 settings.json 中添加:
{
"password-store": "basic"
}
改为 basic 模式后,VS Code 用本地文件存储凭证,不再依赖 KWallet。
3. Catppuccin 明暗主题切换
之前用的是 Catppuccin Mocha Lavender(暗色),想要一个快速切换明暗主题的方式。
安装 Latte(亮色)主题
git clone --depth 1 https://github.com/catppuccin/kde.git /tmp/catppuccin-kde
cd /tmp/catppuccin-kde
bash install.sh -q 4 14 1 auto
参数说明:4 = Latte(亮色),14 = Lavender(强调色),1 = Modern 窗口装饰风格。
创建切换脚本
#!/bin/bash
# ~/.local/bin/toggle-theme.sh
CURRENT=$(kreadconfig6 --group General --key ColorScheme)
if [[ "$CURRENT" == *"Mocha"* ]] || [[ "$CURRENT" == *"Dark"* ]]; then
plasma-apply-colorscheme CatppuccinLatteLavender
plasma-apply-lookandfeel -a Catppuccin-Latte-Lavender
kdialog --msgbox "🌞 已切换到浅色主题"
else
plasma-apply-colorscheme CatppuccinMochaLavender
plasma-apply-lookandfeel -a Catppuccin-Mocha-Lavender
kdialog --msgbox "🌙 已切换到深色主题"
fi
现在终端里敲一下 toggle-theme.sh 就能切换,也可以在应用菜单里搜索 "Toggle Light/Dark Theme" 点击切换。
需要安装
libnotify-bin来支持notify-send通知,或者用 KDE 自带的kdialog。
4. 安装 Ark 压缩管理器
系统里没有图形化的压缩/解压工具。KDE 下最佳选择是 Ark,和 Dolphin 文件管理器无缝集成:
sudo apt install ark
支持 zip、tar.gz、7z、rar、xz、bz2 等常见格式,Dolphin 里右键就能用。
5. VS Code 代码格式化配置
右键菜单里没有 "Format Document",是因为没装格式化插件。
Prettier(前端通用)
code --install-extension esbenp.prettier-vscode
在 settings.json 中配置保存时自动格式化:
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"[php]": {
"editor.defaultFormatter": "bmewburn.vscode-intelephense-client"
},
"[go]": {
"editor.defaultFormatter": "golang.go"
}
}
PHP - Intelephense
code --install-extension bmewburn.vscode-intelephense-client
不需要本地安装 PHP,Intelephense 自带语法分析和格式化。
Go
golang.go 扩展自带 gofmt,不需要额外配置。
最终格式化器一览
| 语言 | 格式化器 | 备注 |
|---|---|---|
| Vue/JS/CSS/HTML/JSON | Prettier | 保存自动格式化 |
| PHP | Intelephense | 不依赖本地 PHP |
| Go | gofmt | golang.go 扩展自带 |
6. 整理项目目录结构
把 Hexo 博客从 Windows D 盘迁移到本地,并整理了 ~/projects 的目录结构:
projects/
├── opensource/
│ └── wine/
├── personal/
│ └── hb430.cn/ ← Hexo 博客
└── work/
├── docker/ ← MySQL、Nginx、Redis 等
├── go/
│ └── junyi-go/
└── vue/
├── junyi-academy-uniapp/
└── junyi-vue/
迁移 Hexo 项目时排除了 node_modules(节省约 450MB),迁移后重新 npm install:
rsync -av --exclude='node_modules' /media/cola/D/hexo/hb430.cn/ ~/projects/personal/hb430.cn/
cd ~/projects/personal/hb430.cn && npm install
7. VS Code 动画配置(附赠)
顺带分享一下让 VS Code 看起来更丝滑的配置:
{
"editor.cursorBlinking": "smooth",
"editor.cursorSmoothCaretAnimation": "on",
"editor.cursorStyle": "line",
"editor.cursorWidth": 2,
"editor.smoothScrolling": true,
"workbench.list.smoothScrolling": true,
"terminal.integrated.cursorBlinking": true,
"terminal.integrated.cursorStyle": "line"
}
配合 KDE 的 KWin 合成器,光标移动、滚动都有平滑的缓动动画,比 Windows 下的体验好不少。
总结
Debian + KDE 的开发体验其实非常不错,主要就是一些细节需要调整:
- 权限问题 — 从 Windows 迁移文件时注意执行权限
- 密钥环 — VS Code 在 KDE 下需要配置
password-store - 主题 — Catppuccin 生态完善,明暗切换一行脚本搞定
- 格式化 — Prettier + 语言专用格式化器,保存即格式化
- 目录结构 — 按类型分组,保持清晰
整体花了一两个小时,但之后的开发体验会顺畅很多。