1

Я установил 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 ответ1

1

Я действительно понятия не имею, что вы пытаетесь сделать здесь.

  • $HOME - домашний каталог вашего пользователя, почему вы измените его для запуска программы?

  • Вы явно указываете libreoffice создать pdf в каталоге /tmp/ayb который, по-видимому, не является вашим текущим каталогом. Затем вы пытаетесь удалить pdf из вашего текущего каталога, и, конечно, он не существует, потому что вы сказали ему поместить его в /tmp/ayb .

Что произойдет, если вы не измените HOME или своего пользователя или что-то еще и просто запустите:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .