Terminal 和 Nautilus 在崩溃后停止工作

Terminal 和 Nautilus 在崩溃后停止工作

发生了一些非常严重的问题,我正在开发的 C++ 程序崩溃后,我的终端和 nautilus(文件)停止了工作。

我设法安装了 Terminator(另一个 shell 模拟器),当我尝试从 Terminator 启动终端时得到的结果如下:

(gnome-shell:779): Clutter-CRITICAL **: 01:49:35.532: 无法初始化 Clutter:无法初始化 Clutter 后端:未找到可用的驱动程序。 (gnome-shell:779): mutter-WARNING **: 01:49:35.532: 无法初始化 Clutter。

这是我启动 Nautilus 时得到的结果(顺便说一句,我可以从 Terminator 启动它,但不能通过单击图标启动它)

** (nautilus:445): 警告 **: 01:48:33.021: AT-SPI: 无法获取桌面路径或名称 ** (nautilus:445): 警告 **: 01:48:33.026: AT-SPI: 无法获取桌面路径或名称 ** (nautilus:445): 警告 **: 01:48:33.031: AT-SPI: 无法获取桌面路径或名称

.....该错误又重复了10-15次....

** (nautilus:445):警告 **:01:48:33.509:AT-SPI:无法获取桌面路径或名称 ** (nautilus:445):警告 **:01:48:33.509:AT-SPI:无法获取桌面路径或名称

关于如何让一切恢复正常,有什么指示吗?

编辑:重启后它仍然存在。

答案1

我今天开始遇到与您描述的相同问题,似乎是无缘无故的。我在这个帖子中找到了解决方案:https://forums.linuxmint.com/viewtopic.php?t=279168

(供后人参考)首先安装 Terminator 或 Xterm 以获得可工作的终端。打开 Synaptic Package Manager 并在那里安装它。

检查主文件夹中文件的权限

find $HOME ! -user $USER

特别要注意以下文件.dbus

您可以使用以下命令一次性解决所有权限

sudo chown -Rc $USER:$USER $HOME

此外,我删除了 中的文件$HOME/.dbus/session-bus,删除了 Chrome 远程桌面及其数据,$HOME/.config/chrome-remote-desktop然后重新启动。我的假设是 Chrome 远程桌面在更新期间自行重新启动,并以 root 身份在主文件夹中写入了一些文件。

答案2

正如上面的答案所提到的,目录 ~/.dbus/ 很重要。如果它不存在,请创建它。

如果这也没有帮助,请设置环境变量NO_AT_BRIDGE=1

答案3

在与 chromoting 团队合作后https://bugs.chromium.org/p/chromium/issues/detail?id=988902,以下是我所了解到的:

Gnome(可能还有 XFCE 和其他)目前还不能很好地处理同一用户的多个会话。

在这种情况下,添加 Chrome 远程桌面会导致创建默认的 Gnome 会话,可以使用 CRD 客户端连接到该会话。由于第二个会话最初是在本地会话之后创建的,因此本地会话上的一切似乎都很好,并且问题可能在下次重新启动之前完全不会被注意到。

但是,重启后,远程会话会在启动时运行,并获取通常用于本地会话的资源。这可能包括 dbus 套接字、音频系统、用户的密钥环,以及我可能未找到的其他资源。

由于这些对于稍后启动的本地会话不再可用,因此任何需要使用它们的应用程序或功能都会失败,并且除非您知道在哪里可以找到相关日志,否则显然是悄无声息的。

目前建议的解决方法是将 CRD 配置为使用不同的会话类型,例如通过创建具有所需配置的 ~/.chrome-remote-desktop-session 文件。

chromoting 团队有一个补丁,他们将在新版本中推出,预计该补丁将显著改善用户体验。

相关内容