Linux 日语输入法审计:确认引擎、备份词库与迁移学习数据

在 Linux 桌面环境中安装日语输入法并不困难,但真正需要迁移系统、重装发行版或更换电脑时,往往会遇到几个问题: 为回答这些问题,对一台运行 Arch Linux、KDE Plasma 和 Wayland 的工作站进行了一次只读审计。审计不修改配置、不卸载软件包,也不重启输入法,仅检查当前运行状态、配置文件、用户数据和可迁移性。 一、当前输入法环境 审计确认,当前活跃的输入法框架是: 桌面会话为 KDE Plasma Wayland,Fcitx5 进程和对应的用户服务均处于正常运行状态。 当前实际激活的输入法是: Rime 主要用于中文输入,并不是本次检查的日语输入法。 当前 Fcitx5 输入法列表中配置的日语输入法是: 系统中另外还安装了多个日语输入引擎: 这些引擎虽然已经安装,但并未全部加入当前日常使用的输入法切换列表。 因此,需要区分四种状态: 状态 含义 已安装 软件包存在于系统中 可用 Fcitx5 能够识别该输入法引擎 已配置 输入法已加入当前 Fcitx5 输入法组 当前激活 此刻正在用于输入的引擎 本机的实际情况是: 二、为什么选择 Mozc Mozc 是一个开源日语输入引擎,常用于 Linux 上的日语输入。它可以通过 Fcitx5、IBus 等不同输入法框架使用。 在当前系统中,Mozc 通过 …

在 Fcitx5-Rime 中实现动态日期与时间候选:一次从“部署成功”到“真实可用”的排查记录

在 Linux 桌面环境中,Rime 输入法具有很强的可定制能力。除了词库、快捷键和候选数量,也可以借助 Lua 动态生成当前日期、时间和星期。 目标效果如下: 这类功能看似只是增加几行配置,实际排查过程中却遇到了几个容易误判的问题: 本文整理完整过程,并总结一套更可靠的处理方法。 一、运行环境与需求 测试环境为: 用户原本已经将每页候选数量改为 9,但修改位置位于: build/ 是 Rime 的编译产物目录。这里的文件会在重新部署时被重新生成,因此不适合保存长期自定义配置。 正确做法是把自定义内容放在用户数据目录: 例如: 二、先确认 Lua 支持是否存在 动态日期和时间需要 librime-lua。 在 Arch Linux 中,新版 librime 软件包通常已经包含 Lua 插件,不一定需要额外安装独立软件包。 可以检查: 再确认插件文件: 如果能看到对应的 Lua 插件文件,并且该文件属于 librime 软件包,说明 Lua 支持已经安装。 三、不要继续修改 build 目录 候选数量应写入: 例如: 动态 Lua translator 也应通过同一个补丁挂载: …

RustDesk 在 KDE Wayland 下剪贴板只能单向同步的排查与解决

在 Linux 桌面环境中使用 RustDesk 远程连接 Windows 时,遇到了一个比较特殊的剪贴板问题: 这种“单向正常、反向失败”的现象,容易被误认为是 Windows 剪贴板服务异常,或者 RustDesk 的剪贴板权限没有打开。但进一步排查后发现,真正的问题位于 Linux 客户端一侧,并且与 KDE Plasma Wayland 环境及 RustDesk 版本有关。 一、问题环境 发生问题的本地系统为 Arch Linux,桌面环境使用 KDE Plasma,当前会话类型为 Wayland。 远程端是一台 Windows 系统,通过 RustDesk 进行远程控制。 首先检查 Linux 当前的图形会话类型和 RustDesk 安装情况: 输出结果显示: 这说明当前使用的是系统软件包方式安装的 RustDesk 1.4.7,并不是 Flatpak 版本。 二、为什么问题只发生在一个方向 远程桌面的剪贴板同步并不是一个完全对称的过程。 当从 Windows 复制文字到 Linux 时,RustDesk …

Waydroid 突然提示“设备未通过 Play Protect 认证”的排查与修复

在 Linux 桌面环境中运行带有 Google 服务的 Waydroid 时,Google Play 商店可能原本一直正常,某次启动后却突然显示: This device isn’t Play Protect certified 页面会提示设备没有获得运行 Google 应用和服务的认证,Play 商店也无法继续使用。 这类问题看起来像是整个 Google 服务环境失效,但实际原因往往没有那么严重。一次实际排查表明,网络连接、Google Services Framework ID 和 Google 服务器签到都可能完全正常,真正没有刷新的只是 Google Play services 内部保存的设备认证状态。 一、问题表现 Waydroid 可以正常启动,Android 系统也能够联网,其他应用没有明显异常,但打开 Google Play 商店后会直接跳转到未认证提示页面。 常见误判包括: 实际上,Play Protect 应用扫描和设备认证状态是两套不同的机制。关闭扫描并不能让未认证设备恢复认证。 二、先查询当前 GSF Android ID Google 为未经过厂商认证的自定义 Android …

KDE Plasma Wayland 下 Fcitx5 托盘状态不同步:从双启动修复到启动顺序竞态的完整排查

前言:此前的修复为什么“有效”,却又不够完整 此前曾记录过一次 KDE Plasma Wayland 环境下的 Fcitx5 冷启动故障。 当时的现象是:系统冷启动后,部分 Chromium 系应用无法正常切换输入法;重新启动 Fcitx5 后,问题又会消失。最终排查发现,系统同时存在两条 Fcitx5 启动路径: 两条路径在登录时同时尝试启动 Fcitx5,导致 D-Bus 名称竞争和初始化竞态。解决办法是在用户配置目录建立同名覆盖文件,将传统 XDG Autostart 项隐藏: 示例路径经过脱敏: 这样便只保留 KWin Wayland 的官方输入法启动路径。 这项修复非常重要,而且确实解决了一个真实问题: 当时一度认为问题已经完整解决。 后来出现的新现象证明:Hidden=true 解决的是“双启动”,但没有解决所有与启动时序相关的问题。 新的问题不再是输入法不能使用,而是: 这两个问题彼此相关,但并不是同一个问题。 一、环境与故障现象 测试环境经过脱敏后大致如下: 最典型的现象是: 这说明必须把两个概念分开: 输入法核心状态 负责: 托盘显示状态 负责: 因此,托盘状态错误并不意味着 Fcitx5 核心输入功能已经失效。 二、先确认双启动问题没有复发 由于此前已经发生过双启动,第一步仍然是确认旧问题没有回来。 检查结果显示: 这一步非常关键。 如果没有先排除双启动,很容易把后面的托盘问题错误归因于此前的老问题。实际上,新的故障发生在单一 Fcitx5 …

为 Waydroid 配置独立的音量增减快捷键

背景 在 Linux 桌面环境中运行 Waydroid 时,宿主机的音量控制与 Android 容器内部的媒体音量并不总是完全一致。 Waydroid 内部的 Android 媒体音量可以通过下面的命令直接设置: 其中: 但固定设置音量并不适合绑定键盘快捷键。更自然的方式是像物理音量键一样,每按一次增加或降低一级。 对应命令为: 以及: 问题在于,waydroid shell 通常需要 root 权限。如果直接将这两个命令绑定为桌面快捷键,系统无法在快捷键触发时交互式输入 sudo 密码。 最简单但风险很高的做法,是把密码写入脚本。更合理的方案,是通过 sudoers 仅放行两条完整、固定的音量命令。 设计目标 整个配置需要满足以下要求: 最终结构只有三项: 没有修改主 /etc/sudoers 文件,也没有修改 Waydroid 程序本身。 一、确认环境 首先确认当前用户名、sudo 路径以及 Waydroid 路径: 典型输出可能为: 在编写 sudoers 规则时,应使用实际查询到的绝对路径,而不是依赖 PATH 环境变量。 还可以先读取当前 Android 媒体音量: 输出类似: 这说明媒体音量命令可正常工作。 …

KDE Plasma Wayland 下 Fcitx5 输入法状态异常:一次由 Waydroid 崩溃引出的双启动竞态排查

问题现象 在 Arch Linux、KDE Plasma Wayland 和 Fcitx5 环境中,出现了一个很奇怪的输入法问题: 更奇怪的是,某次调整 Waydroid 独立窗口模式并启动 Android 应用时,整个桌面环境发生崩溃。Plasma 和 KWin 恢复后,原本无法正常切换输入状态的应用突然全部恢复正常。 随后正常关闭并重新打开 Brave,输入法仍然正常。但整机重启后,问题又重新出现。 这个现象提供了一个很重要的线索: 问题不是浏览器进程本身的临时状态,而更可能发生在 KDE Plasma Wayland 会话启动阶段。 最初的判断 由于桌面崩溃后输入法恢复,而浏览器重启后仍然保持正常,可以初步排除: 更合理的解释是: 但这仍然只是推测,需要日志和配置证据进一步验证。 只读排查 为了避免继续扰动系统,首先进行了严格的只读审计,没有修改配置、没有重启进程,也没有重新运行 Waydroid。 重点检查了以下内容: 最终发现,系统中同时存在两条 Fcitx5 启动路径。 第一条启动路径:KWin Wayland Input Method KDE Plasma Wayland 中,Fcitx5 被配置为 KWin 的输入法组件,KWin 使用类似下面的 desktop 文件启动它: …

在 KDE Wayland 中优化 Waydroid Full UI:从固定 16:10 窗口到沉浸式大屏布局

在 4K 显示器和 KDE Plasma Wayland 环境中运行 Waydroid 时,默认的 Full UI 往往会铺满整个可用桌面。对于将 Waydroid 长期作为“大尺寸横屏 Android 平板”使用的场景,这种显示方式很自然,但也可能因为界面过宽,导致部分应用布局不够协调。 一次优化尝试将 Waydroid 改成了固定的 16:10 窗口。尺寸和比例虽然更接近平板设备,但随后出现了新的问题:窗口固定在屏幕左上角,右侧和下方留下明显空白,整体观感反而不如最初的铺满状态。 最终没有继续强行控制窗口坐标,而是取消固定尺寸,并结合 KDE Panel 的 Dodge Windows 模式,实现了更自然的沉浸式显示效果。 一、环境与目标 使用环境大致如下: 显示器的物理分辨率为: 在 150% 缩放下,KDE 使用的逻辑分辨率约为: 左侧 Plasma Panel 原本固定占用: 因此普通最大化窗口最初会从: 开始显示。 二、将 Waydroid 改成 16:10 固定窗口 为了让 Waydroid 更接近常见大屏 Android …

把 Waydroid Full UI 真正变成横屏 Android 平板

前言 Waydroid 在 Linux 桌面上运行 Android 时,常见用法有两种: 本文讨论第二种场景:不启用多窗口模式,而是让整个 Waydroid 窗口表现为一台大尺寸横屏 Android 平板。 测试环境具备以下特点: 最终问题并不在分辨率、DPI 或旋转角度,而在于: Waydroid 虽然拥有足够大的屏幕尺寸,却仍向应用报告自己是普通设备,而不是平板设备。 解决办法是在 Waydroid 持久配置中,将设备类型声明为 tablet。 一、问题表现 Waydroid Full UI 本身已经可以横屏显示,Android 桌面、搜索栏和底部导航也都处于正确方向。 但部分应用仍然存在异常: 这说明问题不能简单归结为“应用不支持平板”。 二、先明确目标:不是桌面多窗口模式 Waydroid 支持让 Android 应用分别显示成 Linux 桌面窗口,例如: 但这种模式并不适合将 Waydroid 当作完整平板使用。 正确目标应当是: 因此应保持多窗口模式关闭: 三、旋转设置的误区 Android 的 user_rotation 支持四个值: 需要注意: 0 并不固定代表竖屏,它代表设备自身定义的自然方向。 如果 …

Waydroid 应用声音过小的排查与修复

问题现象 Waydroid 安装、网络和应用兼容问题处理完成后,Android 应用已经能够正常打开,视频和音乐也可以播放。 最初观察时,容易误以为 Waydroid 完全没有声音。进一步确认后发现,声音实际上存在,只是音量非常小。 宿主机本身的音频输出正常,其他 Linux 应用音量也没有异常。因此,问题并不在 PipeWire、PulseAudio、扬声器或宿主机输出设备,而在 Waydroid 内部的 Android 媒体音量。 最终检查发现,Android 的媒体音量只有: 也就是大约三分之一。 将其调整为: 之后,Waydroid 内应用音量恢复正常。 Waydroid 中存在两层音量控制 Waydroid 的声音至少涉及两层控制: 如果 Android 内部媒体音量只有 30%,即使宿主机已经设置为 100%,最终听到的声音仍然可能很小。 因此,一种比较稳定的使用方式是: 这样可以避免 Android 内部音量和 Linux 宿主机音量同时缩小,导致实际输出过低。 为什么键盘音量键可能无效 在普通 Android 手机或平板上,按音量加键通常可以直接调整媒体音量。 但在 Waydroid 独立窗口模式下,键盘上的音量键不一定会正确传递给 Android 容器。 即使 Waydroid 窗口已经获得焦点,也可能出现以下情况: 这种情况下,直接通过命令行调整 Android …