我目前正在尝试让 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 作业运行的一种方法:
- 在 ~/.bashrc 文件末尾添加以下命令:
export | egrep "DBUS_SESSION_BUS_ADDRESS|DISPLAY" > ~/.xsession-export
- 创建一个脚本来执行包含这些值的实际注销:
#!/bin/bash
. $HOME/.xsession-export
/usr/bin/xfce4-session-logout
...并使脚本可执行。
- 从你的 cron 作业中调用该脚本。
同时,我发现也可以使用以下命令来结束会话(对于 LXDE,也可以使用 lxsession):
pkill -SIGTERM -f xfce4-session