====== Conditionally setting the DISPLAY variable ====== In OS X, if you want to use X11 programs from the Terminal, you have to set the environment variable DISPLAY as follows: export DISPLAY=:0.0 You can either put this line in your ''~/.bashrc'' or ''~/.profile'' file, such that the variable is always set. This is useful if you have X11 configured to be started automatically with OS X. On the other hand, if you only sporadically use ''X11'', the above solution might become a nuisance, especially with programs that try to access an X server, even if they don't actually put any output there (such as Vim). In that case, you can set the variable manually each time you use a program that needs ''X11''. In the following we show a third, more elegant solution. It is a short script that detects whether X11 is running, and only then sets the variable. Put the following code in your ''~/.bashrc'' or ''~/.profile'' file: PSOUT=`ps auxw | grep '/Applications/Utilities/X11.app/Contents/MacOS/X11' | grep -v grep` if [ -n "$PSOUT" ]; then # X11 is running export DISPLAY=":0.0" fi This code checks the list of running processes for an instance of ''X11'' by grepping the output of ''ps'', and only sets the variable if the result is a non-zero-length string.