Пока не починят, выход вижу только один: control pam_mktemp disabled
В противном случае получается куча багов.
Практический пример:
При логине юзера через текстовую консоль или su- создается каталог TMPDIR, подозреваю, что через pam_mktemp. Таким образом рутом будет создан /tmp/.private/user и переданы на него права юзеру. Обратите внимание, что у /tmp/.private при этом будет владелец рут. Теперь юзер2 входит через графику, TMPDIR у него будет либо /tmp, либо /home/user2/tmp, а TMP - /tmp/.private/user2, при этом физически /tmp/.private/user2 отсутствует и создать его возможности у юзера нет.
Далее все зависит от особенностей работы конкретного приложения.
1) В идеальном варианте, приложение ищет временный каталог через TMPDIR и тогда все хорошо.
2) Теперь вариант похуже, но тоже рабочий. Приложение получает временный каталог через TMP, убеждается, что его нет или что создать его невозможно (/tmp/.private/ - рутовый!) и переходит на TMPDIR, все довольны, все счастливы
3) А теперь суровая правда жизни. Приложение получает временный каталог через TMP, пытается его создать, или сразу в него пишет файлы, обламывается и вываливается с ошибкой, как вариант - зависает.
Есть и вариант 2.5, который обычно срабатывает вместо варианта 3, если переменная TMP отсутствует. Тогда приложение начинает перебирать TEMP, TMPDIR и т.п., пока не находит одну из таких переменных, после чего все развивается по варианту 2. Вот тут и поможет control pam_mktemp disabled
Но это все - костыли, проблему надо решать на уровне дистрибутива.