Frage Ordnungsgemäße Methode zum Konfigurieren von ~ / .Xsession mit einem eigenständigen Fenstermanager zum ordnungsgemäßen Beenden einer Sitzung


Ich benutze xdm und mein ~/.Xsession sieht aus wie das:

# <initialization stuff here>

exec openbox

Es funktioniert, aber ich habe das bemerkt, wenn ich mich abmelde Openbox tötet nicht anmutig alle Anwendungen. Bestimmtes Google Chrome beklagt sich darüber.

Wie kann ich sicherstellen, dass alle Prozesse beendet werden (genau wie andere Konfigurationen: Gnome, KDE, Windows ...)?

Das einzige (hässlich) Lösung, die ich gefunden habe beinhaltet sleep und kill in ~/.Xsession.


4
2017-08-25 20:29


Ursprung




Antworten:


Sie benötigen einen Sitzungsmanager, um die Anwendungen ordnungsgemäß zu beenden. openbox-session kann tun, was Sie wollen. Die Dokumente sagen ausdrücklich, dass sie den Teil der Speicherungssitzung nicht ausführen, aber sie können den Teil mit der korrekten Ausführung töten. openbox-gnome-session oder openbox-kde-session Sie können die jeweiligen Sitzungsmanager verwenden, während Sie openbox als Ihren Fenstermanager verwenden.


1
2017-08-26 18:50



Versuchte das, auf keinen Fall, dasselbe Verhalten. Was kann ich sonst noch als Session Manager verwenden? Ich kann nicht viele (unabhängige) Entscheidungen treffen. - cYrus


So habe ich es gelöst, ich habe es bearbeitet ~/.Xsession diesen Weg:

# <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

Ich kann jetzt nichts Besseres finden. Vielleicht sollte ich einen Session Manager verwenden, aber ich weiß nicht, welcher zu meinem Fall passt.


1
2017-08-26 22:42