如何在不关闭任何应用程序的情况下从命令行重新启动 GNOME Shell(仅限 X11)

本文解释了如何从命令行重新启动 GNOME Shell,而不关闭任何应用程序(仅限 X11)。

GNOME Shell 可以在不关闭所有应用程序的情况下重新启动,仅在 X11 上(例如在 Ubuntu 上默认使用); 在 Wayland 下(这就是 Fedora 例如默认使用),GNOME Shell 是显示服务器,如果显示服务器出现故障,所有正在运行的应用程序也会关闭,所以这不起作用。 如果您在 Wayland 下使用它,会话将重新启动,关闭所有正在运行的应用程序。

我假设您已经知道,当 GNOME Shell 正在运行时(它没有崩溃),您可以通过按重新启动它并保持所有正在运行的应用程序
Alt + F2

,然后键入
r

并按下
Enter

钥匙。

但是,如果您想在不关闭所有应用程序的情况下从命令行重新启动 GNOME Shell,该怎么办? 这在脚本中很有用,或者将命令附加到键盘快捷键,以便您可以重新启动 GNOME Shell,以防它冻结/无响应等。

相当于按下的命令行 Alt + F2 然后打字 r 如下(因此此命令会重新启动 GNOME Shell 而不关闭任何正在运行的应用程序):

busctl --user call org.gnome.Shell /org/gnome/Shell org.gnome.Shell Eval s 'Meta.restart("Restarting…")'