Скрипт, вызванный Cron, частично выполняет свою работу

У меня следующая проблема. Я хотел бы, чтобы скрипт (/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) вместо корневой таблицы, но оттуда я не могу внести какие-либо изменения в корневой раздел.

0 ответов

Другие вопросы по тегам