I've built multiple VMs with Vagrant (CentOS, ArchLinux, Debian), all exhibit the same problem:

When I ssh onto the VM,

0;vagrant@archlinux: ~vagrant@archlinux:~$ echo $DISPLAY

0;vagrant@archlinux: ~vagrant@archlinux:~$ 

I've tried troubleshooting as explained here: http://www.xquartz.org/Support.html, but that didn't help.

I'm running El Capitan 10.11.3, XQuartz 2.7.8.

All I'm trying to do is to run vagrant ssh -c 'xclock' and have a window show up on my host OS.

  • I'm not an expert by any means, but just off the top of my head, is $DISPLAY being set locally by XQuartz/launchd (does 'echo $DISPLAY' print anything locally)? When you ssh, are you including '-Y' as a command line option? If you just installed XQuartz, you need to logout/login for $DISPLAY to be set, maybe try restarting. Also, as the FAQ states, X11Forwarding has to be enabled on the remote. Maybe step through the FAQ again just to make sure...
    – mtklr
    Mar 19, 2016 at 14:02
  • Yeap, I've tried all the above. $DISPLAY shows a value locally. I'm using config.ssh.enable_x11_forwarding = true to get a behavior similar to ssh -Y. Mar 20, 2016 at 17:13

1 Answer 1


I had this same issue but realized I never restarted OS X after installing XQuartz. Once I rebooted, XQuartz was correctly detected and X11 forwarding worked.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .