xdm
を使用していますが、~/.Xsession
は次のようになります。
# <initialization stuff here>
exec openbox
動作しますが、ログアウトしたときにOpenbox
がすべてのアプリケーションを正常に強制終了しないことに気付きました。特にGoogle Chrome
はそれについて不平を言っています。
すべてのプロセスが終了するのを確実に待つにはどうすればよいですか(他の構成と同じように:Gnome、KDE、Windows ...)?
私が見つけた唯一の(醜い)解決策は、sleep
とkill
を~/.Xsession
に含めることです。
アプリケーションを正常に強制終了するには、セッションマネージャが必要です。 openbox-session
あなたが望むことをするかもしれません。ドキュメントには、セッションの保存部分は実行しないと明示的に記載されていますが、正常に強制終了する部分は実行される可能性があります。 openbox-gnome-session
またはopenbox-kde-session
は、ウィンドウマネージャーとしてopenboxを使用しながら、それぞれのセッションマネージャーを使用できるようにします。
これが私が解決した方法です、私はこのように~/.Xsession
を編集しました:
# <initialization stuff here>
openbox-session &
WM_PID=$!
sleep 0.5 # time needed to start openbox
# <autostart applications here>
wait $WM_PID
for i in `ps -u $USER -o pid= | grep -v $$` ; do
kill $i
done
sleep 1 # grace time
今ではこれ以上良いものは見つかりません。セッションマネージャーを使用する必要があるかもしれませんが、どちらが私の場合に適しているかわかりません。