Правильный способ настройки ~ / .Xsession с помощью автономного оконного менеджера для корректного завершения сеанса

4

я использую xdm и мой ~/.Xsession выглядит так:

# <initialization stuff here>

exec openbox

Это работает, но я заметил, что когда я выхожу Openbox не изящно убивает все приложения. Особенно Google Chrome жалуется на это.

Как я могу быть уверен, что дождался завершения всех процессов (как и другие конфигурации: Gnome, KDE, Windows ...)?

Единственный ( уродливый ) решение, которое я нашел, включает в себя sleep а также kill в ~/.Xsession,

cYrus
источник

Ответы:

1

Вам нужен менеджер сеансов, чтобы изящно убить приложения. openbox-session может делать что хочешь. В документах прямо сказано, что он не выполняет часть сеанса сохранения, но он может выполнять часть изящного уничтожения. openbox-gnome-session или же openbox-kde-session позволит вам использовать соответствующие менеджеры сессий при использовании openbox в качестве вашего оконного менеджера.

Karl Bielefeldt
источник
Попробовал это, ни за что, такое же поведение. Что еще я могу использовать в качестве менеджера сеансов? Я не вижу много (автономных) вариантов.
cYrus
1

Вот как я решил, я отредактировал ~/.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

Я не могу найти ничего лучше сейчас. Возможно, мне следует использовать менеджер сессий, но я не знаю, какой из них подходит для моего случая.

cYrus
источник