从 xinput 到 KWin:Wayland 下 Linux 输入设备管理发生了什么

引言 长期使用Linux桌面的用户,对 xinput 通常并不陌生。 在X11环境中,可以使用它查看鼠标、触控板和键盘: 也可以修改属性: 然而切换到Wayland后,原先有效的命令可能完全没有作用。即使 xinput list 仍能输出一些设备,它看到的也通常只是XWayland兼容层,而不是整个桌面的真实输入设备状态。 这种变化不是工具失效,而是输入架构发生了根本改变。 一、X11下的输入模型 在传统X11桌面中,X Server是整个图形会话的核心。 键盘和鼠标事件大致经过: 应用程序可以向X Server查询: xinput 本质上就是一个X11客户端。它通过X Input Extension读取和修改X Server中的设备属性。 因此,X11下常见配置包括: 或者: 二、Wayland改变了控制边界 Wayland并不是一个替代X Server的单一程序,而是一套协议。 在Wayland桌面中,真正管理屏幕、窗口和输入设备的是合成器。 KDE Plasma中的合成器是: 输入事件大致经过: 应用程序不能再像X11时代那样自由读取所有全局输入信息。 普通Wayland应用通常无法: 这些限制是Wayland安全模型的一部分。 三、为什么Wayland下xinput仍然存在 Wayland桌面通常会启动XWayland,用于运行旧X11应用。 XWayland相当于在Wayland环境中提供一个兼容X Server。 因此可以形成两条路径: 以及: 此时执行: 看到的是XWayland内部的逻辑设备,而不是KWin直接管理的全部真实输入设备。 修改XWayland中的属性,最多只影响X11兼容应用,通常无法改变原生Wayland应用中的鼠标行为。 四、libinput也不是统一配置中心 另一个常见误解是:Wayland使用libinput,所以直接修改libinput即可。 libinput主要负责: 但libinput本身不负责维护整个桌面的用户配置文件。 不同桌面合成器会分别决定: 在KDE Plasma中,用户配置最终由KWin应用。 …

KDE Wayland 自然滚动不生效:问题可能不在设置,而在设备节点

引言 在 KDE Plasma Wayland 中开启“自然滚动”后,鼠标滚轮方向可能完全没有变化。 系统设置界面显示选项已经启用,配置文件中也可能存在: 但浏览器和文件管理器仍然按照传统方向滚动。 这种现象不一定是 KDE 没有保存配置,也不一定是 libinput 不支持自然滚动。更常见的原因是:设置写到了错误的逻辑设备节点。 一、一个鼠标不一定只有一个输入节点 Linux通过 /dev/input/event* 暴露输入设备。 一个普通USB鼠标可能只有一个指针节点,但无线鼠标、蓝牙鼠标和多功能接收器经常生成多个设备: 这些名称看起来相似,但用途完全不同。 其中可能分别负责: KDE会按设备名称、vendor ID、product ID保存设置。如果自然滚动配置写到了 Consumer Control 节点,而真正滚轮来自另一个 Mouse节点,实际滚动方向就不会变化。 二、为什么设置界面容易选错设备 系统设置通常会列出多个相似设备名称。用户看到“2.4G Mouse”后开启自然滚动,但当前真正产生滚轮事件的设备可能叫: 两者甚至可能来自两个不同的USB接收器。 KWin保存的配置段类似: 例如: 如果实际鼠标对应: 前面的配置就不会应用到当前设备。 三、不要单独相信 libinput list-devices 常见检查方式是: 输出中可能看到: 但这并不能证明 KWin 当前没有启用自然滚动。 libinput list-devices 创建的是自己的 libinput 上下文,显示的是设备默认值或该上下文中的状态。KWin在Wayland会话中拥有独立的运行时配置。 因此应区分: KDE …

KDE Plasma 从 X11 迁移到 Wayland:真正需要检查什么

引言 从 X11 切换到 Wayland,表面上只是更换登录界面中的会话类型,实际上却涉及整个 Linux 桌面输入、显示和窗口管理机制的变化。 在 X11 环境中,应用程序可以直接获取窗口、键盘、鼠标和屏幕信息;而在 Wayland 环境中,这些能力大多由桌面合成器统一控制。对于 KDE Plasma 来说,这个合成器就是 KWin。 因此,完成登录并看到桌面,并不代表迁移已经结束。鼠标、输入法、显示缩放、窗口规则、绘图板、截图、录屏和旧自动化脚本,都可能需要重新检查。 本文整理一套较完整的 KDE Plasma Wayland 迁移检查思路。 一、先确认当前会话确实是 Wayland 最基本的检查是: 正常结果应为: 也可以检查 KWin 进程: 通常会看到: 其中,kwin_wayland 表示 Plasma 当前运行在 Wayland 模式;Xwayland 是兼容旧 X11 应用的服务,并不代表系统仍然运行在完整的 X11 桌面会话中。 二、重新检查输入设备 Wayland 下,鼠标和触控板不再由 xinput 直接管理,而是由 KWin 调用 libinput 处理。 …

Waydroid:在 Linux 桌面上运行安卓应用的现实方案

Linux 桌面已经能够完成绝大多数日常工作,但仍然存在一个长期缺口:许多服务只提供 Android 或 iOS 客户端,没有原生 Linux 版本。 一些应用可以通过网页版替代,但也有不少程序依赖移动端通知、扫码、触摸界面、Android 专用协议或移动平台生态。过去遇到这类需求时,通常只能准备一台实体安卓设备,或者在 Linux 中运行 Android 虚拟机。 Waydroid 提供了第三种方案:直接在 Linux 容器中运行一套完整的 Android 系统,并将其中的应用整合进 Linux 桌面。 截至 2026 年 7 月,Waydroid 官方最新版本为 1.6.3,当前系统镜像基于 Android 13 和 LineageOS 20。Arch Linux 也已经将 Waydroid 直接收入官方 Extra 仓库,不再需要通过 AUR 安装。 Waydroid 是什么 Waydroid 并不是传统意义上的安卓模拟器。 传统模拟器往往需要模拟一套完整硬件,例如虚拟 CPU、显卡、主板、存储设备和网络设备。Android 系统运行在虚拟硬件之上,Linux 主机与 …

KDE 在 X11 与 Wayland 下的窗口坐标为什么完全不同

从 KDE Plasma 的 X11 会话迁移到 Wayland 会话后,很多用户都会遇到一个看似奇怪的问题: 原本在 X11 下设置好的窗口位置、窗口大小、屏幕分区和精确坐标,到了 Wayland 下几乎全部失效。即使显示器没有更换,分辨率仍然是同一个数值,窗口规则中的坐标也往往无法直接沿用。 这并不一定是配置错误,而是因为 X11 和 Wayland 对“屏幕坐标”和“窗口尺寸”的定义本来就不一样。 X11 更接近物理像素坐标 在传统的 X11 环境下,窗口管理器通常基于 X Server 提供的根窗口坐标系工作。 假设显示器的分辨率是: 那么整个桌面的坐标范围通常也接近: 如果希望一个窗口占据屏幕右半边,可以将窗口设置为: 在这种模式下,窗口坐标与屏幕物理像素往往比较接近。即使系统调整了字体 DPI,或者应用内部进行了界面缩放,窗口管理器看到的桌面坐标空间通常仍然保持原始分辨率。 因此,在 X11 环境中,使用固定坐标管理窗口相对直观。许多基于 wmctrl、xdotool 或 KWin 窗口规则的配置,也都是按照这种思路设计的。 Wayland 使用逻辑坐标 Wayland 的设计不同。 在 Wayland 环境中,系统会区分至少三种概念: 其中,KWin 在管理窗口位置和大小时,主要使用的是逻辑坐标,而不是直接使用显示器的物理像素。 例如,一台显示器的物理分辨率仍然是: 如果系统缩放设置为 150%,那么 …

DNS-01 证书验证原理:为什么证书可以在另一台主机上申请

在部署 HTTPS 时,常见做法是在网站服务器上直接运行 Certbot,并通过 HTTP 或 HTTPS 端口完成域名验证。 但在一些网络环境中,网站服务器可能无法稳定访问证书颁发机构,也可能不方便开放 80 或 443 端口。此时,可以将证书申请过程放到另一台网络条件更好的主机上,再通过 DNS TXT 记录证明域名控制权。 这种方式称为 DNS-01 验证。 本文介绍 DNS-01 的工作原理,以及为什么域名、网站服务器和证书申请主机可以相互独立。 一、证书申请实际上在验证什么 申请 HTTPS 证书时,证书颁发机构最关心的问题不是: 证书申请程序运行在哪台服务器上? 而是: 申请者是否真正控制这个域名? 只要能够证明对域名拥有控制权,证书就可以在任意一台能够连接证书颁发机构的计算机上申请。 例如,可以存在如下架构: 这三者不需要处于同一台机器,也不需要处于同一网络或同一国家。 二、DNS-01 验证涉及的角色 DNS-01 验证通常涉及四个角色。 1. 域名 例如: 域名本身只是一个名称,由 DNS 系统负责解析。 2. 权威 DNS 服务器 权威 DNS 保存该域名的正式解析记录,例如: DNS-01 …

Arch Linux KDE HiDPI 环境下统一桌面与登录界面鼠标光标的完整记录

在 HiDPI 显示器上使用 Linux 桌面环境时,鼠标光标的大小和图标主题有时并不会在所有阶段保持一致。尤其是在 KDE Plasma、SDDM 登录管理器、X11 会话共同存在的环境中,可能会出现这样的现象: 本文记录一次针对特定 HiDPI 硬件环境的光标统一定制过程。设备信息已脱敏,仅保留与显示效果相关的参数。 环境背景 系统环境大致如下: 该显示器属于 4K HiDPI 场景。如果系统整体按约 150% 缩放理解,常见 24 像素光标按比例放大后约为: 因此,最终目标不是随意放大光标,而是让光标大小与 HiDPI 缩放比例保持一致。 问题现象 最初 KDE 桌面和 SDDM 登录界面都已设置为光标大小 32。使用一段时间后,32 在 27 英寸 4K 屏幕上显得略小,因此决定将光标大小调整为 36。 调整后,桌面光标明显变大,但登录界面仍然存在不一致现象: 这说明系统中至少存在多个阶段的光标来源: 只修改 KDE 桌面设置,无法完全覆盖 SDDM 和系统默认阶段。 第一步:确认 KDE 桌面光标配置 KDE 用户会话的光标设置位于: …

在 Windows 11 Pro 上启用 OpenSSH Server,并通过 Linux 公钥远程管理

Windows 11 Pro 原生支持 OpenSSH Server。启用后,可以从树莓派、Linux 服务器或其他 SSH 客户端远程登录 Windows,并直接执行 PowerShell 命令。 本文记录一套完整流程,包括: 本文以日语界面的 Windows 11 Pro 为例,敏感信息均使用示例值。 一、安装 OpenSSH Server Windows 可以通过 PowerShell 安装 OpenSSH Server,也可以通过图形界面安装。 在实际操作中,PowerShell 查询可选组件时可能长时间无响应: 如果命令一直卡住,甚至 Ctrl + C 也无法终止,可以直接关闭 PowerShell 标签页,改用 Windows 设置安装。 日语界面路径: 搜索: 选择后点击: 注意不要选成: 客户端通常已经预装,而远程登录 Windows 所需的是服务器组件。 二、启动 SSH 服务 安装完成后,以管理员身份打开 Windows …

Windows 外置启动环境中,U 盘和 SD 卡插入后不显示的排查与解决

在一台通过 USB 外置固态硬盘启动的 Windows 11 电脑上,出现了一个比较特殊的问题: 最终确认,这并不是 USB 接口、驱动或 U 盘本身损坏,而是 Windows 当前系统的 SAN 策略导致新接入的磁盘被自动设为离线。 一、最初现象 系统安装在 USB 外置固态硬盘中,Windows 本身可以正常启动和使用。 插入普通 U 盘后,系统会发出设备连接提示音,但资源管理器中没有出现新的盘符。 初步怀疑包括: 二、检查 USB 设备和磁盘状态 在 PowerShell 中执行: 结果显示: 接着检查磁盘: 发现新接入的 U 盘状态为: 这说明设备没有损坏,而是被 Windows 主动设成了离线和只读。 三、排除 USB 存储驱动和组策略问题 检查 USB 存储驱动: 正常结果为: 0x3 表示 USB 存储驱动正常启用。 如果显示为 …

用 SD 卡制作 macOS Ventura 启动盘,并建立多系统双重救援方案

对于只有一台主力电脑、没有备用设备的使用环境,提前准备系统启动盘非常重要。 当系统无法启动、引导损坏或磁盘需要修复时,如果手边没有现成的启动介质,就可能需要临时寻找另一台电脑重新制作工具盘。为了避免这种情况,可以同时准备 U 盘主用介质和 SD 卡备份介质,形成一套独立的系统恢复方案。 本文记录使用 USB 读卡器和 16GB SD 卡制作 macOS Ventura 启动安装盘的完整过程,并整理一套覆盖 macOS、Windows、Linux 和多系统引导修复的启动介质方案。 一、准备工作 所需物品包括: 制作过程中,SD 卡上的全部数据都会被删除。 如果电脑同时连接了其他 U 盘、移动硬盘或外置系统盘,建议先拔掉与本次操作无关的存储设备。这样可以减少选错磁盘的风险。 如果不能拔掉其他设备,则必须仔细核对目标磁盘的: 二、识别目标 SD 卡 插入 SD 卡和读卡器后,打开“终端”,运行: 这个命令只会列出外接物理磁盘,不会修改任何数据。 输出可能类似: 其中: 代表目标 SD 卡。 这里的 diskN 只是示例。实际编号可能是 disk2、disk5、disk6 或其他值,必须以当前电脑的实际输出为准。 进一步检查目标设备: 应重点确认: 只有在容量、协议和设备类型全部正确时,才能继续操作。 三、格式化 SD 卡 确认目标设备编号后,运行: 参数含义如下: …