从终端粘贴内容时应用程序卡顿挂起问题求助
诡异的终端复制粘贴卡顿挂起问题排查方案
问题描述
我遇到一个十分怪异的bug:有时从终端复制内容并粘贴到其他位置(如文本编辑器、浏览器标签页)时,会导致对应应用程序或浏览器标签页卡顿挂起。具体表现:
- 已在多个应用中测试,排除了单一应用的特定bug
- 有时需要强制终止进程恢复,有时等待1-2分钟后应用会自行响应
- 间隔一段时间后再次复制粘贴同一段文本,操作可能又能正常进行
- 问题无法稳定复现,但每天都会出现数次
系统环境
$ uname -a Linux 4.13.0-31-generic #34-Ubuntu SMP Fri Jan 19 16:34:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux $ gnome-shell --version # 注:原信息未完整输出,推测为GNOME桌面环境
排查与解决思路
1. 优先排查第三方剪贴工具冲突
GNOME桌面自带剪贴板功能,但如果安装了第三方剪贴板管理器(比如parcellite、clipit或GNOME扩展中的剪贴板插件),这些工具在处理特殊格式文本或大内容时可能触发死锁。
- 临时禁用所有第三方剪贴相关扩展/软件,观察问题是否消失
- 重置GNOME原生剪贴板设置:
gsettings reset org.gnome.desktop.interface clipboard-mode
2. 更换终端模拟器测试
不同终端的复制实现逻辑有差异,比如GNOME Terminal、Terminator、Konsole对文本格式的处理不同。
- 换用其他终端工具复制内容,看问题是否复现
- 检查当前终端的复制设置:关闭「复制时保留格式」选项,改用纯文本复制,部分应用对带格式的文本解析会卡顿
3. 清空剪贴板缓冲区
Linux有PRIMARY和CLIPBOARD两个剪贴缓冲区,若缓冲区内容损坏或体积过大,可能导致应用处理超时:
- 安装
xclip工具(若未安装):sudo apt install xclip - 执行命令清空两个缓冲区:
# 清空CLIPBOARD(Ctrl+C/Ctrl+V使用的缓冲区) echo -n "" | xclip -selection clipboard # 清空PRIMARY(选中即复制的缓冲区) echo -n "" | xclip -selection primary
4. 升级系统组件修复已知bug
你的内核(4.13.0-31)和Ubuntu版本属于已停止支持的旧版本,存在不少未修复的桌面与内核bug:
- 建议升级到长期支持版本(如Ubuntu 18.04 LTS),从根源解决旧版本的内存泄漏或死锁问题
- 若暂时无法升级,尝试更新GNOME Shell到当前版本的最新补丁:
sudo apt update && sudo apt upgrade gnome-shell
5. 卡顿瞬间监控进程状态
当问题出现时,立刻打开htop或系统监视器,查看目标应用、终端、gnome-shell的CPU/内存占用:
- 如果某个进程CPU占用100%,大概率是该进程的处理逻辑存在死循环,可针对该进程进一步排查
内容的提问来源于stack exchange,提问作者dayuloli




