通过 Cron 注销 XFCE 失败,并显示“无法获取名称所有者”

通过 Cron 注销 XFCE 失败,并显示“无法获取名称所有者”

我目前正在尝试让 Xubuntu 在用户闲置 2 分钟后注销。但是这不起作用。我使用命令xfce4-session-logout --logout它在命令行中运行良好,但在使用 cron 时出现错误

Could not get owner of name 'org.xfce.session manager' No such Name

我猜是缺少了某些环境变量或类似的东西,但 Google 上没有找到任何东西。你能帮忙吗?

谨致问候,菲利普

系统:Raspberry Pi 2

操作系统:Xubuntu 15.10

答案1

以下是来自 Xfce 论坛的 ToZ 的回答:

cron 无法访问用户的 X 或 dbus 环境。以下是让 xfce4-session-logout 从 cron 作业运行的一种方法:

  1. 在 ~/.bashrc 文件末尾添加以下命令:
    export | egrep "DBUS_SESSION_BUS_ADDRESS|DISPLAY" > ~/.xsession-export
  1. 创建一个脚本来执行包含这些值的实际注销:
    #!/bin/bash
    . $HOME/.xsession-export
    /usr/bin/xfce4-session-logout

...并使脚本可执行。

  1. 从你的 cron 作业中调用该脚本。

同时,我发现也可以使用以下命令来结束会话(对于 LXDE,也可以使用 lxsession):

pkill -SIGTERM -f xfce4-session

相关内容