最近在 Debian 13 + KDE Plasma 6 的环境下做了一些系统优化和开发环境配置的工作,记录一下整个过程。

1. 修复 npm 二进制文件权限问题

从 Windows 迁移项目到 Linux 后,运行 npm run serve 直接报错:

1
sh: 1: cross-env: Permission denied

原因是 node_modules/.bin/ 下的二进制文件丢失了执行权限。批量修复:

1
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 中添加:

1
2
3
{
"password-store": "basic"
}

改为 basic 模式后,VS Code 用本地文件存储凭证,不再依赖 KWallet。

3. Catppuccin 明暗主题切换

之前用的是 Catppuccin Mocha Lavender(暗色),想要一个快速切换明暗主题的方式。

安装 Latte(亮色)主题

1
2
3
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 窗口装饰风格。

创建切换脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/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 文件管理器无缝集成:

1
sudo apt install ark

支持 zip、tar.gz、7z、rar、xz、bz2 等常见格式,Dolphin 里右键就能用。

5. VS Code 代码格式化配置

右键菜单里没有 “Format Document”,是因为没装格式化插件。

Prettier(前端通用)

1
code --install-extension esbenp.prettier-vscode

settings.json 中配置保存时自动格式化:

1
2
3
4
5
6
7
8
9
10
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"[php]": {
"editor.defaultFormatter": "bmewburn.vscode-intelephense-client"
},
"[go]": {
"editor.defaultFormatter": "golang.go"
}
}

PHP - Intelephense

1
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 的目录结构:

1
2
3
4
5
6
7
8
9
10
11
12
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

1
2
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 看起来更丝滑的配置:

1
2
3
4
5
6
7
8
9
10
{
"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 的开发体验其实非常不错,主要就是一些细节需要调整:

  1. 权限问题 — 从 Windows 迁移文件时注意执行权限
  2. 密钥环 — VS Code 在 KDE 下需要配置 password-store
  3. 主题 — Catppuccin 生态完善,明暗切换一行脚本搞定
  4. 格式化 — Prettier + 语言专用格式化器,保存即格式化
  5. 目录结构 — 按类型分组,保持清晰

整体花了一两个小时,但之后的开发体验会顺畅很多。