1

Я использую Geany IDE для программирования, и она не перезагружает мои ранее открытые файлы, например, после отключения питания. Я обнаружил, что у Geany есть функция командной строки, которая возвращает список всех открытых файлов в редакторе, поэтому я надеялся, что смогу быстро написать команду cron, которая будет автоматически сохранять этот список каждый час или около того.

В настоящее время у меня есть эта строка в моем crontab:

0 * * * * ~/bin/save_geany_files

и скрипт содержит только одну строку:

geany --list-documents > ~/geany_files.txt

Это не работает. Я заметил, что функция --list-documents Geany должна вызываться одним и тем же пользователем (я думаю), поэтому я попытался добавить «su - [myusername]» в сценарий, но, очевидно, su нельзя использовать из задания cron? Итак, я не знаю, как это автоматизировать. Я открыт для любых других решений моей проблемы, хотя опции / плагины Geany кажутся ненадежными (вот почему я попробовал это в первую очередь)

1 ответ1

1

Запустив crontab следующим образом:

0 * * * * ~/bin/save_geany_files 2> /tmp/geanyerror.log

Я нашел это сообщение об ошибке в /tmp/geanyerror.log:

Geany: cannot open display

Я решил это, добавив следующую строку в .bashrc:

xhost local:arune > /dev/null

(где arune - мое имя пользователя) и изменив мой crontab на

0 * * * * export DISPLAY=:0.0 && ~/bin/save_geany_files 2> /tmp/geanyerror.log

Мой собственный скрипт save_geany_files выглядит так:

#!/bin/bash
cp /home/arune/geany/savenew.txt /home/arune/geany/saveold.txt
/usr/bin/geany --list-documents > /home/arune/geany/savenew.txt

хранить "резервную копию" в течение одного дополнительного часа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .