在 RHEL7 上识别并重新启动(gnome-classic)窗口管理器

在 RHEL7 上识别并重新启动(gnome-classic)窗口管理器

我为自己能够在重新启动之间保持系统长时间运行而感到自豪。我有一个长期运行的 RHEL7 工作站。有时(通常是连续运行一个月)窗口管理器会崩溃。我所说的崩溃是指窗口“可见”,但没有标题栏、菜单等。鼠标指针可以移动,但焦点无法更改。

不过,我可以使用 Alt-F1 等切换到终端会话。

在以前的系统上,我可以使用以下命令重新启动窗口管理器:

metacity --replace

或者

compiz --replace

这将恢复我的会话,甚至无需注销。但是,我不清楚哪个窗口管理器正在运行。我怎样才能找到答案?

请注意,我知道您可以重新启动展示经理使用:

systemctl restart display-manager

但这会启动一个新会话并要求您重新登录。我希望能够重新启动崩溃的 wm 进程而不执行此操作。

我认为在幕后这仍然是 gnome3 使用 wayland、mutter 或类似的东西。实际上是否有一个单独的窗口管理器我可以重新启动?如果不,为什么不呢?

答案1

是的。仍然有一个窗口管理器,您可以重新启动它。您可以确认您正在运行 gnome-classic,如下所示:

>set | grep DESK
DESKTOP_SESSION=gnome-classic
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
IMSETTINGS_INTEGRATE_DESKTOP=yes
XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME
XDG_SESSION_DESKTOP=gnome-classic

您可以通过在活动中输入“about”来识别版本(我的版本是 3.22.2),如下所示:

https://help.gnome.org/users/gnome-help/stable/gnome-version.html.en

您可以使用控制面板识别所使用的窗口管理器。目前标准的 Redhat 存储库中缺少此功能(https://bugzilla.redhat.com/show_bug.cgi?id=1326876)但可以从 nux-dextop 仓库获得(https://li.nux.ro/repos.html

>wmctrl -m
Name: GNOME Shell
Class: N/A
PID: N/A

然后:

>ps aux | grep -i shell

显示 gnome-shell 正在运行。

>man gnome-shell

显示 gnome-shell 支持 --replace 参数,因此可以像以前一样用于重新启动窗口管理器。

gnome-shell --replace &

相关内容