Single-user mode

I have noticed in the "stats" for my blog that some people got here looking for a way to run Mac OS X WITHOUT a GUI. I take it to mean that they would like to go "bare bones" and tap the FreeBSD underpinnings for maximum power. I go this route because I wanted to do something like that way back in the 10.2 days. I wanted to do away with Aqua and go the X11 way or something like that.

Well, while you can go to the so-called single-user mode (a mode where Mac won't load the GUI and will drop you in a terminal as root) there is not much you can do once there. Apple even provides the instructions here:

OS X Lion: Start up in single-user mode

However, it is a terminal with a lot of limitations: 

You are not logged as a user, you are logged as root.
You cannot log as any other user.
No internet access.
No X11.

And so on. So, I think that there are few reasons why to go into single-user mode. Now, it is possible to start some of Mac OS X services to give you terminal more power (as described here) but I am not sure what would be the gain of going that way. Top of my head, maybe you want to get every ounce of CPU power doing away with the GUI. In this case, I would recommend you to stay in the GUI without logging in and connect remotely via SSH. That is what I usually do with my "heavy-duty machines", just ssh, work and no GUI logging in.

Your milage may vary.

PS. Please comment where appropriate.

Comments

Anonymous said…
Single-user mode is meant for debugging when things have gone really bad on your computer. This is why it only gives you a command-line and doesn't launch any of the built-in daemons. It can also make it inconvenient if you want to do something which relies on those daemons.

If you want no graphics, just a command-line, but otherwise the same as a normal OS X session, you can use the little-known console. At least in 10.6, you can go to System Preferences > Accounts > Login Options and set "Display login window as:" to "Name and password". Then log out enter the user name ">console" (no quotes, but with the greater than symbol). A console will appear which will give you a chance to enter your username and password to get a command-line shell.

Popular Posts