cron 中的工作如下:
* * * * * non-root-user export DISPLAY=:0.0; zenity --info
并且每分钟在非root用户的桌面上显示一个zenity对话框。
但如果我执行以下操作:
* * * * * root export DISPLAY=:0.0; zenity --info
它不起作用 - 0.0 显示屏上没有显示任何内容。我做错了什么?
答案1
您违反了 X-windows 安全规定!请参阅man Xsecurity
、man xauth
和man xhost
,但在短期内,您可以允许本地系统上运行的任何 UID 访问您的 X 显示器,方法是:
xhost +localhost
作为具有显示的会话中的非 root UID。