如何禁用OS X上的Adobe Core Sync应用程序自动启动?


52

我注意到,在安装了Adobe Creative Cloud(CC)的OS X 10.11.4(15E65)计算机上启动时,许多Adobe进程在后台运行。

为了摆脱这个,我删除了所有与"*adobe*"从所使用的目录中的文件名launchd,它们是:~/Library/LaunchAgents/Library/LaunchAgents/Library/LaunchDaemons/System/Library/LaunchAgents/System/Library/LaunchDaemons

手动浏览这些目录只是为了知道什么是-或可以配置为-在您的计算机上自动启动,这不是一个坏主意。

但是,使用这种方法,我摆脱了所有Adobe进程,但删除了一个带有进程名的进程Core Sync Helper。进程的UID是我,而不是root。

使用OS X活动监视器获取有关此进程的更多信息,它告诉我们其父进程为launchd。该过程的路径为:

"/Applications/Utilities/Adobe Creative Cloud/CoreSync/Core Sync.app/Contents/PlugIns/ACCFinderSync.appex/Contents/MacOS/ACCFinderSync"

Adobe如何使此过程自动启动?

以及如何阻止它自动启动?

更新:

根据YoshiBotX的回答,我launchctl list与App launchControl一起使用,以找到启动的服务Core Sync Helper。要做到这一点,我搜索与服务adobeaccfcore*sync在其名称。不幸的是,没有这样的服务带有明显的名字。系统上的所有服务均com.apple....来自第三方应用程序,或来自与Adobe没有任何关系的第三方应用程序。

此外,launchctl list列出每个标签的PID。但是,运行ACCFinderSync过程的PID 根本没有列出。但是,如前所述,它的父进程仍然是launchd这样,所以我想知道这是怎么回事。

更新2:

使用launchctl,我能够使用其PID收集有关该服务的更多信息(省略标记为的行...):

macy:~ jens$ sudo launchctl procinfo 352
...
com.adobe.accmac.ACCFinderSync = {
...
com.adobe.accmac.ACCFinderSync.apple-extension-service
...
com.adobe.accmac.explinder
...
ACCFinderSync
...

但是这些不是我可以使用launchctl删除的服务。

更新3:

根据chiggsy的回答,我能够找到该服务的更多痕迹(省略了标记为的行...):

$ sudo launchctl print gui
    com.apple.xpc.launchd.user.domain.501.100008.Aqua = {
    ...
        unmanaged processes = {
    ...
            com.apple.xpc.launchd.unmanaged.ACCFinderSync.352 = {
                active count = 5
                dynamic endpoints = {
                    "ACCFinderInnerExtensionHost2" = {
                        port = 0x59a8f
                        active = 1
                        managed = 0
                        reset = 0
                        hide = 0
    ...
        externally-hosted endpoints = {
             0x59a8f    U   A   ACCFinderInnerExtensionHost2
    ...

$ sudo launchctl print user
    com.apple.xpc.launchd.domain.user.501 = {
    ...
        endpoints = {
    ...
             0x59a8f    U   A   ACCFinderInnerExtensionHost2
    ...

$ sudo launchctl print system
    com.apple.xpc.launchd.domain.system = {
    ...
        subdomains = {
    ...
            com.apple.xpc.launchd.domain.pid.ACCFinderSync.352
    ...

但这仍然没有帮助我禁用它。

更新4:

基尔钉牢了!

Answers:


94

这是Finder同步扩展程序。

要停止该过程:

  1. 禁用系统偏好设置中的复选框
  2. 注销并重新登录(如果您有多个用户登录到Mac,则重新启动)

在OS X中,Finder Sync扩展点使您可以干净安全地修改Finder的用户界面,以表达文件同步状态和控制。与大多数扩展点不同,Finder Sync不会向主机应用程序添加功能。相反,它使您可以修改Finder本身的行为。

扩展程序是应用程序的一部分,能够与操作系统的某些核心组件集成。Finder Sync扩展尤其通过同步状态标记使与Finder的紧密集成成为可能,并允许将按钮添加到工具栏,侧栏和右键单击菜单中。

OS X会保留您计算机上所有已知应用程序的数据库,其中还包括所有扩展名(.appex捆绑包)。Finder启动时,它将在该数据库中查询Finder同步扩展并启动它们。出于安全原因,每个扩展都存在于其自己的进程中。

幸运的是,您可以从System PreferencesExtensions窗格(灰色拼图图标)轻松禁用此功能-只需取消选中有问题的应用程序名称下的Finder。

扩展程序首选项


6
太简单?facepalm
Jens Wirth's

1
我也在绞尽脑汁寻找这个。尽管LaunchControl(是GUI的前端launctl)是最好的界面,但是它是管理这些东西的最佳界面之一。但是,它不处理这些类型的扩展。再次感谢!
房地美(Freddie)

@Freddie-我爱你!
SpaceDog

是否有命令行方式禁用Finder扩展(或至少是特定的Finder Sync扩展)?
studgeek

4

launchctl 在10.11.4中有所改善

键入不带参数的命令以获取帮助。您会看到要搜索的新域和新命令。

launchctl print system     #prints the system domain (root)

launchctl print system/com.system.service     #prints details about a service in roots domain.

对于您的流程:如果不在系统域中,则可能在您的用户中:

launchctl print user/(your uid)/
launchctl print user/(your uid)/com.user.agent

但是,由于您将登录到gui:

launchctl print gui/(your uid)/
launchctl print gui/(your uid)/org.adobe.NSAmonitor # or whatever they call what you are looking for

Gui域用于具有UI / Agent的事物

守护程序的用户域。

系统守护程序的系统域。

还有更多,但是我发现user和gui非常好。

OSX更高版本的诀窍是检查手册页,然后运行工具帮助。如果正在运行,则可以使用launchctl找到它。

man launchctl
launchctl -h

祝好运。


3

另一个猜测是要办理入住手续/Library/StartupItems

但是launchctl不需要您的service.plist位于这些目录之一中。
实际上,您甚至不需要一个文件(如launchctl commit中所示)
因此,只要您向进行注册launchctl load|submit,它将一直保持运行/启动状态。

我认为最好的方法是直接使用launchctl或通过使用LaunchControl之类的应用程序禁用该工具


好提示!不幸的是,该进程似乎没有任何相应的launchctl服务。我用有关此问题的详细信息更新了我的问题。我说对了吗?
詹斯·沃斯

@JensWirth,到目前为止很好。您是否尝试过查看“ sudo launchctl list”?这样我可以获得更多服务吗?
rwenz3l 2016年

1

问题是,在过去的几年中,苹果公司引入了其他自动启动项目的方法,而不是像在启动文件夹和守护程序中那样在特定的文件夹中放置文件夹。xpc服务,smloginitems不在这些地方,但已在launchctl数据库中注册(可以通过看到launchctl list),但是此特定的adobe插件显然在启动时已加载,但launchctl并未列出。您可以通过使用launchchtl print user/501而不是通过看到一些信息launchctl list。那么ACCFinderSync到底是什么?为什么不显示呢?漏洞发射系统是一种分散的atm,要观察所有形式的启动项目非常复杂。这里最大的问题是:什么是应用程序扩展(appex),以及如何通过launchctl在命令行级别检测到它们(并禁用它们)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.