我在使用 GNOME Shell 时一直遇到这个问题。以下错误已记录到日志中(使用 查看journalctl -f
)。我发现的唯一解决方案是退出 GNOME 会话并重新启动。
在 Google 和此网站上搜索会产生一系列报告,但我找不到任何关于(1)为什么会发生这种情况的摘要? 也无法找到(2)可以采取什么措施来解决或预防该问题?
还要注意,当这种情况发生时,UI 响应能力会下降,通常下降到几乎无法使用的程度。
JS ERROR: TypeError: windowActor is null _addWindowEffect@resource:///org/gnome/shell/ui/closeDialog.js:90:28 vfunc_show@resource:///org/gnome/shell/ui/closeDialog.js:162:14
PS JS 是指 Javascript 吗?如果是,为什么 GNOME Shell 中会有 Javascript?
- - 更新 - -
这里是grep -i gnome-shell /var/log/syslog*
:https://paste.ubuntu.com/p/MmNnRVQrzG/
输出ls -al ~/.local/share/gnome-shell/extensions
:
ls: cannot access '<snip>/.local/share/gnome-shell/extensions': No such file or directory
输出ls -al /usr/share/gnome-shell/extensions/
:
total 20
drwxr-xr-x 5 root root 4096 Apr 23 2020 .
drwxr-xr-x 7 root root 4096 Aug 18 06:47 ..
drwxr-xr-x 2 root root 4096 Aug 15 22:12 desktop-icons@csoriano
drwxr-xr-x 3 root root 4096 Jan 29 11:57 [email protected]
drwxr-xr-x 3 root root 4096 Jan 29 11:58 [email protected]
--- 另一个更新 --- https://extensions.gnome.org/local/
答案1
学习内容
几乎所有 gnome-shell 错误都是由于有缺陷的 gnome-shell 扩展造成的。
好消息是,你没有太多这样的扩展。
如果你重做我的grep
,稍加修改,如下:
grep -i gnome-shell /var/log/syslog* | grep -i extensions
您将找到很多包含与此代码片段类似的结果:
/usr/share/gnome-shell/extensions/desktop-icons@csoriano
猜猜哪个 gnome-shell 扩展有可疑?
做好工作
因此,我们将移除此扩展,并用替代品替换它。我会简化我的说明,因为你很terminal
聪明。
cd /usr/share/gnome-shell
sudo mkdir 扩展.HOLD
sudo mv extensions/desktop-icons@csoriano extensions.HOLD/[电子邮件保护]
重新启动 gnome-shell
去https://extensions.gnome.org/extension/2087/desktop-icons-ng-ding/并安装此扩展。
重新启动 gnome-shell
右键单击桌面并选择“设置”来设置首选项。
监控系统中当前时间之后的 gnome-shell 错误:
grep -i gnome-shell /var/log/syslog*
答案2
跟进
任何人找到这个问题和先前的答案,我有一个可能有帮助的更新。
我后来将响应问题归结为通知垃圾邮件,因此可能与错误无关windowActor is null
。
运行“回到过去”,有大量文件投诉(由于磁盘空间不足),它发送了大量通知,但“请勿打扰”模式已启用,所以我没有看到它们。通知垃圾邮件淹没了 gnome shell。
响应性问题的解决方案是修复磁盘空间问题,从而消除通知垃圾邮件的来源。