2012-07-31 100 views
2

我似乎无法获得wkhtmltopdf在用户帐户上工作。Wkhtmltopdf用户权限

作为根用户:

wkhtmltopdf -V 
wkhtmltopdf http://google.com google.pdf 

上述两种工作。但作为一个普通用户,我得到一个错误:

wkhtmltopdf -V 
wkhtmltopdf: error while loading shared libraries: libQtWebKit.so.4: cannot open shared  object file: No such file or directory 

显然,wkhtmltopdf工作并正确安装,因为它的工作原理为root用户,但不是所有的用户。

我已经尝试设置权限:

[[email protected] ~]# chmod 755 /root/wkqt/ 
[[email protected] ~]# chmod 755 /root/wkqt/lib/ 
[[email protected] ~]# chmod 755 /root/wkhtmltopdf-qt/ 
[[email protected] ~]# chmod 755 /root/wkhtmltopdf-qt/lib/ 
[[email protected] ~]# chmod 644 /root/wkqt/lib/*so* 
[[email protected] ~]# chmod 644 /root/wkhtmltopdf-qt/lib/*so* 

我也尝试添加到visudo

motorconne localhost=/bin/wkhtmltopdf 
motorconne localhost=/root/wkhtmltopdf-qt/lib/libQtWebKit.so.4 

但仍没有运气。有任何想法吗?

+1

你是否以root身份安装它? – 2012-07-31 12:32:02

+0

是的,它是作为根安装的 – garethhallnz 2012-07-31 21:56:24

+0

尝试安装它作为打算使用它的用户 – 2012-08-01 05:54:09

回答

2

我有完全相同的问题。

您可能在wkhtmltopdf维基上执行了安装步骤。原来libQtWebKit.so.4位于/root/wkqt/lib/目录下。 这意味着您的用户必须被授权进入该目录。

但是,很可能当您键入cd /root时,您将被拒绝访问root文件夹。

快速和肮脏的解决方案是授予访问根文件夹给任何人(是的,我说“快速和肮脏”)。例如:

sudo chmod a+rx /root 

很明显,这是远远不够完美的。在完美的世界中,您不会在root目录中安装wkqt库。相反/opt/wkqt会更合适。当您构建wkhtmltopdf-qt时,您可以通过更改configure命令行来做到这一点。例如:

./configure -nomake tools,examples,demos,docs,translations -opensource -prefix "/opt/wkqt" 

希望这有助于!