我遇到了键盘快捷键冲突的问题(按下键而不是释放键时会触发事件)。(这是一个非常老的问题,对于使用 2 个或更多键盘布局的用户来说很常见)。
这个问题有一个X server
补丁。我想应用它,但我不知道如何正确执行。
此评论中的解决方案:
作为一名普通的 Gentoo Linux 用户,我:
- 下载此问题附带的名为“相同补丁,但基于 1.19.1(已修复)”的补丁到目录中/etc/portage/patches/x11-base/xorg-server/
- 运行emerge xorg-server
以重新安装应用此补丁的 Xorg
- 重新启动 X 以享受工作热键 :)
问:你如何(正确地)修补X server
?Ubuntu
(我目前正在使用Ubuntu 24.04
。)
在终端:
获取来源
git clone https://gitlab.freedesktop.org/xorg/xserver
进入克隆的目录
cd xserver
git checkout branch-name
。在稳定性方面没有太大影响,因为 xserver 现在几乎没有开发活动(因为人们大多转移到 Wayland)。但如果补丁不适用,您可能必须切换到某个较旧的分支。将补丁放到当前目录(例如通过使用 下载
wget url-to-the.patch
)应用它:
git am -3 your.patch
。值得注意的是,有时人们会错误地将 diff 称为“补丁”。两者之间的最大区别在于 α)
git-am
会抛出文件格式错误 β) 应用 diff 的效果比应用补丁更差,因为 git 无法查看历史记录以查找重命名和其他更改,这些更改可能会弄乱 diff 的应用,但 git 可以很好地处理。git apply your.diff
如果它实际上是一个差异而不是一个补丁,就必须使用它。请注意,如果应用补丁/差异应用程序的代码已更改,则该应用程序可能会失败。在这种情况下,您可以做两件事:1. 手动解决冲突 2. 使用
git checkout …
查找可用的 XServer 版本。进一步的步骤超出了您的问题范围,但基本上您必须使用 编译 xserver
meson setup build --prefix=/usr […other options…] && ninja -C build
,制作一个包(这很重要,因为否则系统更新可能会覆盖文件),然后安装它。在配置 meson 时不要忘记传递--prefix=/usr
选项(如上一句所示)。有关从构建中创建包的脚本示例,您可以查看此答案的底部,或者您可以使用checkinstall
。有关 XServer 中 meson 配置选项的示例,您可以查找此块。