0

我有以下问题。我希望脚本 (/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) 而不是根表,但是从那里我无法对根分区进行任何更改。

4

0 回答 0