web-dev-qa-db-ja.com

コマンドを使用してXServerセッションを閉じる方法

私はdebian8.5コンピューターを持っています。新しいセッションを作成するには、コマンドstartxを実行します。このコマンドを使用すると、新しいセッションが作成されます。コマンドを使用してこのセッションを閉じ、前のセッションに戻るにはどうすればよいですか?

3
Pavel

Xセッションのマスタープロセスを強制終了します。マスタープロセスは、xinitの子として人生で始まったプロセスです。つまり、~/.xinitrc(通常はシェルスクリプトです)です。通常、.xinitrcが最後に行うことは、ウィンドウマネージャーまたはセッションマネージャーを呼び出すことです(例:twmfvwmgnome-session、…)。

プロセスIDを記憶するために、それを環境変数に入れることができます。たとえば、これは.xinitrcにあります。

export XSESSION_PID="$$"
…
exec my-favorite-window-manager

このように、my-favorite-window-managerの「exit」コマンドを使用するか、このXセッションの任意のシェルからkill $XSESSION_PIDを実行して終了できます。

または、D-BusとD-Bus対応のウィンドウ/セッションマネージャーを実行するのに十分な知識がある場合は、D-Busを介してコマンドを送信することで、ログアウトすることを通知できます。 dbus経由でターミナルからログアウトする普遍的な方法 を参照してください