почему я не получаю выход из zenity в сценарии оболочки в gnome-schedule

Я использую Fedora Linux 12 и намереваюсь скоро обновиться до последней версии. Чтобы подготовиться к этому, я сделал полную резервную копию на внешнем диске. Я хочу сохранить эту резервную копию в актуальном состоянии, используя rsync, с системой, описанной в: http://webgnuru.com/linux/rsync_incremental.php .

Чтобы запланировать резервное копирование, я хочу использовать gnome-schedule, а также выдавать заверяющие сообщения на экран моего компьютера со зрением.

Я тестирую это в небольшом масштабе, прежде чем я передам все свое драгоценное для него, и вот список моего сценария оболочки. Обновления работают отлично, поэтому мой вопрос: почему я не получаю выход из команды zenity в конце?

 #!/bin/bash # Adapted from: http://webgnuru.com/linux/rsync_incremental.php # Website Backup Script #====================================================================== # Define Variables # Todays date in ISO-8601 format eg 2013-10-19: DAY0=`date -I` # Yesterdays date in ISO-8601 format: DAY1=`date -I -d "1 day ago"` # The source directory: SRC="/home/Harry/testrsync/bravo/" # The target directory: TRG="/home/Harry/testrsync/backups/$DAY0" # The link destination directory: LNK="/home/Harry/testrsync/backups/$DAY1" #The rsync options: OPT="-avh --delete --link-dest=$LNK" #====================================================================== #Execute the backup rsync $OPT $SRC $TRG #Delete old backups cyclically # for my tests I am going to use a three day cycle DAY4=`date -I -d "4 days ago"` #Delete the backup from 4 days ago, if it exists if [ -d /home/Harry/testrsync/backups/$DAY4 ] then rm -r /home/Harry/testrsync/backups/$DAY4 fi zenity --info --text='Backup complete' --title="Backup Test" 

Я нашел ответ, после двух дней борьбы с тайным синтаксисом и неясными ссылками.

В справочном документе для Gnome Schedule говорится:

 9.2. Setting DISPLAY variable for tasks that will launch once When you are creating or modifying a task, you can define the DISPLAY variable in the script text box. Make the definition at the beginning of the script. 9.3. Setting DISPLAY variable for tasks that will launch recurrently Gnome Schedule does not support yet setting environment variables for recurrent tasks, but it will do soon. In the meantime, you can manually create a script that first defines DISPLAY variable and then calls the graphical application. Finally, you can create a recurrent task to launch the script. 

Соответственно, я создал файл скрипта fred.sh с содержимым:

 #!/bin/sh DISPLAY=:0.0 #home/Harry/testrsync/trial_bak.sh testrsync/trial_bak.sh 

и использовал скрипт fred.sh в качестве запланированной задачи. Я назвал скрипт тестовой задачи в моем вопросе trial_bak.sh . Обратите внимание, что скрипт, вызванный из fred.sh должен быть fred.sh через домашний каталог, то есть в качестве последней строки, не указанной выше. Теперь он работает, и я получаю нужное информационное окно.

Обратите внимание, что это означает, что предварительный просмотр «запускается один раз» в конфигурации Gnome Schedule может работать, как это смущающе для меня (я думаю, что он может использоваться вместо cron ), но он должен быть проверен как повторяющаяся задача.

Сначала я добавил DISPLAY=:0.0 к последней строке скрипта в вопросе, но позже нашел, что не было необходимо

Я использовал xdpyinfo | less xdpyinfo | less чтобы проверить, что использовать в DIPSPLAY=... , тем less нужно, потому что огромная масса информации сбита.

Наконец, я описал то, что обнаружил, и не утверждаю, что оно является окончательным или полным или даже полностью правильным. Меня интересовала бы любая дополнительная информация, которую каждый может добавить,