HOME 对 libreoffice 以非 root 用户身份转换为 pdf 的影响

HOME 对 libreoffice 以非 root 用户身份转换为 pdf 的影响

我安装了 libreoffice-headless,可以在以 root 身份登录时转换文档。然后我尝试以另一个用户身份执行此操作,并没有显示错误,但没有转换文件。然后我发现,如果我摆脱HOME=/tmp/ayb,它就可以与其他用户一起使用。HOME=/tmp/ayb如果未指定,是否只是允许文件默认到此目录?(抱歉,我尝试搜索“Linux HOME”,但正如您可能预料的那样,收到了一堆不相关的结果)。如果不是,指定 的目的是什么HOME?为什么设置会HOME阻止它在非 root 用户上进行转换?请注意 /tmp 和 /tmp/ayb 或两者 0777。谢谢

[root@desktop ~]# yum install libreoffice-headless
[root@desktop ~]# yum install libreoffice-writer
[root@desktop ~]# ls -l
total 48
-rwxrwxrwx. 1 NotionCommotion NotionCommotion 48128 Jul 30 02:38 document_34.doc
[root@desktop ~]# HOME=/tmp/ayb; /usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc
convert /tmp/ayb/document_34.doc -> /tmp/ayb/document_34.pdf using writer_pdf_Export
[root@desktop ~]# rm d*.pdf
rm: remove regular file `document_34.pdf'? y
[root@desktop ~]# /usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc
convert /tmp/ayb/document_34.doc -> /tmp/ayb/document_34.pdf using writer_pdf_Export
[root@desktop ~]# rm d*.pdf
rm: remove regular file `document_34.pdf'? y
[root@desktop ~]# su NotionCommotion
sh-4.1$ HOME=/tmp/ayb; /usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc
sh-4.1$ rm d*.pdf
rm: cannot remove `d*.pdf': No such file or directory
sh-4.1$ /usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc
sh-4.1$ rm d*.pdf
rm: cannot remove `d*.pdf': No such file or directory
sh-4.1$ exit
exit
[root@desktop ~]# su NotionCommotion
sh-4.1$ /usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc
convert /tmp/ayb/document_34.doc -> /tmp/ayb/document_34.pdf using writer_pdf_Export
sh-4.1$ rm d*.pdf
sh-4.1$ HOME=/tmp/ayb; /usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc
sh-4.1$ rm d*.pdf
rm: cannot remove `d*.pdf': No such file or directory
sh-4.1$ /usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc
sh-4.1$ rm d*.pdf
rm: cannot remove `d*.pdf': No such file or directory
sh-4.1$

答案1

我真的不知道你在这里想做什么。

  • $HOME是您的用户的主目录,为什么要更改它来运行程序?

  • /tmp/ayb您明确告诉 libreoffice在似乎不是您当前目录的目录中创建 pdf 。然后,您尝试从当前目录中删除 pdf,当然,它不存在,因为您已告诉它将其放在 中/tmp/ayb

如果您不更改HOME用户或其他任何内容并仅运行,会发生什么情况:

$ libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc
$ ls /tmp/ayb/d*.pdf

相关内容