私の目標は、コマンドを使用してグラフィカルターゲットデバイスをプログラムで再実行することですsystemctl
。 thisが利用可能であることを知っていますが、sudo systemctl isolate graphical.target
グラフィックターゲットがすでに有効になっている場合、このアプローチは機能しないようです。
現在アクティブな場合でも、グラフィックターゲットデバイスをきちんと起動する方法についてのガイドラインを探しています。
たとえば、systemd
グラフを再起動する前にすべてのターゲットプロセス(+その他)を強制終了するコマンドです。システムを再起動したのとほぼ同じです。
これを達成するために、まず構造体に切り替えてからグラフisolate
に戻ります。より良い解決策はありますか?
ベストアンサー1
systemctlのマニュアルページには、これがisolate
危険であることが示されています。これは、単一のサービスを再起動する最善の方法ではない可能性があります。私のシステムにはgraphical.target
252の依存関係があります。検疫が提案されているとおりに実行されると、すべてのシステムを再起動するよりもシステムを再起動する方が良い場合があります。
グラフィックインターフェイスをサポートする特定のサービスを見つけてrestart
graphic.targetを再起動するのではなく、特定のサービスを分離する代わりに使用する必要があります。
すべての依存関係を一覧表示できます。systemctl list-dependencies graphical.target
少なくともいくつかの可能なディスプレイマネージャを一覧表示できます。systemctl list-unit-files '*dm.service'
2つの可能な候補はlightdm.service
またはですgdm.service
。
たとえば、有効になっている場合(起動された可能性がある)、sudo systemctl restart lightdm.service
グラフィカルインターフェイスが再起動されます。