如何永久禁用 Xubuntu 中的“保存会话”功能?

如何永久禁用 Xubuntu 中的“保存会话”功能?

我正在运行 Xubuntu 13.10 和 xfce4-panel 4.10.1,我的会话总是被不由自主地保存。我很清楚这是一个错误,所以我想问一下是否有人知道解决方法永久禁用/删除此功能(也许通过删除/编辑一些文件)?

我花了几个小时搜索,并尝试了很多方法,但都没有奏效,或者至少不是永久的。我尝试过的一些方法:

如何关闭系统范围内的 Xfce 会话保存?
(这基本上只是删除了注销提示中的复选框)

Xubuntu 重新打开了上一个会话应用程序,尽管它不应该重新打开
(删除缓存的会话不是永久的解决方案)

我将非常感谢您的帮助!

我的暂时解决办法:
我创建了一个简单的 bash 脚本,并在任务面板上放置了一个应用程序启动器(按下时运行脚本)。该脚本将删除“~/.cache/sessions”目录并提示注销。

该脚本可以在这里找到: http://pastebin.com/aqx483pn

基本上,这将是您用来注销/重启/关机的按钮。


更新:仅当您在“操作按钮”(写有用户名的按钮)的列表中添加了“重新启动”时,才会发生这种情况。如果您重新启动它,log out -> restart它应该会正常重新启动并且不会保存您的会话。因此,上面的临时解决方案是不必要的,我将把它留在那里作为参考。

答案1

解决方案分为两步。

  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。)

    看:

答案2

删除现有会话:

rm .cache/session/*

使目录只读:

chmod -w .cache/session

您可以通过授予目录的写权限来启用会话保存:

chmod +w .cache/session

使用 Xubuntu 14.04 测试。

答案3

如果这不是答案,我很抱歉,但我无法发表评论。

我也遇到过同样的问题。我使用脚本的“删除部分”功能“解决”了这个问题:

#!/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

我在重启和关机时执行这样修改的脚本。

可以根据说明进行设置这里

答案4

一种(粗暴的)方法是修补/usr/bin/xfce4-session

搜寻xfce4-session

objdump -D /usr/bin/xfce4-session | grep '<gtk_toggle_button_set_active@plt>$' -B2

   2319b:   8b 74 24 24             mov    0x24(%rsp),%esi
   2319f:   48 89 c7                mov    %rax,%rdi
   231a2:   e8 f9 04 ff ff          call   136a0 <gtk_toggle_button_set_active@plt>

根据文献

void gtk_toggle_button_set_active (
  GtkToggleButton* toggle_button,
  gboolean is_active
)

如果我们传递FALSEis_active 切换按钮被禁用

这可以通过修补来实现

这些字节8b 74 24 24与这些31 f6 90 90

结果如下

objdump -D /usr/bin/xfce4-session | grep '<gtk_toggle_button_set_active@plt>$' -B4

   2319b:   31 f6                   xor    %esi,%esi
   2319d:   90                      nop
   2319e:   90                      nop
   2319f:   48 89 c7                mov    %rax,%rdi
   231a2:   e8 f9 04 ff ff          call   136a0 <gtk_toggle_button_set_active@plt>

相关内容