我有以下问题。我希望脚本 (/usr/local/bin/script.sh) 由 Cron 运行并更改其中一个目录的根分区上的某些内容,然后显示通知 (kdialog)。
我的问题是,如果我将 Cron 规则添加到根表 ( sudo -u root crontab -e
),则规则如下所示:
/home/$USER/monitoring_path IN_MODIFY sudo -u root /bin/bash /usr/local/bin/script.sh $@ $# $%
该脚本对根分区进行了更改,但拒绝显示通知。
如果我将 Cron 规则添加到 $USER 表 ( sudo -u "$USER" crontab -e
) 并且规则如下所示:
/home/$USER/monitoring_path IN_MODIFY sudo -u "$USER" /bin/bash /usr/local/bin/script.sh $@ $# $%
此脚本显示通知,但不想向根分区写入任何内容。
脚本中的 kdialog 通知如下所示:
DISPLAY=:0 sudo -u "$USER" DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus \
kdialog --icon "${THEME_PATH}preview.png" \
--title "SDDM" \
--passivepopup "Text..."
为什么它不从根 crontab 显示?
我希望将规则添加到用户表 ( sudo -u $USER crontab -e
) 而不是根表,但是从那里我无法对根分区进行任何更改。