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,
Оба из них могут быть правдой одновременно.