如何关闭系统范围内的 Xfce 会话保存?

如何关闭系统范围内的 Xfce 会话保存?

我们正在使用运行 Xubuntu 的终端服务器。由于我们在保存会话方面遇到了一些问题,因此我们想完全关闭会话保存功能。

到目前为止,我们已经能够将默认设置设置为不保存会话,但在注销屏幕中仍然可以保存会话。是否可以完全关闭会话保存功能(系统范围),这样我们的用户就不会“意外”使用它?

答案1

(使用 Xubuntu 12.04 进行测试,但安装了适用于 Xfce 4.10 和 4.12 的 ppa,但我讨论的选项适用于 Xfce 4.8)

有一种方法可以全局禁用保存会话的选项,最好的方法是使用Xfce 信息亭模式。可用的 kiosk 模式选项之一隐藏在 的源代码中xfce4-session,是SaveSession。如果我们查看/home/mike/xfce4-session-4.10.0/xfce4-session/xfsm-shutdown.c,我们可以看到未记录的设置:

/* check kiosk */
  shutdown->kiosk_can_save_session = xfce_kiosk_query (kiosk, "SaveSession");

首先,使用以下命令创建 kiosk 目录

sudo mkdir /etc/xdg/xfce4/kiosk

然后使用文本编辑器创建并编辑 kioskrc:

sudo nano /etc/xdg/xfce4/kiosk/kioskrc

将以下内容放入您的kioskrc

[xfce4-session]
SaveSession=NONE

现在,保存更改并注销并以您的用户身份再次登录以进行测试。保存会话的复选框选项应该已经消失。

在应用设置之前,该框仍然可用:

在此处输入图片描述

之后,在信息亭模式处于活动状态时,该选项不再可用:

在此处输入图片描述

如果您希望使用信息亭模式全局禁用其他设置(例如关机或挂起功能等),请参阅我的回答:

答案2

misterich 的黑客手段对我来说也没用,不知为何它仍然可以写入会话文件夹

我的解决方案:

  1. rm -rf "$HOME/.cache/sessions"

  2. 触摸“$HOME/.cache/sessions”

现在有一个名为“sessions”的文件而不是“sessions”文件夹,因此它无法再向其中写入文件。

答案3

我遇到了同样的问题,但@user76204 提供的解决方案对我没有帮助。

我的细节

$ uname -ir && lsb_release -a && xfce4-about -V

3.13.0-24-generic x86_64 No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04 LTS Release: 14.04 Codename: trusty xfce4-about 4.11.1 (Xfce 4.10)

我的解决方案

我完全承认这是一个丑陋的黑客行为

  1. 清除会话目录:
    find "$HOME/.cache/sessions" -type f -print0 | xargs -0 rm -f
  2. 通过设置八进制权限来删除写入权限"$HOME/.cache/sessions"
    chmod 500 "$HOME/.cache/sessions"

因此,会话无法保存。但是,这种方法有一个优点:如果你在稍后的会话中设置的某件事:

  1. 重置文件夹的权限
    chmod 700 "$HOME/.cache/sessions"
  2. 启动 XFCE 会话管理器:
    xfce4-session &
  3. 设置/保存/配置任何内容...
  4. 保存会话
  5. 通过设置八进制权限来删除写入权限"$HOME/.cache/sessions"
    chmod 500 "$HOME/.cache/sessions"

相关内容