LXC 容器部署 OpenClaw 指南:硬核破解 Homebrew 的 Root 限制
本文介绍了在LXC容器中以root用户部署OpenClaw时,解决其Skill依赖Homebrew(Linuxbrew)禁止root运行限制的两种方案。方案一遵循官方规范,创建隔离的“linuxbrew”用户并安装,通过环境变量供OpenClaw调用。方案二则通过修改Homebrew源码(brew.sh和api.rb文件),直接绕过root检测和下载拦截,实现root身份下的直装与使用,并配置了必要的Git信任和环境变量。最终,修补后的环境可顺利使用brew为OpenClaw安装Skill所需工具链。
一次 Playwright + Docker 的踩坑记录
本文作者分享了在服务器上部署使用Playwright进行网页截图功能时遇到的三个主要问题及解决方案。首先,由于网络环境差,无法在线下载Chromium浏览器,作者采用离线拷贝浏览器文件并设置环境变量`PLAYWRIGHT_BROWSERS_PATH`指向该目录的方法绕过下载。其次,即使浏览器文件存在,仍因缺少系统动态库而无法启动,需在Docker中安装Chromium的运行时依赖库。最后,为解决中文字体显示为方框或误用日文字形的问题,作者安装了Noto CJK字体并配置字体优先级,确保简体中文优先显示。文末提供了完整的Dockerfile示例,通过离线浏览器、安装依赖和调整字体,最终实现了稳定运行。
KDE 下 WPS 双击文件打不开的问题及解决方案
本文总结了在KDE桌面环境下使用WPS Office时无法通过双击打开文件的问题及其解决方案。问题主要源于WPS新版Linux命令行启动器的bug,以及无法正确处理KIO-FUSE挂载的SMB/NAS路径。作者在社区提供的AUR脚本基础上进行了改进,增强了自动切换工作目录、支持多种路径格式、添加日志记录和多文件兼容功能。通过创建并配置自定义启动脚本,并修改.desktop文件中的启动命令,成功解决了远程文件的打开问题,但本地文件受WPS自身限制可能仍无法打开。改进后的方案提供了更稳定的文件打开体验和调试支持。
[科技杂谈]科技心得杂谈
未读
一次“简单”的部署:为 Venera Sub Web UI 踩过的那些坑
本文作者分享了为漫画阅读器Venera开发订阅管理工具并部署时遇到的系列问题。开发过程顺利,仅用数小时完成核心功能,但部署时接连遭遇依赖冲突:服务器Glibc版本过旧、缺少GUI库文件。改用Docker后,又发现无头应用仍需X11虚拟屏幕(Xvfb),导致镜像臃肿至1.1GB。最终遇到数据持久化问题,因Docker挂载点导致系统rename操作跨文件系统失败,通过统一挂载整个用户目录解决。此次经历凸显了部署运维的复杂性,底层机制与容器化环境可能引发意外挑战,需细致应对。
[科技杂谈]科技心得杂谈
未读
通过PID锁定PipeWire ID,以解决PipeWire元数据无法很好定位不同软件的问题
文章提出一种在 Linux 下通过“进程 PID→PipeWire sink-input ID→音量或播放控制”的稳定链路,绕开 PipeWire 元数据可能缺失或重复的问题。先用 pgrep 拿到目标应用的 PID,再用 pactl list sink-inputs 搜出含该 PID 的段落,正则提取 Sink Input # 后面的数字即 PipeWire ID。拿到 ID 后,音量调节直接 pactl set-sink-input-volume 完成;播放/暂停、上/下曲等功能则用 D-Bus MPRIS 接口发送 PlayPause、Next 等调用。文中给出完整 Python 例子(含异步封装和日志),可直接用于 yesplaymusic 等支持 MPRIS 与 PipeWire 的播放器。
[科技杂谈]科技心得杂谈
未读
NAS用户的qBittorrent最优方案
文章面向同时拥有一台 NAS 和一块独立机械硬盘的用户,解决 BT 下载既想做种又不伤 NAS 的难题。做法分三步:先在 qBittorrent 里把“默认保存路径”和“未完成 torrent 路径”都指向那块机械硬盘;再在下载完成后触发脚本 post_download.sh,把已完成的文件自动复制到 NAS 的某挂载目录(cp -rv 方式),实现 RAID 级保护;最后给 qBittorrent 设置做种时间上限(例如 22000 小时),达到后自动删除种子和机械硬盘上的原文件。整个流程全程自动化:文件下载在机械盘、备份在 NAS、做种完成后自动清理机械盘,既保障数据冗余,又减轻 NAS 负载。
[科技杂谈]科技心得杂谈
未读
用一条命令快速查找并管理大文件:结合 find 和 fzf 的实用脚本
脚本功能:交互式查找&删除大文件。①运行后输入目录(默认 /mnt/ssd)和阈值(默认 300M,支持 300M、1G 等格式)。②用 find 找到大于阈值的文件,交给 fzf 列表,可多选。③右侧预览窗同时展示 stat 信息、文件路径、ls -lh 彩色长列表、所在目录内容。④ Ctrl-D 一键删除所选文件并自动重载列表。整块代码只有一行,直接粘贴到终端即可;作者表示比纯 find 省事,适合快速清理服务器或大盘无用文件。
Wayland下的Sunshine+虚拟屏幕配置
文章记录作者在买了台一加平板后,想让它充当 Linux 副屏的折腾经过。核心需求是在 Wayland 下生成一块虚拟显示器,以便通过 Sunshine 把桌面串到平板。主流方法在 X11 好办,Wayland 则需绕弯。实现方案:在启动时让内核把指定 GPU 输出口当作不存在的显示器,然后加载预先准备的 EDID(分辨率/帧率可选,不填更简单)——步骤就是准备 EDID 文件→放到 /usr/lib/firmware/edid→把 drm.edid_firmware=HDMI-A-1:edid/myvirt.bin video=HDMI-A-1:e 写进内核启动参数,更新 grub 或 systemd-boot 后重启系统→桌面已出现该虚拟显示器→Sunshine 里填对应显示器 ID 完成串流。用毕可在 KDE 设置里直接关掉虚拟显示器节省资源。
[科技杂谈]科技心得杂谈
未读
Pve Lxc无特权容器开启Tun的通用方法
本文介绍了在Proxmox VE(PVE)的LXC容器中启用TUN/TAP设备支持的方法。对于非特权容器,需编辑 `/etc/pve/lxc/[ID].conf` 配置文件,在末尾添加四行指令以加载 `tun` 内核模块、允许容器访问相关设备节点,并挂载 `/dev/net` 目录。保存修改后重启容器即可生效。对于特权容器,操作更为简单,只需直接添加 `/dev/net/tun` 设备即可。
[科技杂谈]科技心得杂谈
未读
博客友链延迟检测和互链检测
给博客加了个友链自检工具:前端插入一段纯 JS,自动把友链列表里打了 <friend-link>友链页面</friend-link> 标识的站点拿去 ping,测连通延迟并判断是否回链。前者用多次取平均+剔除异常值,后者把友链地址甩给同域名下的 Python 代理服务,由它抓取对方页面看自己域名是否出现。脚本默认 4 并发、缓存 5 分钟白名单站点直接标“双向”。JS 直接放友链页即可;Python 用 Flask 开 /check_friend?url=xxx 接口,配好本域名和端口,部署在任何能翻墙的机器就行。