Поскольку Snow Leopard cups
работает в песочнице, что предотвращает его неправильное поведение - например, доступ к дому пользователя. В зависимости от вашей версии OS X вы можете выбрать другой каталог, а не домашний каталог пользователя. На Льве это даже более ограничительно, чем это. Правила песочницы встроены в бинарный файл cups (в отличие от сценариев sb), поэтому вам повезет, если вы замените чашки на версию, которая специально разрешает доступ к тому, что вам нужно в песочнице (если вы действительно хотите туда попасть, правила определены cupsdCreateProfile
в cups/scheduler/process.c
). AFAICT, вы ничего не можете сделать в своем приложении, потому что песочница предназначена для того, чтобы предотвратить именно то, что вы пытаетесь сделать.
Другая альтернатива - не запускать cups от имени root, поскольку песочница используется только тогда, когда cups запускается от имени root.