Let Front Row Access Other User’s iTunes Account on the Same Computer
I wanted to set up my main iMac in a central location to replace an aging “half basketball” iMac that’s used for playing kid cartoons and music. I would like for this computer to play all the content in my iTunes library, but I do not want my account wide open for (little) people to muck about in.
Fast User Switching to the rescue! Kind of. If I leave iTunes running in my account and switch to the Kids account, their iTunes can see my shared library; that’s a good start. I want Front Row to be able to see that item under “Sources,” but it does not.
People seem to appreciate my post about Streaming iTunes over SSH, and it turns out that the trick there helps us solve the Front Row problem as well. Running a single dns-sd command takes care of the problem (all one line):
dns-sd -P "Local iTunes" _daap._tcp local 3689 localhost.local. 127.0.0.1 "Arbitrary"
How you run that is up to you. If you want to always, and sometimes falsely, advertise that you have an iTunes library shared, you can make this command run permanently with launchd. One way to do this is to create a file in ~/Library/LaunchAgents called something like net.iharder.shareitunes.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>KeepAlive</key> <true/> <key>Label</key> <string>net.iharder.shareitunes</string> <key>ProgramArguments</key> <array> <string>dns-sd</string> <string>-P</string> <string>Local iTunes</string> <string>_daap._tcp</string> <string>local</string> <string>3689</string> <string>localhost.local.</string> <string>127.0.0.1</string> <string>Arbitrary Text Record</string> </array> </dict> </plist>
You can log out and log back in to kick start this, or you can get it started from the command line:
launchctl load ~/Library/LaunchAgents/net.iharder.shareitunes.plist