如何在Linux系统全局禁用鼠标中键粘贴功能?
如何在Linux系统全局禁用鼠标中键粘贴功能?
我太懂这种烦恼了!Linux默认的中键粘贴机制(用独立的选择缓冲区)确实经常添乱——比如在网页应用里不小心点了中键,之前选中的内容直接糊上去,完全不是想要的操作。一个个程序去改设置又太麻烦,下面给你几个全局生效的解决方案,覆盖不同桌面环境和显示服务器的情况:
通用Xorg环境方案(大部分旧版Linux桌面用这个)
方法1:用xmodmap修改按键映射
这种方法能直接把中键的功能废掉,步骤很简单:
- 在家目录创建一个
.Xmodmap文件,内容写:
这里是把原本的中键(按钮2)映射到一个无效的按钮编号25,让它失去粘贴功能。pointer = 1 25 3 4 5 6 7 8 9 10 11 12 - 让配置生效,运行命令:
xmodmap ~/.Xmodmap - 要开机自动生效的话,可以把这个命令加到你的启动项里:比如GNOME的「启动应用程序」、Xfce的「会话和启动」,或者在
~/.xinitrc里添加该行命令。
方法2:用xinput直接禁用中键
这个方法更灵活,能针对特定鼠标设备操作:
- 先找到你的鼠标设备ID,运行命令:
在输出里找到你的鼠标(比如「Logitech M570」),记下它的ID号(比如xinput list10)。 - 运行命令禁用中键:
这里的xinput set-button-map 10 1 0 310是你的鼠标ID,1是左键,0表示禁用中键,3是右键,其他按钮保持默认。 - 同样,把这个命令加到系统启动项里,下次开机就自动生效了。
GNOME桌面(支持Wayland和Xorg)
GNOME 3.36以上版本自带了全局关闭中键粘贴的选项,两种方式都能操作:
- 图形界面操作:打开「GNOME优化工具」(gnome-tweaks),找到「键盘和鼠标」栏目,关掉「中键粘贴」的开关就行。
- 命令行操作:直接在终端运行:
这个命令立即生效,不用重启。gsettings set org.gnome.desktop.peripherals.mouse middle-button-enabled false
KDE桌面
KDE的设置很直观,几步就能搞定:
- 打开「系统设置」→「输入设备」→「鼠标」,切换到「按钮」标签页。
- 找到「中键动作」,把它改成「无」,应用设置后就全局禁用了。
- 也可以用命令行快速设置:
设置完注销再登录就能生效。kwriteconfig5 --file kdeglobals --section Mouse --key MiddleButtonAction 0
Xfce桌面
Xfce的操作也很简单:
- 打开「设置管理器」→「鼠标和触摸板」,切换到「按钮」标签页。
- 找到中键对应的动作,选择「无」,点击「应用」就搞定了。
小提醒
如果你的系统用的是Wayland显示服务器(现在很多新发行版默认用这个),xmodmap和xinput的方法可能不管用,这时候优先用桌面环境自带的设置(比如GNOME的gsettings、KDE的系统设置),这些是原生支持Wayland的方案。
备注:内容来源于stack exchange,提问作者Ruslan Oblov




