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

本文介绍如何在不关闭应用程序的情况下从命令行重新启动GNOME Shell(仅X11)。
GNOME Shell只能在X11上重新启动而无需关闭所有应用程序(例如,在Ubuntu上默认使用)。在Wayland中(例如,默认情况下Fedora使用一个),因为GNOME shell是显示服务器,并且当显示服务器关闭时,所有正在运行的应用程序也会关闭。在Wayland中使用此功能将重新启动会话并关闭所有正在运行的应用程序。
要在GNOME Shell运行时(不崩溃)重新启动并保留所有正在运行的应用程序, Alt + F2然后输入 rEnter 键。
但是,如果您想从命令行重启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…")'

这是单个命令,请三键单击一行以将其选中。
这是GNOME Shell在运行时所做的 Alt + F2 然后输入 r,这是从命令行重新启动GNOME Shell的最佳方法。 H T 卢卡斯·沃克迈斯特 对于此命令。
如果由于某种原因该命令不起作用,这是另一个命令,需要重新启动GNOME Shell:

killall -HUP gnome-shell

这样可以保留一些正在运行的应用程序,但关闭其他应用程序。另外,如果继续运行,GNOME Shell将检测到您遇到了问题,禁用所有扩展并注销。因此,此命令并不完美。因此,除非确实需要,否则我们建议您不要使用此命令。
那么这个HUP信号做什么呢?这被发送到程序,要求程序重新启动并重新读取配置。
重新启动GNOME Shell的另一种方法是运行,该方法仅适用于GNOME Shell 3.28和更早版本。 gnome-shell --replace..从GNOME Shell 3.30开始,此操作已停止正常工作。在这种情况下,GNOME Shell将崩溃,并且您将被迫注销。

Sidebar