Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What the heck is Apple_Ubiquity_Message?

OSX 10.8.4

> printenv
...
Apple_Ubiquity_Message=/tmp/launch-YzDhDA/Apple_Ubiquity_Message
...
> ls -al /tmp/launch-YzDhDA/Apple_Ubiquity_Message
srw-rw-rw-  1 user  wheel  0 Jul 25 10:01 /tmp/launch-YzDhDA/Apple_Ubiquity_Message

StackOverflow wants me to add some sentences with proper grammar. I tried to cat that file, but it does not emit anything as far as I can tell.

like image 405
Johannes Ernst Avatar asked Aug 12 '13 22:08

Johannes Ernst


1 Answers

It's part of Apple's ubiquity system (more commonly known as iCloud). Programs that support iCloud can use it to communicate with the ubiquity daemon (ubd), and it's defined in your environment so programs that use iCloud can find & use it.

More technically: the file /System/Library/LaunchAgents/com.apple.ubd.plist tells your user instance of launchd to create that socket file, and then put a reference to it in the environment of all processes launchd creates under the name Apple_Ubiquity_Message. launchd doesn't actually start ubd until something connects to & uses that socket. I'm not particularly familiar with the iCloud APIs, but I don't think app developers access it directly; instead they use iCloud APIs and those use Apple_Ubiquity_Message behind the scenes.

Net result: you can ignore it, unless you're interested in the details of how iCloud works.

UPDATE: Apple apparently changed the way this works in Mavericks -- ubd is still there, but Apple_Ubiquity_Message (and the socket it pointed to) are not. I'm not sure what the new method to communicate with ubd is (maybe Mach messages?), but any program that uses the iCloud APIs should just continue to work.

like image 126
Gordon Davisson Avatar answered Sep 25 '22 17:09

Gordon Davisson