如何在kde中自动注销用户?

如何在kde中自动注销用户?

我的电脑中有两个用户,即我(user1),即具有 sudo 权限的用户。我希望用户2在12:00从他的kde会话中注销,这样他就无法阻止它,并且当他稍后登录时所有应用程序都在那里。

我尝试使用 cron,作为 user2、me 和 root,就像这样

00 12 * * * qdbus org.kde.ksmserver /KSMServer logout 0 0 0

我还尝试以root身份执行cron,就像这样

00 12 * * * user2 qdbus org.kde.ksmserver /KSMServer logout 0 0 0

两个都没有工作

答案1

您必须将DISPLAY变量设置为cron独立于 GUI 运行。

 00 12 * * * user2 DISPLAY=:0 qdbus org.kde.ksmserver /KSMServer logout 0 0 0

答案2

@FelixJN 好吧,不知何故,我设法丢失了 @224843 帐户的密码和邮件,我将继续这个。 echo $DISPLAY给我:0,添加 qbus 的完整路径并没有解决它,但搜索journalctl我发现:

CROND[2332]: (user2) CMD (DISPLAY=:0 qdbus org.kde.ksmserver /KSMServer logout 0 0 0)
CROND[2331]: (user2) CMDOUT (Could not connect to D-Bus server: org.freedesktop.DBus.Error.NotSupported: Using X11 for dbus-daemon autolaunch was disabled at compile time, set your DBUS_SESSION_BUS_ADDRESS instead)
CROND[2331]: pam_unix(crond:session): session closed for user user2

仅当我使用时才会发生这种情况,sudo crontab -u user2 -e如果我使用/etc/crontab日志中没有任何内容

附:

sudo crontab -u user2 -l
00 12 * * * DISPLAY=:0 qdbus org.kde.ksmserver /KSMServer logout 0 0 0

cat /etc/crontab
00 12 * * * user2 DISPLAY=:0 qdbus org.kde.ksmserver /KSMServer logout 0 0 0

相关内容