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