[科技杂谈]科技心得杂谈
未读
通过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 的播放器。
Wayland下的Sunshine+虚拟屏幕配置
文章是作者使用一加平板+Sunshine做Wayland桌面串流、把平板变为Linux副屏的记录。结构先交代缘起,再聚焦Wayland下虚拟显示器的做法。关键步骤三条:1. 选一条未占用的接口名(如HDMI-A-1),下载合适EDID→保存至/usr/lib/firmware/edid/xxx.bin;2. 在GRUB或systemd-boot启动参数追加drm.edid_firmware=HDMI-A-1:edid/xxx.bin video=HDMI-A-1:e,更新引导后重启即生成“假”显示器;3. 在桌面设置的显示器面板中确认虚拟屏,启动Sunshine填入对应屏幕ID即可串流;额外提示:KDE环境下可随时禁用该虚拟显示器以省资源。
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,同时列出无法切换、候选不显示、输入法图标丢失等常见故障的逐项检查要点。
Wayland下的KDE,软件置顶&OSD功能丢失的解决办法
文章解释了在 Wayland 下“窗口置顶”功能失效的根因:Wayland 协议不允许客户端直接操控窗口管理行为,而相关扩展未统一或尚未普及;GNOME 不支持“always-on-top”,KDE 则部分支持。作者提供的解决方案是借助 KDE 的“窗口规则”:在 KDE Plasma 的“系统设置→窗口管理→窗口规则”里建立一条匹配规则,按标题关键字把特定窗口强制置为“始终置顶”,并分享了可直接导入的 .kwinrule 配置示例;同理,第三方 Bilibili 客户端通过标题添加 “[Wayland置顶]” 标记,再由规则触发,也能实现 Wayland 环境下的置顶。
Linux下中文字体显示异常(日文字形)
文章指出,系统使用 Noto 字体时常把日文字形排在中文之前,导致中文显示异常。解决方法是编辑 /etc/fonts/conf.d/64-language-selector-prefer.conf,将 Noto Sans CJK SC 与 Noto Sans Mono CJK SC 的优先级置于 JP 或 TC 之前,保存后即可恢复正确中文字形。