web-dev-qa-db-ja.com

RHEL7で(gnome-classic)ウィンドウマネージャーを特定して再起動します

私は、システムを稼働させ続け、再起動の合間に長時間実行することに誇りを持っています。長時間実行されているRHEL7ワークステーションがあります。ときどき(通常は1か月間継続して実行されている場合)、ウィンドウマネージャーがクラッシュします。クラッシュとは、ウィンドウが「表示」されているが、タイトルバーやメニューなどがないことを意味します。マウスポインタは移動できますが、フォーカスは変更できません。

ただし、Alt-F1などを使用してターミナルセッションに切り替えることはできます。

以前のシステムでは、次のようなものを使用してウィンドウマネージャーを再起動できました。

metacity --replace

または

compiz --replace

これにより、ログアウトしなくてもセッションが復元されます。ただし、どのウィンドウマネージャーが実行されているのかわかりません。どうすればわかりますか?

以下を使用してdisplay managerを再起動できることを知っていることに注意してください。

systemctl restart display-manager

ただし、これにより新しいセッションが開始され、再度ログインする必要があります。これを行わずに、クラッシュしたwmプロセスだけを再起動できるようにしたいと思います。

ボンネットの下では、これはまだwaylandやmutterなどを使用したgnome3だと思います。実際には、もう再起動できる別のウィンドウマネージャーはありますか?そうでなければ、なぜそうではないのですか?

1
Bruce Adams

はい。ウィンドウマネージャーはまだあり、再起動できます。以下のように、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

wmctrlを使用して、使用されているウィンドウマネージャーを特定できます。これは現在、標準の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を示しています-シェルが実行されています。

>man gnome-Shell

は、gnome-Shellが--replace引数をサポートしているため、以前と同様にウィンドウマネージャーを再起動するために使用できることを示しています。

gnome-Shell --replace &
1
Bruce Adams