今天工作机遇到了这个问题,就记录一下。
解决方案看这里
sudo apt install metacity
metacity --replace&
排查过程
一开始查到鼠标是由xserver-xorg-input-all这个包控制的,但是我的机器上有这个包,因此尝试了重装,没能解决问题。
sudo apt reinstall xserver-xorg-input-all
然后查到别人说用 unity --replace &和metacity --replace& 解决,但是这两个命令我的机器上都没有,就尝试装了一下,最终执行了metacity --replace& ,问题解决。
sudo apt install metacity
metacity --replace&
原因分析
我们先来看一下Metacity是什么,man手册里面是这样写的
NAME
METACITY - minimal GTK3 Window Manager
METACITY - 小型的GTK3窗口管理器
DESCRIPTION
This manual page documents briefly metacity.
本手册页简要介绍了Metacity。
metacity is a minimal X window manager aimed at nontechnical users and
is designed to integrate well with the GNOME desktop. metacity lacks
some features that may be expected by traditional UNIX or other techni‐
cal users; these users may want to investigate other available window
managers for use with GNOME or standalone.
Metacity是一个面向非技术用户的最小X窗口管理器,
旨在与GNOME桌面很好地集成。
Metacity缺少一些传统的Unix或其他技术用户所期望的特性;
这些用户可能希望研究其他可用于GNOME或独立的窗口管理器。
手册里写到的“缺少一些传统的Unix或其他技术用户所期望的特性”是指Metacity不像GNOME以前的窗口管理器,它没有多少可配置的选项,它是为非技术用户设计的。
OPTIONS
--replace
a window manager which is running is replaced by metacity.
Users are encouraged to change the GNOME window manager by run‐
ning the new WM with the --replace or -replace option, and sub‐
sequently saving the session.
当前正在运行的窗口管理器会被metacity替换。
用户被鼓励用--replace选项替换当前正在运行的GNOME窗口管理器。
替换后当前会话会被保存。
所以metacity --replace&是通过替换当前窗口管理器的方式解决了鼠标问题。
一些小插曲
其实我一开始执行的是这条语句…
metacity --replace
当时也解决了这个问题,但是我后面出于好奇把这个进程杀掉了,我的窗口就彻底不能动了,鼠标和键盘都无法输入,只有当前的会话还保留着。鼠标还可以打开开始菜单。
被迫重启。
重启之后查资料找到了问题的答案
https://askubuntu.com/questions/12682/why-does-metacity-replace-hang-my-system-but-metacity-replace-is-fine
运行metacity --replace不会使它作为守护进程运行。如果您按 Ctrl-C 或以其他方式停止该 metacity进程的运行(关闭终端也会这样做),您将没有窗口管理器。这就是你失去窗户装饰的原因。我不确定为什么键盘会停止工作(我的猜测是,一旦关闭窗口管理器,窗口的新更新,比如打字,就不会被绘制到屏幕上),但我已经对此进行了测试,如果你按下Ctrl +Alt+F1你仍然可以拖放到帧缓冲区。很明显,键盘并没有完全停止工作,事实上,如果你点击一个菜单项,gnome-terminal你可以使用向上和向下箭头来导航它。
您应该在包装器中运行 metacity,例如screen,当您需要从终端启动它然后关闭您使用的终端窗口时。只需运行screen metacity --replace并按 Ctrl+A+D 即可从screen进程中分离。
是因为我杀掉metacity之后当前就没有窗口管理器了。
感悟
我经常遇到鼠标失灵的问题,之前都是重启lightdm解决,今天有心情仔细查了一下原因,感觉学到了很多。
这种生活中经常遇到的问题里面其实也包含了很多知识,不放过工作中遇到的小问题才能学到更多呀。
有些人工作十年是有了十年的经验,有些人工作十年只是把前两年的经验翻来覆去用而已,像我之前重启lightdm的做法就是后者吧,我要保持警惕啊。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)