convert.im6: Невозможно открыть изображение `xxx': В доступе отказано @ error/blob.c/OpenBlob/2638

Я только что попытался преобразовать несколько разных изображений в PDF-файл с помощью команды convert в терминале, но когда я это сделал, он вернул:

convert.im6: Unable to open image 'xxx.pdf': Permission denied @ error/blob.c/OpenBlob/2638

где "xxx.pdf" представляет имя моего выходного файла PDF. Конечно, если я сделаю это как root - то есть sudo convert - операция проходит без сучка и задоринки. Итак, мой вопрос, так как я знаю, что некоторые из вас, возможно, скажут, что я идиот, который не думает о sudo действовать, это: почему convert команда доступна только для root, а не для обычных пользователей? И есть ли способ, которым я могу это изменить?

1 ответ

Ваше предложение неверно. Преобразование доступно для всех пользователей.

Если вы конвертируете в PDF и видите Unable to open image 'xxx.pdf', программа пыталась открыть xxx.pdf для записи и был отвергнут ядром, потому что текущий пользователь не может записать в этот файл. Есть несколько причин:

  • Электрический ток $USER не могу написать в текущий каталог. Пытаться touch testfile и если это не удается, посмотрите на разрешения каталога с stat ., Чтобы исправить это, либо перейдите в каталог, в который вы можете писать, измените права доступа к каталогу, чтобы разрешить $USER писать, или измените вашего пользователя (например, добавьте его в нужную группу), чтобы позволить ему писать.

    Вдобавок к этому есть различные варианты ACL, но, скорее всего, вы находитесь в корневом каталоге, и в этом случае просто перейдите в другое место.

  • Там уже есть файл с именем xxx.pdf и это принадлежит кому-то еще и $USER не имеет разрешения на запись. Или sudo chown $USER: xxx.pdf (: не опечатка), удалите его и создайте новую версию из вашего $USER,

Оба из них могут быть правдой одновременно.

Другие вопросы по тегам