This discussion is locked
elgrego

Q: 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:35 PM

Close

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

  • All replies
  • Helpful answers

Previous Page 2
  • by orangekay,

    orangekay orangekay Sep 10, 2008 3:39 PM in response to elgrego
    Level 5 (4,085 points)
    Sep 10, 2008 3:39 PM in response to elgrego
    I have no idea what's regenerating the entries in the file.
  • by elgrego,

    elgrego elgrego Sep 10, 2008 4:18 PM in response to elgrego
    Level 1 (10 points)
    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!
  • by orangekay,

    orangekay orangekay Sep 10, 2008 4:24 PM in response to elgrego
    Level 5 (4,085 points)
    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.
  • by elgrego,

    elgrego elgrego Sep 10, 2008 4:39 PM in response to orangekay
    Level 1 (10 points)
    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.
  • by G. L. Gray,

    G. L. Gray G. L. Gray Oct 8, 2008 7:20 AM in response to elgrego
    Level 1 (60 points)
    Mac OS X
    Oct 8, 2008 7:20 AM in response to elgrego
    Thank you for posting your experience related to removing those Brother processes. I was looking for how to exactly what you wanted to do and your postings were invaluable, especially the summary at the end.

    Again, thank you!
Previous Page 2