我用这个Python脚本在我的基于 Debian 的 Guru Plug 上,使其作为 Google Cloudprint 的打印服务器。有了这个,我可以使用PrinterShare
或等应用程序从我的 Android 设备进行打印Cloud Print
。它工作完美。
但是,如果由于某种原因必须重新启动插件计算机,我必须手动启动脚本。如果想让它在启动时自动启动,但到目前为止我还没有成功。
在/etc/rc.local
我有这一行:
/usr/bin/python /usr/local/bin/cloudprint -d
使用pgrep
我可以看到该脚本在启动时运行,但它不起作用。将输出消息重定向到日志文件表明它要求我提供 Google 用户名。
通常它不会要求身份验证,因为它存储在/root/.cloudprintauth
.但显然,当从 rc.local 运行时,它无法读取或找到该文件。
所以我的问题是:
如何使脚本能够在从 rc.local 运行时找到/读取身份验证文件?
答案1
不幸的是该脚本有授权文件路径硬编码的依赖主目录的shell扩展:
self.auth_path = os.path.expanduser('~/.cloudprintauth')
我的建议是您通过将该行更改为绝对路径来修补文件:
self.auth_path = os.path.expanduser('/root/.cloudprintauth')
希望它能成功。
答案2
这里有一组适用于 Debian 的软件包,可以帮助您完成此操作。
https://github.com/davesteele/cloudprint-debian
以 root 身份安装并运行“service cloudprintd login”。