Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

how does Brother LOGINserver, etc. auto-load at login?

I want to find out how Brother's LOGINserver, NETserver, and USBserver are launching automatically whenever a user logs in (so as to stop them). I have seen other solutions on the forums which involve deleting those applications, but that's a Mickey Mouse solution to me. I want to know how to fix it by undoing whatever was done to make them start up automatically in the first place. I'm picky, I know. Really, though, I'd like to know how to do it just to know more about how the whole system works.

A new set of the processes launches with each user login - it's not that there's one set for the whole system.

I tried looking in Login Items in System Preferences, as well as cron, /Library/StartupItems, and launchdb, but I couldn't find anything relevant (and with launchdb I just got lost). I even tried looking through the shell scripts in the installer, but I couldn't decipher them enough to figure it out.

I have been trying to get the answer from Brother's support people, but they've been useless. Their latest communication to me insists that those apps are a part of OS X and that I'd have to ask Apple. (Never mind the fact that the software has the "Brother" logo all over it.) Whether older versions of them are included in OS X or not, I don't know, but I do know that they didn't used to start up automatically. That only started happening after I used Brother's installer, so it has to be something that the Brother installer changed. (I have an 8660DN, which is why I used the installer in the first place.)

Any gurus out there who can tell me how I might find out what is launching these things automatically?

PowerBook G3 (Pismo 400), Mac Mini 1.33 GHz, Mac OS X (10.5.4)

Posted on Aug 30, 2008 2:32 PM

Reply
19 replies

Sep 10, 2008 4:18 PM in response to elgrego

Ok. That's it.

It would seem that LOGINserver has the same ability to re-add itself to the auto-launch list as does LoginItem. Because it was in two locations (loginwindow.plist and com.apple.loginitems.plist), getting rid of one wasn't enough: when loginwindow started up LOGINserver, LOGINserver re-added itself to com.apple.loginitems.plist.

However, just out of curiosity, I re-added those files to /Library/Preferences/ and rebooted. As expected, all the unwanted processes ran automatically. I then executed "./Library/Receipts/BrotherTWAIN.pkg/Contents/Resources/LoginItem global print", which showed this:

Index: 0
Full path to App: /Library/Printers/Brother/Utilities/Server/LOGINserver.app
Hide on launch: No
Executable Name: LOGINserver.app


So I executed "./Library/Receipts/BrotherTWAIN.pkg/Contents/Resources/LoginItem global remove-by-index 0"

I then re-executed "./Library/Receipts/BrotherTWAIN.pkg/Contents/Resources/LoginItem global print", which gave me:

There are no login items.


However: going to /Library/Preferences/ and double-clicking both loginwindow.plist and com.apple.loginitems.plist showed that LOGINserver had been removed from loginwindow.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>AutoLaunchedApplicationDictionary</key>
<array/>
</dict>
</plist>


but NOT from com.apple.loginitems.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>privilegedlist</key>
<dict>
<key>Controller</key>
<string>CustomListItems</string>
<key>CustomListItems</key>
<array>
<dict>
<key>Alias</key>
<data>
AAAAAADaAAMAAQAAw2T2IQAASCsAAAAAACXlsQAl5bIA
AMKJeHIAAAAACSD//gAAAAAAAAAA/////wABABQAJeWx
AAKrAwACpusAAGHfAAAAHAAOACAADwBMAE8ARwBJAE4A
cwBlAHIAdgBlAHIALgBhAHAAcAAPABgACwBNAGEAYwAg
AG0AaQBuAGkAIABIAEQAEgA5TGlicmFyeS9QcmludGVy
cy9Ccm90aGVyL1V0aWxpdGllcy9TZXJ2ZXIvTE9HSU5z
ZXJ2ZXIuYXBwAAATAAEvAP//AAA=
</data>
<key>CustomItemProperties</key>
<dict>
<key>com.apple.loginitem.legacyprefs</key>
<dict>
<key>Hide</key>
<false/>
<key>Path</key>
<string>/Library/Printers/Brother/Utilities/Server/LOGINserver.app</string>
</dict>
</dict>
<key>Icon</key>
<data>
SW1nUgAAABwAAAAAU1lTTAAAABAAAAAAQVBQTA==
</data>
<key>Name</key>
<string>LOGINserver</string>
</dict>
</array>
</dict>
</dict>
</plist>


Seemingly, using Brother's own utility to remove what they added does not do the trick (which, given how Brother implemented this, and how ridiculously difficult this has been to diagnose, I'm not terribly surprised).

*_So, for those who just want the bottom line, here it is_*: to stop Brother's LOGINserver, USBserver, and NETserver from starting up automatically, delete the following files:

/Library/Preferences/loginwindow.plist

/Library/Preferences/com.apple.loginitems.plist

That's it.

If you want to get fancy, you can use Property List Editor to delete those specific dictionaries from the plist file, but just deleting those files should do the trick.



Thank you, orangekay, for all your help. This has been driving me nuts. Like a bad puzzle or something.

Yay!

Sep 10, 2008 4:24 PM in response to elgrego

I'd say it was truly an amazing piece of engineering were it not for the likelihood that it was borne out of simple outsourced incompetence. I'm not sure whether or not I'll be able to teach the script how to reliably scan for anything that bizarre or not, but it's good to know this thing is out there as I'm sure I'll run into it again someday.

Sep 10, 2008 4:39 PM in response to orangekay

Actually, I just realized that I forgot to mention something. Earlier, I had mentioned that the items were listed in the launchd list. Those entries probably should be removed as well, just to be sure. (They no longer show up in my list.)

Here's how to remove them:

Type "launchctl list" in the Terminal (no quotes), which should show you entries for:

.ControlCenter
\[0x0-0x96096].com.brother.utility.USBserver
\[0x0-0x97097].com.brother.utility.NETserver
\[0x0-0x92092].com.brother.LOGINserver

in the list of items which launchd controls. Then numbers between the brackets may be different on other systems.

Type the following commands in a new Terminal window (again, substituting the numbers between the brackets as they appear on your system):

launchctl

remove .ControlCenter
remove \[0x0-0x97097].com.brother.utility.NETserver
remove \[0x0-0x96096].com.brother.utility.USBserver
remove \[0x0-0x92092].com.brother.LOGINserver

exit

logout


That, combined with removing those two .plist files, should do the trick. Then never, ever, ever launch LOGINserver again. 🙂

how does Brother LOGINserver, etc. auto-load at login?

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.