MacOS – safely run command-line apps in single-user mode

macosterminal

Obviously fsck is pretty safe to run in single-user mode. I'm using gtypist to learn touch typing and would like to be able to run it in single user mode so that I don't have to load the whole OS just for a command-line app.

When I first try running gtypist I got a segmentation error 11, which "means that the program accessed a memory location that was not assigned". On subsequent attempt get "HOME environment variable not set."

I thought maybe I need to use su to login in as a regular user, but my user account isn't listed in /etc/passwd. Should it be?

Is it even "safe" to run applications in single user mode? If so – would I create a new user? Create an environment variable in the root account? I don't even see HOME listed as a gtypist env variable so maybe it's not a gtypist variable at all.

On side note, just learned that rather than reboot into single user mode one can just open terminal and sudo shutdown now, after which OS X will "quietly and consistently shutdown to single-user mode." Sweet.

EDIT:
I think this question and the suggestion to use ">console" may be a more succinct way of addressing and answering my question.

Best Answer

The TL;DR: Yes, you can run command line tools in Single User Mode. But not all command line tools. That's not what Single User Mode is meant for.

I don't have to load the whole OS just for a command-line app.

Except, as you're discovering, you probably do.

Single user mode is meant for trouble shooting problems with the computer. It is the bare minimum needed for Darwin, the underlying Free BSD port that OS X is based on top of, to function. What you are placed in is a shell capable of running when things on the hardware are dire. It is a not a fully-functioning shell.

While it's "safe" to run applications in Single User Mode, in so much as you can't hurt things by running something like gtypist, it isn't recommended because it isn't an environment meant for running things other than emergency tools.

You should consider running a Terminal or iTerm2 window in full screen mode if you'd like a monitor that's 100% terminal and running gtypist from there. You're not gaining anything dropping OS X to single user mode, in fact you're losing a great many things and fighting battles that don't need to be fought.

You could use >console login, but if it's simply speed of access you're looking for, the hardware and software are designed to simply be put to sleep between uses, from which awakening is faster than rebooting into SUM anyway.