我遇到了与此处类似的问题,我的仪表板和顶部面板无法加载。
尝试从终端注销时(因为没有可使用的顶部菜单栏),但出现此错误:
~$ gnome-session-quit
** (gnome-session-quit:6288): WARNING **: Failed to call logout: GDBus.Error:org.gnome.SessionManager.NotInRunning: Logout interface is only available during the Running phase
发生这种情况时,除了重新启动计算机之外,我还有其他方法可以注销吗?
怎么样
sudo service lightdm restart
?这应该会停止显示管理器,有效地让您退出,再次启动 lightdm,您应该立即进入登录屏幕。
不优雅,但你可以试试这个:
这会给你至少一行输出。每一行将是进程 ID 编号,后跟一个空格,然后是启动进程的确切和完整的命令字符串。您可能可以分辨出哪个(假设有多个)进程是 gnome 会话并将其杀死:
或者如果这抱怨权限(但我认为不会)
其中 NUMBER 是 ps 命令显示给您的进程 ID 号。
如果这种情况经常发生,您可以更改第二个 grep 以便它在整个命令字符串上查找完全匹配的内容,以便仅显示您要杀死的一个进程。这将是与输出中的 gnome 会话相对应的行上的进程 ID 号后面的字符串
我不能告诉你它会是什么,因为我不使用 gnome,而且我不确定每个 gnome 系统无论如何都会使用完全相同的字符串。可能有一些不同的选项。将该字符串放入提取进程号并将其终止的脚本中。像这样:
通过使用整个命令字符串,您消除了杀死您真的不想杀死的某个进程的任何可能性,因为它具有“gnome”作为启动它的命令字符串的一部分。
将脚本命名为易于记忆的名称,例如“killgnome”。将其放在路径上的目录中。“/usr/local/bin/”将是一个相当传统的地方。使其可执行。通过在终端或运行框中输入其名称来调用它。
如果您有的话,这将注销您并带您回到您的“显示管理器”(gui 登录对话框)。如果您没有运行默认设置并且避开了显示管理器(它们真的完全没有必要),它也会停止 X,给您留下登录提示。或者至少这就是它与 Openbox 一起工作的方式。可能他们都是这样工作的。