I run into some really interesting problems. Here’s a problem I hadn’t seen before– and how I solved it.
I got a call from someone with an iMac whose Finder didn’t Work. The Mac started up fine, and the user could sign into her account, but the Desktop files were missing and no menu bar appeared. The machine was running– the mouse worked, the screen was lit up, the Dock was present– but I couldn’t get to the Desktop to open a file, and I couldn’t choose anything from the menus, because there were no menus. Interestingly, if I hit Command-Tab, I could see the Finder had launched– it just didn’t work. Relaunching it from the Dock didn’t work either.
The owner of the Mac had been trying to solve this problem for a week before calling me. I was able to solve the problem, and the solution and the process was so interesting that I thought I’d write it up. So here it is. Here’s how I rescued this Mac.
The steps I took are important, but what I was thinking at each step is even more important. Read on and see how a pro approaches such problems.
The first thing to do was figure out what was wrong. A lot of time, the actual “fix” is easy; it’s figuring out which fix to apply that takes time. Mac problems generally fall into three categories– hardware, system (OS), and user files– so Job 1 was to figure out which category I was dealing with.
I ruled out “Hardware Problem” because the Mac did start, and it didn’t do anything weird other than not show the Finder. I suspected a bad System and was tempted to reinstall it, but first I wanted to be sure that I was dealing with a System Problem and not a User Folder problem. The way you do that is you log into some other user, and if the problem is there too, you lean toward “System Problem.” If the problem goes away when you sign into another user, you lean toward “User Folder Problem.”
The trouble with signing into another user account is you have to have another user account to sign into! In this case, there was only one user on the Mac, so I was going to have to make another one. Without a menu bar and without a functioning Finder, this was not going to be easy. I couldn’t go to the Apple Menu and slide down to System Preferences because the Apple Menu (and the rest of the menu bar) didn’t even show. You can’t select what isn’t there.
This is where intuition, luck, and 30 years of working with Macs paid off. I knew that the Apple Menu, along with the rest of the menu bar, “belonged” to the frontmost application, in this case the Finder, which didn’t work. Maybe if I launched some other app I’d get a menu bar, and therefore an Apple menu, and therefore a way to get to System Preferences. I clicked on the Calculator in the Dock and it launched… and lo and behold, there was the menu bar, complete with Apple Menu. If I quit the Calculator the menu bar went away (because I was using the Finder then). With the Calculator up, I was able to go to the Apple Menu, then to System Preferences, then to Users & Groups to create a new User.
(Yes it helped to have the Mac’s owner there, because I needed her to unlock the Users & Groups preference pane by clicking the lock.)
When making a user for testing purposes I generally intend to delete it when I’m done. Thus, I usually choose the name “Temp” with a password of “temp” and I write that password down in the Password Hint box just in case. I also make this temporary user an Administrator, because it makes it easier in case I need to install something, or make some other change. In case you don’t know, you make a new user by clicking the “+” at lower left of the Users & Groups preference pane.
Now that I had a new user, I needed to log into it to see whether the Finder would work for that user or not. There are various ways to log into a user:
- Apple Menu/Log Out (username), which leads to a login screen where I could choose a user
- Use the Fast Switching menu up by the clock to choose a user
I chose Option 2 because it was convenient. Option 1 would have been just as good.
Logging into a new user for the first time takes awhile. People sometimes think the machine is stuck because it takes so long, and they reach for the power button to turn the Mac off. Don’t do that– it’s always slow the first time, because all of the files that a user needs are created the first time you sign in. The Mac had to build folders (Desktop, Documents, Downloads, Library, Movies, Music, Pictures, among others), a ton of preference files (stored in the Library), and a bunch of other stuff.
After a few minutes the Mac was booted up in the Temp user account and everything worked just fine, including the Finder. This told me that the system itself was fine– the problem was isolated to the original User folder. This meant that reinstalling the system was not necessary.
So now I knew the problem with the Mac resided in the User folder for the original user. There are thousands of files in a User folder, and at least one of them was making the Finder run improperly. How was I supposed to figure out which file (or files) it was? This time, it wasn’t intuition or luck that helped me– this one was all experience.
Standard trouble-shooting for an app that doesn’t work properly is to be suspicious of the app’s preferences file. Most apps store their preferences files in the Preferences folder, which is inside the Library folder, which is inside the User’s Home folder. So I suspected the Finder’s preference file– I thought it might be corrupt. I knew that removing the Finder’s preference file would cause the Mac to automatically make a new preference file with default settings, so my job was to find and remove the preference file for the Finder, in the User account that wasn’t working.
Sounds easy, except for three hurdles. First, the preferences were in the original user’s Library folder, which I couldn’t open when signed into the original user because the original user’s Finder doesn’t work. Second, although the “temp” user’s Finder did work, I couldn’t open certain folders belonging to the other user (see picture– the folders I couldn’t open have a little red circle with a slash). Most important hurdle: the Library folder wasn’t even showing!
In case you didn’t know, Apple hid the user Library folder a few systems back. It’s still there, in the Home folder, but they made it invisible. The reason? The user Library folder (often denoted as “~/Library” to show it’s the Library inside the Home directory, and not the Library at the top level of the disk, nor the Library inside the System folder) is incredibly important and Apple doesn’t want people getting into it and messing things up. You might know there’s a trick to showing it– hold the Option key while going to the Go menu in the Finder– but when you do the trick, it only shows the Library for the user you’re logged into. Which means I couldn’t use the Option key trick to show the original user’s Library if I was logged into some other user. And besides, even if I could, it would be locked.
My problem boiled down to this: how could I access files in the original user’s Library, when the original user’s Finder didn’t work? The answer: use the “root” (or System Administrator) user. The root user can do anything he wants to any file on the computer, whether the file “belongs” to him or not. The root user was my ticket.
Apple provides an article about the root user here. Apple’s article explains what root is, how to enable root, and cautions you that working as the root user gives you enough power to disable the whole machine. Be careful
So… while logged into the Temp user, I enabled root. Then, I logged out of the Temp user, leaving me at the login screen.
Notice that the “root” user is not explicitly shown as a login option. You have to click “Other…” and then put in the “root” username and the root password (you get to choose the password when you enable root).
Once logged in as root, I could open the Users folder, then open the original user’s folder, then his Home folder. But guess what– the Library was still invisible! I had to make invisible files visible. The way I do it is with an app called “Cocktail.”
Cocktail isn’t free. You can launch it ten times for free without paying for it, so you can try it out for free. I paid for Cocktail a long time ago, but if I hadn’t, this would have been a great test.
Cocktail has a lot of capabilities but the one I needed was in the Interface section. I checked the box for “Show invisible items.” I had to click the button to relaunch the Finder too, as shown in the picture.
Finally, I could find the Users folder, and in there I could find the user I was trying to fix, and in there I could see his Library. It looked like this:
I opened up the Library folder and found the Preferences folder. I opened that up and found the Finder preferences, which I thought was corrupt. It was called com.apple.Finder.plist.
(See those other zero KB files, with variations of the name com.apple.Finder.plist? Those are suspicious too. Any file that is zero KB is probably garbage. I tossed those too.)
Finally, I was done, or almost. I went back to Cocktail and hid the invisible items again. I logged out of the root user and restarted the machine. When it came back up, I clicked on the “problem” user, and signed in, and… everything worked. Mission accomplished.
Here’s another interesting story— this one about an iPhone that couldn’t send or receive email unless it had a WiFi connection.