unix
September 21, 2023

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

Шаг 3. Выходим из сессии и проверяем.

И вуаля! Больше никаких автозапускающихся приложений.