Linux 使用优化记录合集第一篇:Alacritty 在 Wayland 下无法拖放文件到终端(winit 的 Wayland DnD 未发布),通过 unset WAYLAND_DISPLAY 强制 X11 后端解决;接着踩到 GNOME text-scaling-factor 同步到 Xft.dpi 导致 X11 应用字体变大的坑,用 WINIT_X11_SCALE_FACTOR 单独压掉。记录了 winit 0.29 移除 WINIT_UNIX_BACKEND 这个容易踩的坑。 ...更多
上一篇文章的 pass 方案存在口令可被 pass show sudo 提取的残余风险;本文梳理 sudo 能否走公钥体系、为什么 pam_ssh_agent_auth 难加人工门,并给出 pam_exec 确认门 + pam_ssh_agent_auth 的完整配置:密钥不可提取、每次 agent 的 sudo 都弹确认框 ...更多
从实际排查出发,详解 tar 与 xz 两种格式的存储结构、成员顺序的真相、块级随机访问的原理与可靠性(校验和验证而非字符串匹配),附大量实测数据与可复用的探测工具。 ...更多
waypipe 转发时报 "Kernel is too old for Iris" 与 renderD128 打开失败,一度误判为服务端/客户端缺少 GPU 渲染节点,最终定位到客户端 i915 GuC 固件缺失导致 GPU wedged、Mesa 回退 llvmpipe 的完整排查记录 ...更多
从 xclip/xsel 迁移到 wl-clipboard 过程中遇到的各种坑:WAYLAND_DISPLAY 失效、waypipe 隧道 dmabuf 报错、wl-copy 与 xclip 的差异,以及 QXL 虚拟机升级 virtio-gpu 3D 的根治方案。 ...更多
按最后修改时间排序的文章列表(由 scripts/sync-updated.sh 从 git 历史生成,只统计正文变更) ...更多
在 Ubuntu 24.04 和 Debian 13 两台机器上先后遇到的 GNOME Remote Desktop 全套问题:xrdp 抢占 3389、mstsc 0x907 证书错误、GDM 白屏 CPU 飙升(真根因:手动默认路由 → NM primary 为空 → gsd-sharing 判 OFFLINE → --handover 不启动 → greeter 无虚拟显示器)、NTLM MIC 认证失败、Session creation inhibited、grdctl 凭证不持久化、loginctl 远程解锁会话。 ...更多
进程 /proc/PID/cwd 指向根目录但根目录里没有 jar 文件?通过父进程识别 Docker 容器、理解容器文件系统与 overlay 的关系,一步步定位问题。 ...更多
opencode 等 agent 执行 sudo 命令时,用 sudo -A + askpass 弹窗让用户回车确认/Esc 取消,密码由 pass + gpg-agent 提供,全程免打字,对比 1Password / GNOME Keyring / systemd-creds 的取舍与实测结论 ...更多
排查 opencode 在无外网 IPv6 的服务器上启动卡死的问题——两个独立根因:Bun 加载 TS 插件时因缺失 optional peer 依赖(@opentui/*)联网 npm registry,以及 DNS 默认 IPv6 优先导致模型请求连接挂起。包含 /etc/gai.conf 修复与 .opencode/.global-opencode 配置逐项解读 ...更多
从零搭建 Tauri 项目的 ARM64 交叉编译环境,并在不再需要时彻底清理 Multi-arch 环境,移除异构开发包、目标架构支持,重置环境变量,恢复纯净的本地 x86_64 编译环境 ...更多
H3C MegaBook 重装 Ubuntu 时无法进入 BIOS 以及 Ventoy 安全验证报错的解决方案 ...更多
在 opencode 源码中注入统一标记的调试日志,编译正式版本并用 docker 模拟无缓存容器环境,以毫秒级时间戳逐帧还原 ConfigPaths.directories → Npm.install → waitForDependencies 的完整执行流 ...更多
深入 opencode 源码,追踪 npmSvc.install() 对每个 config 目录无条件调用的设计原因,以及 waitForDependencies 阻塞插件加载的完整链路 ...更多
通过 strace、/proc、对比实验逐步定位 opencode 启动卡顿的根因——plugin 字段触发 bun install 下载整棵依赖树,以及如何通过预装 node_modules 彻底解决 ...更多
拿到一个陌生二进制,想知道它是怎么编译出来的?或者构建时遇到链接问题,需要快速定位?本文整理了 ELF 文件分析、编译选项提取以及常见链接器技巧。
...更多
/proc 是一个伪文件系统(procfs),由内核动态生成,用于暴露系统运行状态。读取这些文件无需特殊工具,cat 即可——这也是排查问题最快的手段。
Linux cgroup(control group)是内核提供的一种机制,用于对进程组进行资源限制、监控和隔离。systemd 将其作为服务管理的基础设施,通过单元配置文件即可完成 CPU、内存、IO 等资源的分配与控制。
本文基于 cgroup v2 内核文档 和 systemd.resource-control(5) 手册,结合实际操作示例,整理 systemd 资源控制的完整用法。
...更多Cargo 对 Compile 和 Link 使用相同的并发策略,大型 Workspace 链接阶段容易 OOM。本文介绍如何通过 Linker Wrapper 配合 flock 或 flock + 状态文件,实现编译全并行、链接限并发,并具备崩溃自动恢复能力。 ...更多
深入分析 opencode 中 third 目录下两个插件的生效逻辑、Hook 分发机制、LLM 消息构造流程,以及 SQLite 数据库的读写模式与膨胀问题。 ...更多