пятница, 28 октября 2011 г.

At

Оказалось, что штатная утилита at не способна запустить ни одну gui программу. Проблема в том, что переменная окружения DISPLAY не запоминается и не передается дочернему процессу - причем это даже описано в руководстве по at. Решением будет запоминать и передавать переменную DISPLAY принудительно.
echo export DISPLAY=$DISPLAY \&\& zenity --info --text \"Hello\" | at now + 1 minutes
Небольшой скрипт-напоминалка:
#!/bin/bash

if (( $# < 1 ))
then
    echo "Time for 'at' is not specified"
    exit -1
fi

echo export DISPLAY=$DISPLAY \&\& \(play -q /usr/share/sounds/ubuntu/stereo/dialog-information.ogg \&\) \&\& \
  zenity --info --title \"Alarm\" --text \"Notification for [$@]\" | at "$@"

Комментариев нет:

Отправить комментарий