Systemdがターゲットユニットを再び隔離するように強制する

Systemdがターゲットユニットを再び隔離するように強制する

私の目標は、コマンドを使用してグラフィカルターゲットデバイスをプログラムで再実行することですsystemctl。 thisが利用可能であることを知っていますが、sudo systemctl isolate graphical.targetグラフィックターゲットがすでに有効になっている場合、このアプローチは機能しないようです。

現在アクティブな場合でも、グラフィックターゲットデバイスをきちんと起動する方法についてのガイドラインを探しています。

たとえば、systemdグラフを再起動する前にすべてのターゲットプロセス(+その他)を強制終了するコマンドです。システムを再起動したのとほぼ同じです。

これを達成するために、まず構造体に切り替えてからグラフisolateに戻ります。より良い解決策はありますか?

ベストアンサー1

systemctlのマニュアルページには、これがisolate危険であることが示されています。これは、単一のサービスを再起動する最善の方法ではない可能性があります。私のシステムにはgraphical.target252の依存関係があります。検疫が提案されているとおりに実行されると、すべてのシステムを再起動するよりもシステムを再起動する方が良い場合があります。

グラフィックインターフェイスをサポートする特定のサービスを見つけてrestartgraphic.targetを再起動するのではなく、特定のサービスを分離する代わりに使用する必要があります。

すべての依存関係を一覧表示できます。systemctl list-dependencies graphical.target 少なくともいくつかの可能なディスプレイマネージャを一覧表示できます。systemctl list-unit-files '*dm.service'

2つの可能な候補はlightdm.serviceまたはですgdm.service

たとえば、有効になっている場合(起動された可能性がある)、sudo systemctl restart lightdm.serviceグラフィカルインターフェイスが再起動されます。

おすすめ記事