gpilot-install-file 在 cron 作业中吗?

gpilot-install-file 在 cron 作业中吗?

我有一个 cron 作业,它会生成一些 .pdb 文件,我想在下次同步时自动将它们排入安装队列。不幸的是,我无法让 gpilot-install-file 在 cron 作业中工作。它需要显示(为什么?),所以我给了它一个“--display=:0.0”选项。然后它抱怨它无法获取 PDA 列表,所以我给了它一个“--pilot=MyPDA”选项。

/usr/bin/gpilot-install-file --later --display=:0.0 --pilot=MyPDA myfile.pdb

现在我明白了:

(gpilot-install-file:4959): gpilotd-CRITICAL **: gnome_pilot_client_install_file: 断言 `self->gpilotddaemon!=NULL' 失败

有没有办法让它工作,或者是否有其他方法可以通过 cron 作业将文件放入 gnome-pilot 的安装队列?

答案1

“gpilotd”守护进程是否正在运行?似乎仍缺少一些gpilot-install-file需要执行其工作的环境变量。将env桌面终端中的命令输出与envcron 中的运行进行比较。(您已经确定了一个必需的差异:“DISPLAY”变量。)

有时需要 D-Bus 服务环境(“DBUS_SESSION_BUS_ADDRESS”)等。尝试定义一些东西,直到它正常工作。要从正在运行的桌面会话中提取这些变量,您可以从中读取它们/proc

xargs -0 -n1 < /proc/$(pidof gnome-session)/environ | grep what-you-need

相关内容