我从圣诞节开始使用 Ubuntu,最近在使用 Ubuntu 终端时,输入出现延迟。使用 vim 或 man 命令时尤其如此,这很奇怪,因为我使用的其他软件在输入时都没有延迟,甚至 UTerm 和 UXTerm 也没有延迟。
我尝试过:
- 重启电脑
- 更新驱动程序
- 更改键盘输入
系统信息:
- 操作系统名称:Ubuntu 22.04.4 LTS
- 操作系统类型:64位
- Gnome版本:42.9
- 窗口系统:X11
答案1
现在有一个电力供应协议并尽早修复了该问题。警告:此 PPA 仅用于测试。不保证一定能解决问题。它可能会修复此问题并导致其他问题。使用时请自担风险。
对我来说,它解决了问题,一切似乎都正常。而且,它不会apt
像我之前的答案那样崩溃。
sudo add-apt-repository ppa:vanvugt/mutter
sudo apt update
sudo apt upgrade
更改将在系统重启后生效。
答案2
不幸的是,mutter
Ubuntu 中及其相关软件包的更新存在错误。开发人员已意识到此问题并正在努力解决。
上游 Mutter 问题:https://gitlab.gnome.org/GNOME/mutter/-/issues/3384
下游 Ubuntu 问题:https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/2059847
[请不要对这些错误添加毫无意义的噪音(例如“对我来说这也是错误的”),因为这只会分散开发人员的注意力,并使查找实际有用的信息变得更加困难。但是,如果您认为您有以前没有指出过的新内容要添加,请随时发表评论。]
以下是恢复到以前版本的方法。
更新 2(2024-04-25):Ubuntu 24.04 刚刚发布。它包含修复程序。不幸的是,较旧的 Ubuntu 版本(22.04 和 23.10)仍在等待此修复程序发布。
更新:最佳方法现在,参见 mikabytes 的回答:https://askubuntu.com/a/1509474/398785。下面是我之前的回答,不再是首选方法。
由于我无法测试,因此说明有些模糊,可能需要一些经验。欢迎对此答案进行编辑。
加油https://packages.ubuntu.com/,在上面的搜索框中输入“mutter”,然后选择你的发行版(但不是与其“-updates”或“-backports”对应的软件包)。您将获得一个(希望是完整的)从同一来源构建的软件包列表,例如mutter
、、等,所有mutter-common
软件包都具有相同的版本号。mutter-common-bin
libmutter-<version>
下载这些软件包,其中较新(已损坏)的软件包已安装在您的系统中。下载后,使用 降级它们sudo dpkg -i ...
。
降级后,将其“搁置”,以便下次apt upgrade
不会再次更新它们。echo mutter hold | sudo dpkg --set-selections
所有其他软件包也重复此操作。
最后,退出图形桌面并重新登录。
密切关注更新。一旦修复发布,请通过执行前面的命令(install
而不是)来将软件包从“保留”状态中移除hold
。然后照常升级系统。
答案3
编辑:现在有更好的解决方案,请参阅我的其他答案。我会保留下面的答案,包括评论,但我不会再花费时间了。
基于埃格蒙特的回答,这些是我为解决此问题而执行的确切命令。完成后,您需要重新启动计算机。
这将导致apt
暂时损坏状态。这是故意的。我们正在手动降级特定软件包。在最后运行恢复脚本之前,您将无法使用 apt。不要apt install --fix-broken
恢复之前运行mutter
,否则将损坏您的安装。
我在 Ubuntu 上测试过23.10
。其他用户报告说它适用于22.04
,但有一个用户在恢复系统时遇到了问题(见评论)。
取消注释适合您的行。
arch=$(dpkg --print-architecture) # one of amd64 arm64 armhf ppc64el riscv64 s390x
# Ubuntu 23.10
version="45.0-3ubuntu3"
package="13-0"
# Ubuntu 23.04
#version="44.3-0ubuntu1.1" # only amd64
#version="44.0-2ubuntu4" # other archs
#package="12-0"
# Ubuntu 22.04
#version="42.0-3ubuntu2"
#package="10-0"
wget -nc http://se.archive.ubuntu.com/ubuntu/pool/main/m/mutter/libmutter-${package}_${version}_$arch.deb
wget -nc http://se.archive.ubuntu.com/ubuntu/pool/main/m/mutter/mutter-common_${version}_all.deb
if [ "$package" != "10-0" ]; then
wget -nc http://se.archive.ubuntu.com/ubuntu/pool/main/m/mutter/mutter-common-bin_${version}_$arch.deb
fi
sudo dpkg -i *mutter*.deb
echo libmutter-$package hold | sudo dpkg --set-selections
稍后,当上游修复了此问题并且您想要升级时,请运行以下命令来恢复系统:
echo libmutter-${package} install | sudo dpkg --set-selections
sudo apt update && sudo apt --fix-broken upgrade
答案4
对于任何想要快速解决此问题的用户,我发现 Konsole 不是基于 GTK/mutter 的,因此不存在此问题。Konsole 可以通过软件商店安装在 Gnome 上。