我正在寻找有关在同一台 Mac 上在两个用户之间共享 iPhoto 图库的最佳方法的建议。
我目前使用这方法,大多数情况下都运行良好。我遇到的一个问题是,在同步我的 iPod 时会出现权限错误。如果其他用户使用了 iPhoto,而我在同步 iPod 之前没有打开 iPhoto,则似乎会发生这种情况。如果我打开 iPhoto 然后再次同步 iPod,则不会出现错误。
其他人如何解决这个问题?
答案1
答案2
Apple 的方法要求您通过已安装的驱动器映像进行共享。还有另一种方法。这里的关键问题是,对于用户之间的共享,iPhoto 创建的默认文件权限不允许同一台计算机上的多个用户共享一个库。
您可以使用 launchd 机制创建一个用户代理,用于监视 iPhoto 图库的存储位置并对文件权限进行适当的更改。请执行以下操作:
- 确定合适的共享目录。我使用
/Users/Shared/Pictures/iPhotoLib
。 - 将您的 iPhoto 图库存储在那里。
local.user.makePhotosReadable.plist
创建一个名为的文本文件/Library/LaunchAgents/
。- 使用以下数据填充文件。其中一些键可能已过时。您可以使用来查看系统的最新文档,
man launchd.plist
以了解这些命令的含义:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Disabled</key> <false/> <key>Label</key> <string>local.user.makePhotosReadable</string> <key>ProgramArguments</key> <array> <string>/Library/Scripts/local.user/makePhotosReadable.sh</string> </array> <key>WatchPaths</key> <array> <string>/Users/Shared/Pictures/iPhotoLib</string> </array> <key>RunAtLoad</key> <true/> <key>onDemand</key> <true/> </dict> </plist>
makePhotosReadable.sh
在目录中创建一个名为 的文件/Library/Scripts/local.user/
。- 填写以下内容:
#!/bin/bash chmod -R ug+rw /Users/Shared/Pictures/iPhotoLib exit 0
所有创建的文件都应由 root 创建,并且该makePhotosReadable.sh
文件应可由 root 和组执行。
这些说明不适合新手;它们适合熟悉终端和命令行交互的用户。我已尝试尽可能清晰地说明,但您的理解可能有所不同。