1 (13.12.2013 19:00:13 отредактировано researcher)

Здравствуйте. В общем надо выводить сообщение при изменении текстового файла, но дело в том что скрипт при запуске ничего не показывает, а если запускать его из терминала вручную - работает.
Конфиг incrontab:

/home/admin/Documents/1.txt IN_MODIFY,IN_NO_LOOP /home/admin/Documents/scripts/upd.sh

Содержимое upd.sh:

notify-send 'update' 'new update'

Пробовал и

kdialog --msgbox "update"

, аналогично.
Что я делаю не так?
Содержимое лога:

Dec 13 15:59:12 localhost incrond[8767]: (admin) CMD (/home/admin/Documents/scripts/upd.sh)

P.S. Fedora 19 x86_64

2

researcher пишет:

Содержимое upd.sh:
notify-send 'update' 'new update'

#!/bin/bash

в начале присутствует?

Да, у меня Ubuntu.
Нет, не глючит.

3 (13.12.2013 20:25:11 отредактировано researcher)

-=Serj=- пишет:
researcher пишет:

Содержимое upd.sh:
notify-send 'update' 'new update'

#!/bin/bash

в начале присутствует?

Было

#!/bin/sh

Но тем не менее, это ничего не меняет.

4

researcher, в качестве разделителя в правиле incron везде 1 пробел?

Да, у меня Ubuntu.
Нет, не глючит.

5

researcher, попробуйте изменить upd.sh так:

#!/bin/sh
export DISPLAY=:0.0
notify-send 'update' 'new update'
Да, у меня Ubuntu.
Нет, не глючит.

6

-=Serj=- пишет:

researcher, в качестве разделителя в правиле incron везде 1 пробел?

Конечно.

7

-=Serj=- пишет:

researcher, попробуйте изменить upd.sh так:

#!/bin/sh
export DISPLAY=:0.0
notify-send 'update' 'new update'

К сожалению, не помогло. Пробовал напрямую в incrontab указывать содержимое скрипта, без результата.

8

Решил проблему допиливанием скрипта, может быть кому понадобится:

#!/bin/sh
export "DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$(ps -au admin | grep -i "startkde" | awk '{ print $1 }')/environ | sed -e 's/DBUS_SESSION_BUS_ADDRESS=//')"
export DISPLAY=:0.0
notify-send 'Update' 'New Update'

P.S: Для Gnome, startkde заменяем на gnome-session.