如何使用 cron 或其他方式自动保存 Geany 中打开的文件列表?

如何使用 cron 或其他方式自动保存 Geany 中打开的文件列表?

我使用 Geany IDE 进行编程,但它无法可靠地重新加载我之前打开的文件,例如在断电后。我发现 Geany 有一个命令行功能,可以返回编辑器中所有打开文件的列表,所以我希望可以快速编写一个 cron 命令,每隔一小时左右自动保存该列表。

我的 crontab 中目前有这一行:

0 * * * * ~/bin/save_geany_files

脚本仅包含一行:

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

这不起作用。我注意到 Geany 的 --list-documents 功能必须由同一个用户调用(我认为),所以我尝试将“su - [myusername]”添加到脚本中,但显然 su 不能在 cron 作业中使用?所以,我不知道如何自动化。我愿意接受任何其他解决方案来解决我的问题,尽管 Geany 选项/插件似乎不可靠(这就是我首先尝试这个的原因)

答案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

额外存储一小时的“备份”。

相关内容