Как навсегда отключить функцию «сохранить сессию» в Xubuntu?

10

Я использую Xubuntu 13.10 с xfce4-panel 4.10.1, и мои сеансы невольно сохраняются . Я хорошо знаю, что это ошибка, поэтому я хотел бы спросить, знает ли кто-нибудь обходной путь, чтобы навсегда отключить / удалить эту функцию (возможно, путем удаления / редактирования некоторых файлов)?

Я часами искал и перепробовал множество методов, но ни один из них не работал или, по крайней мере, не был постоянным. Некоторые вещи, которые я пробовал:

Как отключить сохранение сеанса Xfce для всей системы?
(Это в основном просто сняло флажок в приглашении на выход из системы)

Xubuntu повторно открывает приложения последнего сеанса, хотя это не должно происходить
(удаление кэшированных сеансов не было постоянным решением)

Буду очень признателен за вашу помощь!

Мое временное решение:
я создал простой скрипт bash и разместил панель запуска приложений (которая запускает скрипт при нажатии) на панели задач. Скрипт удалит каталог «~ / .cache / session» и выведет запрос на выход.

Сценарий можно найти здесь: http://pastebin.com/aqx483pn

В основном это будет кнопка, которую вы используете для выхода / перезагрузки / выключения.


Обновление: это происходит только в том случае, если вы добавили «перезапуск» в список в вашей «Действие кнопки» (кнопка с вашим именем пользователя, написанным на). Если вы перезапустите log out -> restartего, перезагрузите компьютер и не сохраняйте сеанс. Таким образом, временно решение выше не является необходимым, я оставлю его в качестве ссылки.

Dut
источник

Ответы:

8

Решение двухэтапное.

  1. Отключить Automatically save sessions on logoutв Settings > Sessions > General > Logout Settings. Также убедитесь, что вы отключили Save session for future loginsв Logout prompt(окно, которое появляется, когда вы фактически пытаетесь выйти).

    Видеть:

  2. Вам необходимо выйти, удалить содержимое ~/.cache/sessions, а затем войти в чистую сессию. (Вы также можете удалить текущий сеанс через Settings > Sessions > Session > Clear Saved Sessions.)

    Видеть:

landroni
источник
Как уже упоминалось, это ошибка. Я уже выключил каждую опцию, связанную с сессией, в тех, которые имеют графический интерфейс. Спасибо за ответ!
Dut
1
Вы пробовали решение без графического интерфейса?
Landroni
1
Да, я использовал это как временное решение. Проблема в том, что сеансы продолжают блокироваться, поэтому каталог сеанса и его файл продолжают возвращаться. (собираюсь обновить первый пост временно «решением», которое я сейчас использую)
Dut
Странный. Вы убедились, что удалили кеш после выхода из Xfce? В любом случае я не вижу описанного вами поведения (у меня отключены две соответствующие настройки). Возможно, вам повезет больше с 4.12, которую вы можете установить с launchpad.net/~xubuntu-dev/+archive/xfce-4.12 .
Landroni
1
Я вижу! думал, что это должно измениться. И да, я дважды проверил настройки клавиатуры, ничего необычного там нет. Я также нашел настоящего преступника теперь, когда я попробовал это на своем другом ноутбуке. Если вы добавите кнопку «перезагрузка» в список в «кнопке действия» и используете ее, она автоматически сохранит ваш сеанс после перезагрузки. Однако, если вы нажмете «перезагрузить» в меню «Выход» (xfce4-session-logout), это не сохранит ваш сеанс. Я просто должен избегать использования этого ярлыка, я думаю.
Dut
4

Удалить существующие сеансы:

$ rm .cache/session/*

Сделать каталог доступным только для чтения:

$ chmod -w .cache/session

Вы можете включить сохранение сеанса, предоставив право записи в каталог:

$ chmod +w .cache/session

(Протестировано с Xubuntu 14.04)

ern0
источник
Я думаю, что это проще и тоже хорошо работает.
bfrguci
2

Извините, если это не ответ, но я не могу комментировать.

У меня была такая же проблема с этой ошибкой. И я "решил" это с помощью "удалить часть" вашего скрипта:

#!/bin/bash

#edit.1: It will be launched by root, so we have to use full path here.
DIR=/home/USERFOLDER/.cache/sessions/

delete_sessions(){
    # Deletes whatever is in DIR
    rm -r -- "$DIR"
}

is_directory(){
    if [ -d "$DIR" ]; then
        delete_sessions
    else 
        echo "wtf man, it's not there?!"
    fi
}

is_directory 

Я выполняю этот модифицированный скрипт при перезагрузке и выключении.

Это можно настроить в соответствии с инструкциями на сайте: http://en.kioskea.net/faq/3348-ubuntu-executing-a-script-at-startup-and-shutdown

jirimertin
источник