В cron работает следующее:
* * * * * non-root-user export DISPLAY=:0.0; zenity --info
И каждую минуту отображает диалоговое окно zenity на рабочем столе пользователя без полномочий root.
Но если я сделаю следующее:
* * * * * root export DISPLAY=:0.0; zenity --info
это не сработает - ничего не отображается на дисплее 0.0. Что я делаю не так?
Вы столкнулись с проблемой безопасности X-windows! См. man Xsecurity
, man xauth
и man xhost
, но в краткосрочной перспективе вы можете разрешить любому UID, работающему в вашей локальной системе, доступ к вашему дисплею X, выполнив: ваш некорневой UID из сеанса с дисплеем.