[科技杂谈]科技心得杂谈
未读
一次“简单”的部署:为 Venera Sub Web UI 踩过的那些坑
作者为漫画阅读器Venera写了一个更新监控web工具,前端Jinja2+后端FastAPI,功能4小时完工。部署以为轻松,结果踩坑三天:先在服务器上因Glibc过低、WebKitGTK/GTK3缺失导致无法启动;靠Docker+Ubuntu24.04补齐依赖后,Flutter无头应用仍要求X11,遂引入Xvfb,镜像胀到1.1 GB;最后在持久化时发现Venera用rename跨挂载点转移配置文件,Docker卷分别挂载.config和.cache会令更新失败,只能把/root整个目录挂到同一卷。作者总结:开发快,部署难,底层细节最易翻车,现项目已稳定在线推送漫画更新。
[科技杂谈]科技心得杂谈
未读
通过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 LXC 容器配置的快速修改:只需在目标容器的配置文件中(/etc/pve/lxc/[ID].conf)末尾追加四行指令:用 autodev 钩子加载 tun 模块、两次授权字符设备 10:200、以及通过 bind 方式挂载 /dev/net,保存后重启该 LXC 容器即可生效。
[科技杂谈]科技心得杂谈
未读
博客友链延迟检测和互链检测
给博客加了个友链自检工具:前端插入一段纯 JS,自动把友链列表里打了 <friend-link>友链页面</friend-link> 标识的站点拿去 ping,测连通延迟并判断是否回链。前者用多次取平均+剔除异常值,后者把友链地址甩给同域名下的 Python 代理服务,由它抓取对方页面看自己域名是否出现。脚本默认 4 并发、缓存 5 分钟白名单站点直接标“双向”。JS 直接放友链页即可;Python 用 Flask 开 /check_friend?url=xxx 接口,配好本域名和端口,部署在任何能翻墙的机器就行。
Linux下Steam无法添加外置库(驱动器)
文章指出 Steam 出现“Cannot add library folder because of missing execute permissions”是因为外置分区挂载时用了包含 noexec 的默认参数,导致无法执行脚本。解决方法:编辑 /etc/fstab,在对应挂载行的参数末尾补加 exec,且确保 exec 出现在 user/users 之后;保存生效即可让 Steam 正常创建并运行脚本。
定位Linux下环境变量来自哪个文件
文章介绍了快速定位系统中被遗忘的环境变量来源的方法:先用 printenv 查看变量键值,再用一条统一的 grep 命令搜索所有常见配置文件(/etc/environment、~/.bashrc 等)中的 export 语句或变量值;示例以 fcitx5 相关变量演示,几秒内即可查到 /etc/environment 已集中设置,避免重复配置。
KDE下输入法配置的小细节
文章记录作者在 Arch+KDE Plasma 下以 Fcitx5 为框架配置中文输入的完整踩坑过程:先用 pacman 安装 fcitx5-im、configtool、chinese-addons、可选的 moegirl 词库与 Material 主题;在系统设置里启用 Fcitx5,KDE 自动写入环境变量,如仍被某些应用忽略,可手动在 /etc/environment 补充 GTK_IM_MODULE、QT_IM_MODULE 等六行以保证 GTK/Qt/游戏引擎识别;Wayland 下若 Chromium 类应用不生效,启动时加四个 Ozone/Wayland IME 参数;最后提醒在全局配置里把“开机自动激活”打开,免去手动 Ctrl+Space,同时列出无法切换、候选不显示、输入法图标丢失等常见故障的逐项检查要点。