Xfce и его проклятые сессии
Еще одна точечная статья про решение одной конкретной проблемы. Как обычно из тяжелой жизни линуксоидов.
Краткий ликбез
Есть такой класс софта, по названием Desktop Environment, «окружение рабочего стола» если по-русски.
Это одна или несколько программ, обеспечивающих графическое рабочее окружение пользователю в этих ваших линуксах и BSD.
Запускается сразу после авторизации, обычно автоматически из какого-нибудь Deskop Manager, вроде моего любимого XDM.
Вообщем этот самый Xfce4 — ярчайший представитель DE софта, используемый повсеместно в любых юниксах. Одно время его использовал даже лично Линус Торвальдс.
Я тоже его использую много лет и гораздо чаще чем какие-либо другие окружения, поскольку это некий компромисс между совсем уж полной минималистичностью вроде Fvwm или JWM и большими окружениями вроде KDE и Gnome.
Проблема
В Xfce есть одна давняя проблема, которую ввиду ее концептуальности авторы не хотят исправлять:
Xfce сохраняет текущую сессию даже при cнятой галочке в настройках.
Вообщем оно не работает: любой сбой или выход из сессии без вызова logout и сессия остается а все приложения запускаются заново.
Что мешает, когда у вас тупо запускаются штук 10 терминалов (естественно без содержимого и в домашней папке).
Решение
К сожалению решение представляет собой очередной хак, который вполне может давать «side-effects» — те сломать что-то еще в работе Xfce или других DE.
Тем не менее оно реально работает и проблем пока замечено не было.
Итак, что мы делаем, по шагам.
Шаг 1. Удаляем текущую сессию (из-под обычного пользователя, не root):
rm -rf ~/.cache/sessions/*
Шаг 2. Снимаем бит записи (убираем право на запись в каталог):
chmod -w ~/.cache/sessions