Sign up ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

When I start the then it launches an xterm automatically. I've long since switched from the "ordinary" xterm to rxvt-unicode so the initial xterm just hangs around like a wallflower never being used. Whilst it's not particularly bad, it spoils the look of the place so I'd like to stop it launching. How do I do it?

share|improve this question

2 Answers 2

up vote 10 down vote accepted
defaults write org.macosforge.xquartz.X11 app_to_run /usr/bin/true

in a Terminal. However, note that there really shouldn't be necessary to every start (or; see the comments) manually. It will start automatically when you run an X11 client, and then it will not start its defaults startup application.

share|improve this answer
Uh, sorry, I hadn't noticed that you use Don't do that. Use XQuartz for all your X11 needs on the mac. That said, I think has the same defaults setting, but I don't remember the name of the preferences file. Look for it in Library/Preferences/. –  Harald Hanche-Olsen Jun 14 '12 at 18:44
Last time I used Mac OS X then XQuartz wasn't around so I hadn't heard of that - any other things like that I should know about? For X11 it's org.x.X11, and I set the value to '' which seemed to work as well as /usr/bin/true. –  Loop Space Jun 14 '12 at 18:48
Hmm. No, I can't think of anything other than X11/XQuartz with that particular peculiarity. Though I remain forever confused about whether I should get my Java updates from Apple or Oracle these days. –  Harald Hanche-Olsen Jun 14 '12 at 18:52
if you use fink, packages are not built for Xquartz on 10.6. so your suggestion is invalid, harald. –  Wyatt8740 Apr 25 at 21:03
@Wyatt8740 I'll take your word for it. I don't have any suggestions for what to do in that case. If you do find out, feel free to add your own answer or comment. (Or if you need the answer but don't know how, ask a new question.) –  Harald Hanche-Olsen Apr 26 at 13:37

Since I'm not at my OSX computer right now, I'll give you the fail-proof answer for this. 'true' does nothing and exits successfully, so I set that to run at startup.

Apple's old X11:
defaults write org.x.X11 app_to_run $(which true)

and for XQuartz:
defaults write org.macosforge.xquartz.X11 app_to_run $(which true)

and for MacPorts
defaults write org.macports.X11 app_to_run $(which true)

In case you are wondering, $(which true) will make a line read, for example,
defaults write org.x.X11 app_to_run /bin/true.
I write it as $(which true) because I am not at my mac and do not remember if it is in /bin/true or some other location.

I have additionally read that you can set these to '' (that's two single quotes, so nothing at all), and it will do the same thing. I have not tried it, though.


(edited because I forgot the all important 'app_to_run' in my examples)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.