Я хочу запустить/выполнить /usr/bin/FreeFileSync
(FFS) от моего crontab самое большее один раз в день, каждый раз, когда внешний резервный целевой объем смонтирован.
Для этого я использовал ответ @Germar: т.е. сценарий буферизации, который делает несколько опрятной работы по дому прежде, чем назвать маленький резервный сценарий как второй аргумент базовому имени сценария буферизации. Названный резервный сценарий (дочерний процесс) в свою очередь выполняет проверку и называет FFS (главный дочерний процесс).
Поскольку FFS открывает свой основной GUI на запуск, я думаю, что должен объявить stdout
например, как:
DISPLAY=:0.1; export DISPLAY # I have two screens
Мой вопрос состоит в том, должен ли я объявить свою переменную среды ДИСПЛЕЯ в рамках дочернего сценария или в рамках родительского сценария буферизации, который называет его?
Ответ @muru применяется в случае? Т.е. если я включаю оператор DISPLAY в рамках дочернего сценария, я должен получить его в родительском сценарии, зная, что я имею дело с переменной среды?
У Вас есть две опции:
можно использовать:
export DISPLAY=:0.1
в родительском сценарии. Поскольку мы используем export
, переменная будет наследована всеми дочерними процессами.
можно использовать:
DISPLAY=:0.1
в дочерней оболочке (если это называет дальнейшее использование подоболочек export
впереди). В этом случае как дочерний сценарий звонит FFS
, просто помещение DISPLAY
в дочернем сценарии будет достаточно.