4

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

# <initialization stuff here>

exec openbox

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

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

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

2 ответа2

1

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .