LINUX.ORG.RU

awesome-client и crontab

 ,


2

1

не работает такой cron

#!/bin/bash
touch ~/test/zcron
export DISPLAY=:0.0
echo 'show_mess("message")' | awesome-client

вернее cron срабатывает (проверяю тачем). не работает

echo 'show_mess("message")' | awesome-client

отдельно (в терминале) show_mess(«message») работает. на форумах говорят проблема в export DISPLAY=:0.0 пробовал так

* * * * * export DISPLAY=:0 && home/ditibal/scripts/send_mess.sh

всё равно не работает

awesome-client это просто обертка к dbus-send. Может быть cron не может подключиться к сессионной шине dbus? Не знает адреса или не достаточно прав. Попробуйте кроме дисплея еще export DBUS_SESSION_BUS_ADDRESS=адрес-шины-на-которой-висит-awesome.

liaonau
()
Ответ на: комментарий от liaonau

Вроде можно вот так сделать:

. /home/ditiball/.dbus/session-bus/*-0 # импортируем адрес шины dbus
export DISPLAY=:0.0
echo 'show_mess("message")' | awesome-client

"-0" там обозначает номер дисплея.

jeuta ★★★★
()
[fjfalcon@laptop ~]$ crontab -l
* * * * *  DISPLAY=:0.0 feh --bg-max "$(find ~/wallpaper/|shuf -n1)"
* * * * *  mailcounter
[fjfalcon@laptop ~]$ 
[fjfalcon@laptop ~]$ cat /usr/bin/mailcounter 
#!/bin/bash
java -jar /java/MailCounter.jar| aw-client
[fjfalcon@laptop ~]$ 
[fjfalcon@laptop ~]$ cat /usr/bin/aw-client
 #!/bin/bash 
 if [[ -z "$DBUS_SESSION_BUS_ADDRESS" ]]; then # Looks like we are outside X
     eval $(tr '\0' '\n' < /proc/$(pgrep awesome | head -1 )/environ | sed -e 's/^/export /') #export all environment variables
 fi
 /usr/bin/awesome-client
[fjfalcon@laptop ~]$ 

Суть в последнем блоке кода.

fjfalcon ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.